| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 1 1 14 2 12 12 6 12 4 12 1 | define(function () {
/**
* Returns the present value of an investment.
* http://en.wikipedia.org/wiki/Annuity_%28finance_theory%29
* @version 0.2.0 (2012/03/20)
*/
function presentValue(rate, nPeriods, payment, futureValue, isDue){
if (rate === 0) {
return payment * nPeriods;
} else {
var p = ((1 - Math.pow(1 + rate, - nPeriods)) / rate) * payment;
if (isDue) {
p *= (1 + rate);
}
if (futureValue) {
p += futureValue / Math.pow(1 + rate, nPeriods);
}
return p;
}
}
return presentValue;
});
|