aaaa
https://www.rabobank.nl/particulieren/beleggen/is-beleggen-iets-voor-mij
AFM-conforme Profielbepaler
1. Wat is uw belangrijkste reden om te beleggen?
Zekerheid Pensioen Vermogensgroei Maximaal rendement2. Hoe reageert u op een verlies van 15% op uw beleggingen?
Ik verkoop alles Ik wacht af Ik koop juist bij3. Hoe belangrijk is zekerheid voor u?
Zeer belangrijk Belangrijk Neutraal Niet belangrijk4. Wat verwacht u gemiddeld aan rendement?
<2% 2–5% 5–8% >8%5. Wat is uw netto maandinkomen?
< €2.000 €2.000–3.000 €3.000–5.000 > €5.0006. Wat zijn uw vaste lasten per maand?
> €2.000 €1.000–2.000 < €1.0007. Hoe groot is uw financiële buffer?
Geen Minder dan 3 maanden 3–6 maanden Meer dan 6 maanden8. Welk percentage van uw vermogen wilt u beleggen?
Minder dan 10% 10–25% 25–50% Meer dan 50%9. Heeft u eerder belegd?
Nee Beperkt Gemiddeld Uitgebreid10. Begrijpt u financiële begrippen?
Nee Beperkt Goed Zeer goed11. Wat is uw beleggingshorizon?
Korter dan 1 jaar 1–3 jaar 3–5 jaar Langer dan 5 jaar
// Check 1: Lage zekerheid vs hoog rendement
if (zekerheid <= 2 && rendement >= 4) {
alert("⚠️ Inconsistentie: U geeft aan dat zekerheid belangrijk is, maar verwacht ook een hoog rendement. Bespreek of dit realistisch is.");
}
// Check 2: Geen ervaring vs hoog rendement
if (ervaring <= 2 && rendement >= 4) {
alert("⚠️ U heeft weinig beleggingservaring maar verwacht een hoog rendement. Dit kan wijzen op een onrealistisch profiel.");
}
// Check 3: Lage buffer vs hoge inleg
if (buffer <= 2 && percentage >= 4) {
alert("⚠️ U heeft een beperkte financiële buffer maar wilt een groot deel van uw vermogen beleggen. Dit kan financieel onverstandig zijn.");
}
// Check 4: Langetermijndoel vs korte horizon
if (doel >= 3 && horizon <= 2) {
alert("⚠️ Uw doelstelling vraagt om een lange beleggingshorizon, maar u heeft een korte termijn opgegeven. Overweeg of dit passend is.");
}
// Extra Check 5: Hoge lasten en laag inkomen
const inkomen = getValue('Inkomen');
const lasten = getValue('Lasten');
if (inkomen <= 2 && lasten <= 1) {
alert("⚠️ Uw lasten zijn relatief hoog ten opzichte van uw inkomen. Houd rekening met uw maandelijkse draagkracht.");
}
// Extra Check 6: Korte horizon en offensieve keuzes
if (horizon <= 2 && rendement >= 4) {
alert("⚠️ U heeft een korte beleggingshorizon en verwacht tegelijk een hoog rendement. Dit kan risicovol zijn.");
}
}
🔁 Check 7: Geen begrip vs offensieve keuzes
Begrip ≤ 2 én Rendement ≥ 4 → waarschuwing
💬 “U heeft aangegeven weinig financiële kennis te hebben maar kiest wel voor een hoog rendement. Begrijpt u de risico’s hiervan?”
🔁 Check 8: Max. inleg + geen buffer + laag inkomen
Buffer ≤ 1 én Percentage ≥ 4 én Inkomen ≤ 2 → waarschuwing
💬 “U wilt een groot deel van uw vermogen beleggen zonder financiële buffer. Dit kan onverstandig zijn.”
🔁 Check 9: Laag inkomen + pensioen als doel
Inkomen ≤ 1 én Doelstelling = Pensioen (waarde 2) → waarschuwing
💬 “Met uw huidige inkomen is het mogelijk moeilijk om voldoende pensioenvermogen op te bouwen.”
🔁 Check 10: Doel = inkomen genereren + weinig ervaring
Doel = 3 (Inkomen) én Ervaring ≤ 2 → waarschuwing
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<title>AFM-conforme Profielbepaler</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
<script>
function calculateScore() {
runConsistencyChecks();
const inputs = document.querySelectorAll("input[type='radio']:checked");
let score = 0;
let results = [];
inputs.forEach(input => {
score += parseInt(input.value);
results.push({ vraag: input.name, antwoord: input.dataset.label });
});
let profiel = "";
if (score <= 19) profiel = "Defensief";
else if (score <= 28) profiel = "Neutraal";
else if (score <= 36) profiel = "Offensief";
else profiel = "Speculatief";
document.getElementById("resultaat").innerText = `Totaalscore: ${score}\nProfiel: ${profiel}`;
return { score, profiel, results };
}
function runConsistencyChecks() {
const getValue = (name) => parseInt(document.querySelector(`input[name='${name}']:checked`)?.value);
const zekerheid = getValue('Zekerheid');
const rendement = getValue('Rendement');
const ervaring = getValue('Ervaring');
const buffer = getValue('Buffer');
const percentage = getValue('Percentage');
const doel = getValue('Beleggingsdoel');
const horizon = getValue('Horizon');
const begrip = getValue('Begrip');
const inkomen = getValue('Inkomen');
const lasten = getValue('Lasten');
if (zekerheid <= 2 && rendement >= 4) {
alert("⚠️ Inconsistentie: U geeft aan dat zekerheid belangrijk is, maar verwacht ook een hoog rendement.");
}
if (ervaring <= 2 && rendement >= 4) {
alert("⚠️ Weinig ervaring maar hoge rendementverwachting. Overweeg of dit realistisch is.");
}
if (buffer <= 2 && percentage >= 4) {
alert("⚠️ Lage buffer en hoge inleg: financieel risico aanwezig.");
}
if (doel >= 3 && horizon <= 2) {
alert("⚠️ Langetermijndoel maar korte horizon: doel mogelijk niet haalbaar.");
}
if (inkomen <= 2 && lasten <= 1) {
alert("⚠️ Hoogte van uw lasten ten opzichte van uw inkomen is hoog.");
}
if (horizon <= 2 && rendement >= 4) {
alert("⚠️ Korte horizon en hoog rendement: mogelijk onrealistische verwachting.");
}
if (begrip <= 2 && rendement >= 4) {
alert("⚠️ Beperkt begrip van beleggen en toch offensieve keuzes: let op risicobesef.");
}
if (buffer <= 1 && percentage >= 4 && inkomen <= 2) {
alert("⚠️ Geen buffer, laag inkomen en hoge inleg: mogelijk niet verantwoord.");
}
if (inkomen <= 1 && doel === 2) {
alert("⚠️ Laag inkomen en pensioen als doelstelling: bespreek haalbaarheid.");
}
if (doel === 3 && ervaring <= 2) {
alert("⚠️ Inkomen genereren zonder beleggingservaring: extra risico aanwezig.");
}
}
function exportPDF() {
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
const { score, profiel, results } = calculateScore();
doc.setFontSize(14);
doc.text("AFM-conforme Profielbepaler", 10, 10);
doc.setFontSize(11);
let y = 20;
results.forEach(r => {
doc.text(`${r.vraag}: ${r.antwoord}`, 10, y);
y += 8;
});
y += 8;
doc.text(`Totaalscore: ${score}`, 10, y);
y += 6;
doc.text(`Profiel: ${profiel}`, 10, y);
y += 10;
doc.text("Naam klant: ______________________", 10, y);
y += 8;
doc.text("Datum: _____________________________", 10, y);
y += 8;
doc.text("Handtekening: _______________________", 10, y);
doc.save("beleggersprofiel.pdf");
}
</script>
<style>
body { font-family: sans-serif; padding: 20px; max-width: 800px; margin: auto; }
h2 { margin-top: 30px; }
.vraagblok { margin-bottom: 20px; }
label { display: block; margin: 4px 0; }
</style>
</head>
<body>
<h1>AFM-conforme Profielbepaler</h1>
<form id="profielForm">
<!-- Bestaande vragen + nieuwe scenario vragen kunnen hier verder worden toegevoegd -->
<button type="button" onclick="calculateScore()">Bereken Profiel</button>
<button type="button" onclick="exportPDF()">Exporteer als PDF</button>
</form>
<pre id="resultaat"></pre>
</body>
</html>