Laat van de vijf velden (aantal periodes N, jaarlijkse rente I/Y, contante waarde PV, bedrag per periode PMT en eindwaarde FV) alleen het veld leeg dat je wilt berekenen en vul de andere vier in. Het lege veld wordt berekend.
Inhoudsopgave
-
Wat je op deze pagina kunt doen
-
Waarvoor is deze berekening handig?
-
Zo werkt het
-
Formules en grafieken
-
Symbolen en begrippen
-
Handig om vooraf te weten
-
Berekenen met Excel
-
Berekenen met Google Spreadsheets
-
Berekenen met Python
-
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
-
Zo laat je ChatGPT de berekening doen
-
Kenmerken van DataChef
-
Gerelateerde functies
-
Alle rekenmachines van NumberChef
Wat je op deze pagina kunt doen
- Vul vier van de vijf waarden in: het aantal periodes \(N\), de jaarlijkse rente \(I/Y\), de contante waarde \(PV\), het bedrag per periode \(PMT\) en de eindwaarde \(FV\). Dan wordt de vijfde berekend (dezelfde TVM-opzet met vijf toetsen als op een financiële rekenmachine zoals de BA II Plus en de HP 12C)
- De tekenafspraak is ook dezelfde als op een financiële rekenmachine: geld dat je uitgeeft (storten, sparen, aflossen) is negatief en geld dat je ontvangt (een lening die je krijgt, uitkeringen) is positief. Voorbeeld: om elk jaar € 2.000 te sparen vul je PMT = -2000 in
- Je kunt het betaalmoment instellen (einde van de periode, zoals bij de meeste leningen en spaarplannen, of begin van de periode), en P/Y (betalingen per jaar) en C/Y (rentebijschrijvingen per jaar)
- Naast de berekende waarde zie je ook het totaal van alle betalingen en de totale rente. Is het aantal periodes een geheel getal tot en met 20, dan krijg je ook een tabel met de rente en het saldo per periode
- Met een grafiek van het saldo. Een heldere uitleg van de formules en formules om te kopiëren voor Excel (de functies TW, HW, BET, RENTE en NPER), Google Spreadsheets en Python staan ook op deze pagina
Waarvoor is deze berekening handig?
De standaardfactoren die je in studieboeken voor bedrijfseconomie en financiële wiskunde tegenkomt (eindwaardefactor, contante-waardefactor, de factoren voor annuïteiten en hun omgekeerden) zijn allemaal omschrijvingen van deze ene TVM-vergelijking. De eindwaardefactor is bijvoorbeeld gewoon \((1+i)^N\) en de eindwaardefactor van een annuïteit is \(\dfrac{(1+i)^N-1}{i}\).
Door ze op deze pagina met verschillende getallen na te rekenen, begrijp je de factoren als “één vergelijking op verschillende manieren gelezen” in plaats van losse dingen om uit je hoofd te leren, wat ook bij moeilijkere opgaven helpt.
“Een annuïteitenhypotheek van € 300.000 met een rente van 4% en een looptijd van 30 jaar” is PV = +300.000, N = 360 (30 jaar × 12), maandelijkse betalingen (P/Y = C/Y = 12) en FV = 0, en je berekent PMT. Het antwoord is ongeveer € 1.432,25 per maand. In totaal betaal je ongeveer € 515.609, dus de totale rente is ongeveer € 215.609. (De rente van 4% is een voorbeeld, geen actuele marktrente.)
Als je ziet hoe het bedrag is opgebouwd, kun je zelf nagaan hoeveel het geleende bedrag, de rente en de looptijd elk uitmaken. Dit is alleen rente en aflossing; bij een echte hypotheek komen er kosten bij en is een deel van de rente onder voorwaarden aftrekbaar van je inkomen (hypotheekrenteaftrek). Kijk voor de voorwaarden op belastingdienst.nl en vraag je geldverstrekker om het precieze bedrag.
“Ik wil 25 jaar lang elk jaar € 20.000 opnemen. Als mijn spaargeld 3% per jaar oplevert, hoeveel heb ik dan aan het begin nodig?” is PMT = +20.000, N = 25 en FV = 0, en je berekent PV. Het antwoord is ongeveer € 348.263 (PV = −348.263, het geld dat je aan het begin inlegt).
Je ontvangt in totaal € 500.000, dus de groei van je vermogen dekt het verschil van ongeveer € 151.737. In cijfers zien hoeveel het benodigde bedrag verandert als de rente verandert, helpt enorm bij het plannen (bij echt beleggen ligt het rendement niet vast en kun je geld verliezen).
“Als ik elke maand € 500 spaar tegen 3% (maandelijks bijgeschreven), wanneer heb ik dan € 50.000?” is PMT = −500, FV = +50.000 en P/Y = C/Y = 12, en je berekent N. Het antwoord is ongeveer 89,4 maanden (ongeveer 7,4 jaar).
Bij 0% duurt het 100 maanden, dus de rente brengt je ruim 10 maanden eerder bij je doel. Dat je in cijfers ziet hoeveel de rente helpt, maakt het berekenen van N interessant.
Voor een autolening van € 30.000 met een rente van 4% en een looptijd van 60 maanden vul je PV = +30.000, N = 60, P/Y = C/Y = 12 en FV = 0 in en bereken je PMT. De betaling is ongeveer € 552,50 per maand en het totaal is ongeveer € 33.150, dus ongeveer € 3.150 is rente.
Andersom: als je alleen het maandbedrag en het totaal kent, laat het berekenen van I/Y de werkelijke jaarrente zien. Zo vergelijk je autoleningen, leasevormen, achteraf-betalen-regelingen en telefoonabonnementen met een toestel op afbetaling. Bij kredieten moet in Nederland het jaarlijks kostenpercentage (JKP) worden getoond, waarin ook de kosten zijn verwerkt; de rente op deze pagina is de nominale rente zonder kosten.
Formules en grafieken
Symbolen en begrippen
Symbolen
| \(PV\) | P V | Contante waarde (present value). Het geld dat nu beweegt. Positief als je het leent of ontvangt, negatief als je het stort of belegt. |
| \(FV\) | F V | Eindwaarde (future value). Het geld dat aan het einde van de looptijd beweegt. Positief als je het aan het einde ontvangt, negatief als je het betaalt. |
| \(PMT\) | P M T | Het bedrag per periode. Het geld dat elke periode beweegt. Geld dat je uitgeeft, zoals sparen of aflossen, is negatief; geld dat binnenkomt, zoals huur die je ontvangt, is positief. |
| \(N\) | N | Het aantal periodes (aantal betalingen). Het aantal periodes waarover rente wordt berekend. Bij jaarlijkse betalingen is dat gelijk aan het aantal jaren, maar bij maandelijkse betalingen (P/Y = 12) tel je maanden (10 jaar is \(N = 120\)). |
| \(I/Y\) | I per Y | Interest per year (rente per jaar). De jaarlijkse rente in %. De naam komt rechtstreeks van de toets op een financiële rekenmachine. |
| \(P/Y\) | P per Y | Betalingen per jaar (payments per year). Hoeveel betalingen \(PMT\) er in één jaar zijn: 1 bij jaarlijkse betalingen, 12 bij maandelijkse betalingen. |
| \(C/Y\) | C per Y | Rentebijschrijvingen per jaar (compounding periods per year). Hoe vaak per jaar rente bij het saldo wordt opgeteld. Meestal gelijk aan \(P/Y\); verschilt het, dan wordt de rentebijschrijving omgerekend naar de betaalperiode. |
| \(i\) | kleine i | De rente per periode als decimaal getal. Bij jaarlijkse betalingen is dat de jaarrente zelf (bij 6% is \(i = 0{,}06\)); bij maandelijkse betalingen is het de rente per maand. |
| \(g\) | g | Een schakelaar voor het betaalmoment: \(g = 1\) voor het begin van de periode en \(g = 0\) voor het einde. Bij betalingen aan het begin van de periode wordt de \(PMT\)-term nog één keer met \((1+i)\) vermenigvuldigd. |
| \(\ln\) | natuurlijke logaritme | De natuurlijke logaritme. Een hulpmiddel waarmee je vindt hoe vaak je moet vermenigvuldigen om een bepaalde factor te bereiken. Het wordt gebruikt om het aantal periodes \(N\) te berekenen. |
Begrippen
| tijdwaarde van geld (TVM) | Het idee dat € 10.000 nu meer waard is dan € 10.000 in de toekomst, omdat geld dat je nu hebt rente kan opleveren. Het is de basis van de financiële rekenkunde en de vergelijking op deze pagina giet dat idee in één formule. |
| contante waarde | Wat toekomstig geld waard is in geld van nu. Bij 2% per jaar is € 10.200 over een jaar bijvoorbeeld evenveel waard als € 10.000 nu. |
| eindwaarde | Hoeveel geld dat je nu hebt, of regelmatig gespaard geld, in de toekomst waard is, inclusief rente. |
| disconteren | Toekomstig geld omrekenen naar zijn contante waarde. Je deelt het toekomstige bedrag door \((1+i)^N\), dus de waarde wordt lager. Het is precies het omgekeerde van rente bijschrijven (rente op rente). |
| eindwaardefactor van een annuïteit | De factor \(\dfrac{(1+i)^N - 1}{i}\): hoeveel een betaling van € 1 per periode met rente groeit tot. Je vermenigvuldigt hem met het bedrag per periode. (Bij een annuïteit is het bedrag elke periode gelijk.) |
| contante-waardefactor van een annuïteit | De factor \(\dfrac{1-(1+i)^{-N}}{i}\): wat het recht om € 1 per periode te ontvangen nu waard is. Het is de versie met contante waarde van de eindwaardefactor van een annuïteit, gebruikt voor annuïteiten en hypotheken (het verband tussen het geleende bedrag en elke betaling). |
| kasstroom | De stroom van geld dat binnenkomt en uitgaat. TVM kijkt alleen naar wanneer, hoeveel en in welke richting geld beweegt en geeft de richting aan met een teken (plus of min). |
| tekenafspraak | De afspraak dat geld dat je uitgeeft (storten, sparen, aflossen) negatief is en geld dat je ontvangt (een lening die je krijgt, uitkeringen) positief. Financiële rekenmachines en de financiële functies van Excel delen deze afspraak, waardoor leningen, sparen en annuïteiten allemaal dezelfde vergelijking gebruiken. |
| postnumerando | Betalingen (PMT) aan het einde van elke periode. De meeste aflossingen en spaarplannen werken zo, en het is de standaardinstelling op deze pagina. |
| prenumerando | Betalingen (PMT) aan het begin van elke periode. Dezelfde betaling gaat een periode eerder rente opleveren, dus de \(PMT\)-term wordt nog één keer met \((1+i)\) vermenigvuldigd. Huur die je vooruit betaalt werkt zo. |
| financiële rekenmachine | Een rekenmachine met speciale TVM-toetsen (N, I/Y, PV, PMT, FV). De Texas Instruments BA II Plus en de HP 12C zijn bekend en worden gebruikt bij examens zoals CFA en CFP en in het werk. Deze pagina is een webversie van dezelfde opzet met vijf toetsen. |
| bisectiemethode | Een numerieke methode die een benaderd antwoord vindt door het interval waarin het antwoord ligt steeds te halveren, gebruikt als het antwoord niet los te maken is door de formule om te schrijven. Het berekenen van de jaarlijkse rente I/Y vraagt om het oplossen van een vergelijking van graad N, waarvoor geen algemene formule bestaat, dus deze pagina gebruikt bisectie. |
Handig om vooraf te weten
Dit helpt je om de berekening op deze pagina echt te begrijpen, en niet alleen op de knop te drukken.
| Positieve en negatieve getallen (klas 1, 12-13 jaar) |
|
| Percentages (groep 7-8, 10-12 jaar) |
|
| Machten (klas 2, 13-14 jaar) |
|
| De basis van samengestelde rente (“Samengestelde rente berekenen” op deze site) |
|
| Logaritmen (havo 5 en vwo 5-6, 16-18 jaar, voor gevorderden) |
|
Berekenen met Excel
| Rente per periode (6% = 0,06) | 0,06 |
| Aantal periodes N | 10 |
| Bedrag per periode PMT | -2000 |
| Contante waarde PV | 20000 |
| Eindwaarde FV | =TW(B1;B2;B3;B4;0) |
| Rente per periode (6% = 0,06) | 0,06 |
| Aantal periodes N | 10 |
| Contante waarde PV | 20000 |
| Eindwaarde FV | 0 |
| Bedrag per periode PMT | =BET(B1;B2;B3;B4;0) |
| Aantal periodes N | 5 |
| Bedrag per periode PMT | 0 |
| Contante waarde PV | -1000 |
| Eindwaarde FV | 1500 |
| Rente per periode | =RENTE(B1;B2;B3;B4) |
| Rente per periode (8% = 0,08) | 0,08 |
| Bedrag per periode PMT | 0 |
| Contante waarde PV | -1000 |
| Eindwaarde FV | 2000 |
| Aantal periodes N | =NPER(B1;B2;B3;B4) |
| Rente per periode (5% = 0,05) | 0,05 |
| Aantal periodes N | 20 |
| Bedrag per periode PMT | -100 |
| Eindwaarde FV | 0 |
| Contante waarde PV | =HW(B1;B2;B3;B4;1) |
De eerste tabel geeft in B5 -9.455,36, de tweede -2.717,36, de derde ongeveer 0,0845 (een jaarrente van 8,447%; geef de cel de notatie percentage om het makkelijk te lezen), de vierde ongeveer 9,006 en de vijfde 1.308,53.
Het laatste argument van TW, BET en HW is het betaalmoment: 0 of weggelaten = einde van de periode, 1 = begin van de periode. Bij maandelijkse betalingen vul je de rente per maand (jaarrente ÷ 12) en N in maanden in. In Nederlandse Excel schrijf je decimalen met een komma (0,06) en scheid je de argumenten met een puntkomma.
Berekenen met Google Spreadsheets
| Rente per periode (6% = 0,06) | 0,06 |
| Aantal periodes N | 10 |
| Bedrag per periode PMT | -2000 |
| Contante waarde PV | 20000 |
| Eindwaarde FV | =TW(B1;B2;B3;B4;0) |
| Rente per periode (6% = 0,06) | 0,06 |
| Aantal periodes N | 10 |
| Contante waarde PV | 20000 |
| Eindwaarde FV | 0 |
| Bedrag per periode PMT | =BET(B1;B2;B3;B4;0) |
| Aantal periodes N | 5 |
| Bedrag per periode PMT | 0 |
| Contante waarde PV | -1000 |
| Eindwaarde FV | 1500 |
| Rente per periode | =RENTE(B1;B2;B3;B4) |
| Rente per periode (8% = 0,08) | 0,08 |
| Bedrag per periode PMT | 0 |
| Contante waarde PV | -1000 |
| Eindwaarde FV | 2000 |
| Aantal periodes N | =NPER(B1;B2;B3;B4) |
| Rente per periode (5% = 0,05) | 0,05 |
| Aantal periodes N | 20 |
| Bedrag per periode PMT | -100 |
| Eindwaarde FV | 0 |
| Contante waarde PV | =HW(B1;B2;B3;B4;1) |
Berekenen met Python
import math
# Zet de waarde die je wilt berekenen op None (dit voorbeeld berekent fv)
n = 10 # aantal periodes N (aantal betalingen)
annual_rate = 6 # jaarlijkse rente I/Y (%)
pv = 20000 # contante waarde PV (geld in = positief, geld uit = negatief)
pmt = -2000 # bedrag per periode PMT
fv = None # eindwaarde FV
is_beginning = False # True = begin van de periode, False = einde van de periode
g = 1 if is_beginning else 0
# Rente per periode (jaarlijkse betalingen; bij maandelijkse betalingen deel je door 12 en tel je n in maanden). Laat op None staan als je de rente berekent
i = annual_rate / 100 if annual_rate is not None else None
def tvm_left_side(i_, n_, pv_, pmt_, fv_):
"""Linkerkant van de TVM-vergelijking (het antwoord maakt hem 0)"""
if abs(i_) < 1e-12:
return pv_ + pmt_ * n_ + fv_
growth = (1 + i_) ** n_
return pv_ * growth + pmt_ * (1 + i_ * g) * (growth - 1) / i_ + fv_
if fv is None:
fv = -(pv + pmt * n) if abs(i) < 1e-12 else -(pv * (1 + i) ** n + pmt * (1 + i * g) * ((1 + i) ** n - 1) / i)
print(f"Eindwaarde FV = {fv:,.2f}")
elif pv is None:
pv = -(fv + pmt * n) if abs(i) < 1e-12 else -(fv + pmt * (1 + i * g) * ((1 + i) ** n - 1) / i) / (1 + i) ** n
print(f"Contante waarde PV = {pv:,.2f}")
elif pmt is None:
pmt = -(pv + fv) / n if abs(i) < 1e-12 else -(pv * (1 + i) ** n + fv) / ((1 + i * g) * ((1 + i) ** n - 1) / i)
print(f"Bedrag per periode PMT = {pmt:,.2f}")
elif n is None:
if abs(i) < 1e-12:
n = -(pv + fv) / pmt
else:
k = pmt * (1 + i * g) / i
n = math.log((k - fv) / (pv + k)) / math.log(1 + i)
print(f"Aantal periodes N = {n:.3f}")
else:
# De jaarlijkse rente is niet los te maken door de formule om te schrijven, dus zoek met bisectie (bij sommige invoer is er geen oplossing)
low, high = -0.9999, 10.0
if tvm_left_side(low, n, pv, pmt, fv) * tvm_left_side(high, n, pv, pmt, fv) > 0:
raise SystemExit("Geen oplossing in dit bereik. Controleer de richting (het teken) van het geld")
for _ in range(200):
mid = (low + high) / 2
if tvm_left_side(low, n, pv, pmt, fv) * tvm_left_side(mid, n, pv, pmt, fv) <= 0:
high = mid
else:
low = mid
i = (low + high) / 2
print(f"Jaarlijkse rente I/Y = {i * 100:.3f}%")
total_interest = abs(pv + pmt * n + fv)
print(f"Totale rente = {total_interest:,.2f}")
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
PV(1 + i)ᴺ + PMT × ((1 + i)ᴺ − 1)/i + FV = 0
PV(1+i)^{N} + PMT \cdot \dfrac{(1+i)^{N}-1}{i} + FV = 0
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>PV</mi>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>)</mo></mrow>
<mi>N</mi>
</msup>
<mo>+</mo>
<mi>PMT</mi>
<mo>⋅</mo>
<mfrac>
<mrow>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>)</mo></mrow>
<mi>N</mi>
</msup>
<mo>−</mo>
<mn>1</mn>
</mrow>
<mi>i</mi>
</mfrac>
<mo>+</mo>
<mi>FV</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
</math>
PV(1+i)^N + PMT((1+i)^N-1)/i + FV = 0
pv (1 + i)^n + pmt ((1 + i)^n - 1)/i + fv == 0
pv*(1 + i)^n + pmt*((1 + i)^n - 1)/i + fv = 0;
pv*(1 + i)^n + pmt*((1 + i)^n - 1)/i + fv == 0
PV(1+i)^N + PMT((1+i)^N-1)/i + FV = 0
FV = −(PV(1 + i)ᴺ + PMT × ((1 + i)ᴺ − 1)/i)
FV = -\left( PV(1+i)^{N} + PMT \cdot \dfrac{(1+i)^{N}-1}{i} \right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>FV</mi>
<mo>=</mo>
<mo>−</mo>
<mrow>
<mo>(</mo>
<mi>PV</mi>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>)</mo></mrow>
<mi>N</mi>
</msup>
<mo>+</mo>
<mi>PMT</mi>
<mo>⋅</mo>
<mfrac>
<mrow>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>)</mo></mrow>
<mi>N</mi>
</msup>
<mo>−</mo>
<mn>1</mn>
</mrow>
<mi>i</mi>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</math>
FV = -(PV(1+i)^N + PMT((1+i)^N-1)/i)
fv = -(pv (1 + i)^n + pmt ((1 + i)^n - 1)/i)
fv := -(pv*(1 + i)^n + pmt*((1 + i)^n - 1)/i);
fv = -(pv*(1 + i)^n + pmt*((1 + i)^n - 1)/i);
FV = -(PV(1+i)^N + PMT((1+i)^N-1)/i)
N = ln(−FV/PV) / ln(1 + i)
N = \dfrac{\ln\left(-\dfrac{FV}{PV}\right)}{\ln(1+i)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>ln</mi>
<mrow>
<mo>(</mo>
<mo>−</mo>
<mfrac><mi>FV</mi><mi>PV</mi></mfrac>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>ln</mi>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>)</mo></mrow>
</mrow>
</mfrac>
</mrow>
</math>
N = ln(-FV/PV) / ln(1+i)
n = Log[-fv/pv]/Log[1 + i]
n := ln(-fv/pv)/ln(1 + i);
n = log(-fv/pv)/log(1 + i);
N = ln(-FV/PV)/ln(1+i)
PV + PMT × N + FV = 0
PV + PMT \cdot N + FV = 0
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>PV</mi>
<mo>+</mo>
<mi>PMT</mi>
<mo>⋅</mo>
<mi>N</mi>
<mo>+</mo>
<mi>FV</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
</math>
PV + PMT * N + FV = 0
pv + pmt n + fv == 0
pv + pmt*n + fv = 0;
pv + pmt*n + fv == 0
PV + PMT N + FV = 0
Zo laat je ChatGPT de berekening doen
Je bent een assistent voor financiële berekeningen (tijdwaarde van geld, TVM). Voer de volgende berekening uit door echt Python-code uit te voeren en baseer je antwoord alleen op de getallen uit het resultaat van de uitvoering (geen hoofdrekenen of gokken). Gebruik de standaard TVM-vergelijking PV(1+i)^N + PMT(1+i*g)*((1+i)^N - 1)/i + FV = 0 (g=1 voor betalingen aan het begin van elke periode, g=0 voor het einde). De tekenafspraak is dezelfde als op een financiële rekenmachine: geld dat je uitgeeft is negatief en geld dat je ontvangt is positief. Je leent € 20.000 tegen 6% per jaar (PV = +20000) en lost het af met gelijke betalingen aan het einde van elk jaar gedurende 10 jaar (FV = 0). Bereken het volgende: 1. De jaarlijkse betaling PMT 2. Het totaal van alle betalingen (PMT × 10) 3. De totale rente (|PV + PMT×N + FV|) Laat de formules zien die je hebt gebruikt en de getallen uit het resultaat van de uitvoering.
Zo werkt het
-
1Vul je getallen inTyp de getallen waarmee je wilt rekenen in de invoervelden
-
2BerekenKlik op de knop “Berekenen”
-
3Bekijk het resultaatHet resultaat verschijnt meteen. Op dezelfde pagina vind je ook de uitwerking van de berekening en de uitleg van de formule
Kenmerken van DataChef
Geen voorkennis nodig – intuïtieve en eenvoudige bediening
Zonder persoonlijke gegevens op te geven
Bestand wordt automatisch verwijderd zodra je op "Downloaden" klikt
Geen bronvermelding vereist
Geen toestemming vooraf nodig