aaaa


https://www.mijnessitypensioen.nl/media/12000/vragenformulier-beleggersprofiel.pdf?utm_source=chatgpt.com

https://www.rabobank.nl/particulieren/beleggen/is-beleggen-iets-voor-mij

https://www.moneyou.nl/-/media/moneyou/files/formulieren/beleggingshypotheek/vragenlijst-beleggersprofiel.pdf?utm_source=chatgpt.com

AFM-conforme Profielbepaler

1. Wat is uw belangrijkste reden om te beleggen?

Zekerheid Pensioen Vermogensgroei Maximaal rendement

2. Hoe reageert u op een verlies van 15% op uw beleggingen?

Ik verkoop alles Ik wacht af Ik koop juist bij

3. Hoe belangrijk is zekerheid voor u?

Zeer belangrijk Belangrijk Neutraal Niet belangrijk

4. 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.000

6. Wat zijn uw vaste lasten per maand?

> €2.000 €1.000–2.000 < €1.000

7. Hoe groot is uw financiële buffer?

Geen Minder dan 3 maanden 3–6 maanden Meer dan 6 maanden

8. 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 Uitgebreid

10. Begrijpt u financiële begrippen?

Nee Beperkt Goed Zeer goed

11. 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>