一、
由于净现值NPV随着报酬率r的增大而递减,可以先确定r1和r2,使 NPV(r1)> 0, NPV(r2)< 0,然后调大r1、调小r2,向r0靠近,使 NPV(r0)=0,r0即为内含报酬率。如图。
从图上可以看出,在 r1< r0<r2,NPV(r1)> 0和NPV(r2)<0的前提下,分别调大r1、调小r2向r0靠近,总可以使[(r2-r1)/2]≤ε。
式中,ε为事先给定的内含报酬率估计值与准确值之间的允许误差。
取估计值r=(r1+r2)/2
那么,要求内含报酬率估计值r与准确值r0之间的误差不超过事先给定的允许误差ε,也即:
采用上面方法通过调整r1和r2,可将确定的内含报酬率估计值r与准确值r0的误差限定在事先给定的范围ε内:
二、
但在通常的情况下,调整r1和r2是一件非常麻烦的事,利用Excel却可以很容易地进行。下面举例说明。
设某投资方案初始投资额为50,000元,项目使用年限为5年,第1、2、3、4和5年的现金净流量分别为8,000、12,030、13,900、15,000和25,000元。试确定该方案的内含报酬率(误差不超过0.0001)。
首先,选取不同的报酬率r,如从[0.07,0.16]两端每隔0.01取若干数,计算出相应的净现值NPV(r),确定满足NPV(r1)>0和NPV(r2)<0,且最接近的r1和r2.
在本例中,选定Excel的一张工作表,在A1至A10区域分别输入0.0700、0.0800……0.1600,在B1单元格输入公式:
“=NPV(A1,8000,12030,13900,15000,25000)-50000”
计算对应A1单元格报酬率0.0700的净现值(公式中NPV为Excel内置的净现值函数)8598.73,再利用Excel的自动填充功能,在B2至B10区域按如下公式:
“=NPV(A2,8000,12030,13900,15000,25000)-50000”
…………
“=NPV(A10,8000,12030,13900,15000,25000)-50000”
即用左键点住B1单元格的填充柄向下拖到B10,计算对应A2、A3……A10单元格报酬率数据的净现值,如下表A和B列:
注:表中用括号括起来的数表示负数。
从表中看出,满足NPV(r1)>0和NPV(r2)<0,且最接近的r1和r2为:r1=0.1200,r=0.1300(即A6和A7)。
显然,误差值0.005不符合题设不超过0.0001的要求,需要再调大r1、调小r2向ro靠近,缩小误差值。
第二步,从0.1200起,每隔0.001取一个数,直到0.1300,再闪确定满足NPV(r1)>0和NPV(r2)<0,且最接近的r1和r2.
类似第一步计算出各净现值,如上表C和D列。注意,在D1至D10区域中输入的公式应对应C1和C10区域单元格报酬率数据。如在D1单元格应输入:
“=NPV(C1,8000,12030,13900,15000,25000)-50000”
从表中C、D列可以看出,满足条件的r1和r2为:r1=0.1220,r2=0.1230.
这时,若取内含报酬率的估计值为
误差仍达不到所要求的精确度。
第三步,继续调大r1、调小r2,向ro靠近,从0.1220起,每隔0.0001取一个数,直到0.1230,进一步确定满足NPV(r1)>0和NPV(r2)<0,且最接近的r1和r2.
对应报酬率的净现值计算见表中的E和F列。
从表中E、F列可以看出,这时满足条件的r1和r2为:=r1=0.1223,r2=0.1224.
0.00005<0.0001达到了要求的精确度,则0.12235即为所求的r.
在第二、三步的调整中,调大rl、调小r2向ro靠近,是将上一步确定的范围[r1,r2]细分成十等分取值。这样,一步一步地缩小,最终总能使[(r2-r1)/2] ≤ε。
如果要求的精确度更高,可以再调大r1、调小r2向ro进一步靠近,直到达到所要求的精确度为止。实际应用中,可以充分利用Excel的复制、自动填充等功能,使操作更加简便快捷。
相关热词: Excel