De contante waarde (CW) of actuele waarde (AW) van een toekomstig bedrag aan geld over een tijdsperiode van \(n\) jaar en bij rentevoet \(p\), is het bedrag dat uitgezet tegen samengestelde interest bij de genoemde rentevoet na de periode van \(n\) jaren juist het gegeven bedrag oplevert. Eenvoudig geformuleerd; de huidige waarde van een bedrag waarover je pas na een bepaalde periode de beschikking hebt.
In plaats van terugrekenen op basis van de rentevoet kan men dat ook doen op basis van de inflatie; als iemand over een jaar een bedrag van € 100 zal ontvangen, maar de inflatie zal gedurende dat jaar 4% bedragen, zal hij voor die € 100 op dat moment minder kunnen kopen dan voor € 100 die hij nu in zijn portemonnee heeft. Die € 100 nu, is te vergelijken (qua koopkracht) met € 104 over 1 jaar. Maar die € 100 over een jaar is te vergelijken met € 96,15 (100/1.04) nu. De contante waarde van die € 100 is dus € 96,15. Men zegt wel dat met die € 96,15 het bedrag van “€ 100 over een jaar” contant gemaakt is.
Contante waarden van te betalen bedragen worden op dezelfde wijze berekend. Op deze wijze kunnen de effecten van uitgaven en inkomsten die op verschillende tijdstippen plaatsvinden met elkaar vergeleken worden. Door de contante waarde van de kosten af te trekken van de contante waarde van de opbrengsten, ontstaat de zogenaamde Netto Contante Waarde (NCW) of Netto Actuele Waarde (NAW), Net Present Value (NPV) in het Engels.
De netto contante waarde (NPV) kan worden berekend met onderstaande formule, waarbij \(I\) staat voor de investering die vooraf ging aan het project, \(R_t\) staat voor de opbrengst in jaar \(t\) (dit is het verschil van de inkomsten en de uitgaven), \(i\) staat voor de procentuele marktrente (bijvoorbeeld: \(0.05\) stelt een rentevoet van \(5\%\) voor.) en \(n\) het aantal jaren aangeeft dat het project loopt.
\[\text{NPV} = \left(\sum^n_{t=0} \frac{R_t}{(1 + i)^t}\right) - I\]In deze oefening zul je een programma maken dat de opgebrachte winst (of juist het verlies) van een project bepaalt, op basis van de netto contante waarde. Dit doen we als volgt:
Implementeer deze opgave in een java-klasse die je NetPresentValue
noemt.
De tekst in het rood stelt invoer van de gebruiker voor (deze wordt niet uitgeprint door je programma).
Wat is de initiële investering? 200.50 Hoeveel jaren duurt het project? 3 Hoeveel bedraagt de rente? 0.05 Hoeveel inkomsten waren er in het 1e jaar? 11235.81 Hoeveel uitgaven waren er in het 1e jaar? 21692.37 Hoeveel inkomsten waren er in het 2e jaar? 43012.74 Hoeveel uitgaven waren er in het 2e jaar? 10469.63 Hoeveel inkomsten waren er in het 3e jaar? 62793.19 Hoeveel uitgaven waren er in het 3e jaar? 69823.64 De netto contante waarde over 3 jaar is € 13959.552698412705. Hoera! Er wordt een winst geboekt van € 13759.052698412705!
In bovenstaand voorbeeld bleek de investering te zorgen voor een winst van ongeveer € 13750. De tests zullen echter ook de verlies- en break-evensituaties testen, in dat geval moet de laatste lijn worden vervangen door respectievelijk:
Er is helaas een verlies van € 21.60.
Er wordt exact break-even gedraaid.
Math.pow(a, b)
. Deze functie returnt de uitkomst van \(a^b\).Hierbij nog wat uitleg over de Dodona-testen voor deze oefening: