我想用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
任何帮助。
提前致谢
阿维纳什
答案 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公式相同。