Это взято из работы, проделанной TommySzalapski здесь: https://www.experts -exchange.com / questions / 26875482 / Finding-NPV-net-present-value-with-PHP.html
Лучший способ сделать это - сначала создать массив ваших денежных потоков. Помните, что массивы начинаются с 0, поэтому, если нет денежного потока в год 0, тогда [0] = 0. Если есть выход наличных, сделайте это отрицательным.
$cf = array(0, 110000, 122000, 135200, 149720, 157706, 166091 );
Затем создайте переменные для ваших входных данных:
$years = 6;
$discountRate = 0.15;
Тогда вы можете использовать формулу TommySzalapski
function npv($rate, $values, $year) {
for ($i=$year;$i>=0;$i-=1) {
$npv = ($values[$i] + $npv) / (1 + $rate);
}
return '$'.number_format($npv,2,'.',' ');
}
так плагин:
$NPV = npv($discountRate, $cf, 6); // You can also use the $years variable here
echo $NPV;
Ответ - 445 751,54 долл., Что соответствует формуле NPV в Excel.