Aufgetragen ist die zu erwartende monatliche Rente in CHF in Abhängigkeit des Geburtsjahrs. Vorausgesetzt wird, dass man vor der Reform 2015 keine Rentenlücken mehr hatte (voller Einkauf) und danach keine Einkäufe mehr getätigt wurden. Sämtliche Angaben sind ohne Gewähr und geben ein im Einzelfall nur näherungsweise korrektes Bild der je nach Szenario zu erwartenden Verluste wieder.
Informationen zu den einzelnen Varianten (Legende unterhalb des Diagramms) finden Sie im Inform-Artikel „Die Zeichen stehen auf Sturm“ (Heft 2017/18-01), den Sie auch online lesen können.
function rechnen() { var lk = parseInt(document.getElementById("lk").value); var mittlZins = 0.1 * parseInt(document.getElementById("mittlZins").value); var anstGrad = parseInt(document.getElementById("anstGrad").value); document.getElementById("lkSpan").innerHTML = lk; document.getElementById("mittlZinsSpan").innerHTML = mittlZins.toFixed(1); document.getElementById("anstGradSpan").innerHTML = anstGrad; var blackSquare = function (ctx, x, y, radius, shadow) { square(ctx, x, y, radius, "black", "white"); } var blueSquare = function (ctx, x, y, radius, shadow) { square(ctx, x, y, radius, "blue", "blue"); } function square (ctx, x, y, radius, fillcolor, bordercolor) { // pi * r^2 = (2s)^2 => s = r * sqrt(pi)/2 var size = radius * Math.sqrt(Math.PI) / 2; ctx.fillStyle = fillcolor; ctx.lineWidth = 1; ctx.strokeStyle = bordercolor; ctx.beginPath(); ctx.moveTo(x - size, y - size); ctx.lineTo(x + size, y - size); ctx.lineTo(x + size, y + size); ctx.lineTo(x - size, y + size); ctx.lineTo(x - size, y - size); ctx.fill(); if(bordercolor != fillcolor) { size++; } ctx.beginPath(); ctx.moveTo(x - size, y - size); ctx.lineTo(x + size, y - size); ctx.lineTo(x + size, y + size); ctx.lineTo(x - size, y + size); ctx.lineTo(x - size, y - size); ctx.stroke(); } var orangeCircle = function(ctx, x, y, radius, shadow) { borderCircle(ctx, x, y, radius, "orange"); } function borderCircle (ctx, x, y, radius, color) { ctx.beginPath(); ctx.fillStyle = color; ctx.arc(x, y, radius, 0, 2*Math.PI); ctx.fill(); ctx.strokeStyle = "black"; ctx.lineWidth = 1; ctx.arc(x, y, radius, 0, 2*Math.PI); ctx.stroke(); } var greyDiamond = function(ctx, x, y, radius, shadow) { borderDiamond(ctx, x, y, radius, "grey"); } function borderDiamond(ctx, x, y, radius, color) { // pi * r^2 = 2s^2 => s = r * sqrt(pi/2) var size = radius * Math.sqrt(Math.PI / 2); ctx.fillStyle = color; ctx.beginPath(); ctx.moveTo(x - size, y); ctx.lineTo(x, y - size); ctx.lineTo(x + size, y); ctx.lineTo(x, y + size); ctx.lineTo(x - size, y); ctx.fill(); ctx.strokeStyle = "black"; ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(x - size, y); ctx.lineTo(x, y - size); ctx.lineTo(x + size, y); ctx.lineTo(x, y + size); ctx.lineTo(x - size, y); ctx.stroke(); } var jahreslohn = lohn[0][lk-1] * anstGrad * 0.01; var pklohn = Math.max(2*jahreslohn/3,jahreslohn-28200); var sparsumme = pklohn * verzinsungen[0] * 0.01 * (1 + 0.01*mittlZins); var aufzinsungskorrektur = []; for(var j = 1950; j <= 1986; j++) { var n = j + 64 - new Date().getFullYear(); var q = 1 + 0.01*mittlZins; if(n <= 0) { aufzinsungskorrektur[j] = 1.0; } else { if(mittlZins != 0) { aufzinsungskorrektur[j] = (Math.pow(q,n+1)-1)* 1.5/(mittlZins * (Math.pow(1.015,n+1)-1)); } else { aufzinsungskorrektur[j] = (n+1) * 0.015 / (Math.pow(1.015,n+1)-1); } } } for(var alter = 26; alter <= 65; alter++) { ef = alter - 25; jahreslohn = lohn[ef][lk-1] * anstGrad * 0.01; pklohn = Math.max(2*jahreslohn/3,jahreslohn-28200); sparsumme = (sparsumme + pklohn * verzinsungen[ef] * 0.01) * (1 + 0.01*mittlZins); } var heute = [], nullvariante = [], varianteRR = [], varianteABP = []; for(var j = 1950; j <= 1986; j++) { var bis2015 = lohn[35][lk-1] * anstGrad * 0.01 * 0.6 / 12; //var bis2015 = 0.058 * sparsumme / 12 * 1.0466; // 1.0466 ist ein kryptischer Korrekturfaktor var i = j - 1950; heute.push([j,bis2015*0.01*verluste[i][0]*aufzinsungskorrektur[j]]); nullvariante.push([j,bis2015*0.01*verluste[i][1]*aufzinsungskorrektur[j]]); varianteRR.push([j,bis2015*0.01*verluste[i][2]*aufzinsungskorrektur[j]]); varianteABP.push([j,bis2015*0.01*verluste[i][3]*aufzinsungskorrektur[j]]); } var b2015 = [ [1950, bis2015], [1986, bis2015] ]; var data = [{ data: b2015, lines: { lineWidth: 2 }, color:"darkblue" }, { data:heute, points: {radius:5, symbol:blueSquare, show:true, fill: false},shadowSize: 0 }, { data:nullvariante, points: {radius:5, symbol:blackSquare, show:true, fill: false},shadowSize: 0 }, { data:varianteRR, points: {radius:5, symbol:greyDiamond, show:true, fill:false},shadowSize: 0 }, { data:varianteABP, points: {radius:5, symbol:orangeCircle, show:true, fill:false},shadowSize: 0 }]; $.plot("#grafik", data); var blueLine = function(ctx, x, y, radius, shadow) { ctx.strokeStyle = "darkblue"; ctx.lineWidth = 2; ctx.beginPath(); ctx.moveTo(0, y); ctx.lineTo(2*x, y); ctx.stroke(); } label("bis2015Canvas", blueLine); label("heuteCanvas", blueSquare); label("nullCanvas", blackSquare); label("RRCanvas", greyDiamond); label("ABPCanvas", orangeCircle); function label(canvasId, paintFunction) { var myCanvas = document.getElementById(canvasId); var gctx = myCanvas.getContext("2d"); paintFunction(gctx, 6, 6, 5, false); } }