如何计算NPV

时间:2010-01-08 12:16:55

标签: php

我想用PHP计算NPV(净现值)。

以下是我的详细信息。

    discount rate : 15%

    Cash Flow Values per Year:

    Year 1: 110000
    Year 2: 122000 
    Year 3: 135200
    Year 4: 149720
    Year 5: 157706
    Year 6: 166091

我正在使用的NPV公式。

NPV = sum of all years( (Ci)/(1+r)^i)

i=1,2,3,4,5,...
Ci= Cash Flow for year i
r=rate of discount

任何帮助。

提前致谢

阿维纳什

2 个答案:

答案 0 :(得分:2)

您可以使用以下公式计算每年的净现值: (值)/((1 + 0.15)^(年))然后将所有结果相加得到你的最终净现值 - 其中^表示权力。

因此,对于第二年,它将是:122000 /((1.15)^ 2)。

在当前时间点,功率^值将为0

答案 1 :(得分:0)

这取自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,这与Excel中的NPV公式相同。