
必须先了解现金流量,才会知道IRR的意义。
IRR函数
一个投资案会产生一序列的现金流量,IRR简单说:就是由这一序列的现金流量中,反推一个投资案的内部报酬率。
如何反推呢,所用的方法是将每笔现金流量以利率rate折现,然後令所有现金流量的净现值(NPV)等於零。若C0、C1、C2、C3Cn分别代表为期初到n期的现金流量,正值代表现金流入,负值代表现金流出。
0 = C0 + C1/(1+rate)1 + C2/(1+rate)2 + C3/(1+rate)3+ Cn/(1+rate)n
找出符合这方程式的rate,就称为内部报酬率。问题是这方程式无法直接解出rate,必须靠电脑程式去找。这个内部报酬率又和银行所提供的利率是一样的意思。
IRR函数的参数定义如下:
=IRR(Values, guess)
IRR的参数有两个,一个是Values也就是『一序列』现金流量;另一个就是猜个IRR最可能的落点。那麼Value的值又该如何输入?有两种方式可输入一序列的现金流量:
使用阵列:例如=IRR({-100, 7, 107}),每一个数字代表一期的净现金流量。
储存格的范围:例如=IRR(B2:B4),范围中每一储存格代表一期
那麼
=IRR({-100, 7, 107}) 或
=IRR(B2:B4)
都会得到同样答案:7%
使用者定义期间长短
IRR的参数并没有绝对日期,只有『一期』的观念。每一期可以是一年、一个月或一天,随著使用者自行定义。如果每一格是代表一个『月』的现金流量,那麼传回的报酬率就是『月报酬率』;如果每一格是代表一个『年』的现金流量,那麼传回的报酬率就是『年报酬率』。
例如{-100, 7, 107}阵列有3个数值,叙述著第0期(期初)拿出100元,第1期拿回7元,第2期拿回107元。第一个数值代表0期,也是期初的意思。至於每一期是多久,使用者自己清楚,IRR并不需要知道,因为IRR传回的是『一期的利率』。当然如果使用月报酬率,要转换成年报酬率就得乘上12了。
一年为一期
例如期初拿出100元存银行,1年後拿到利息7元,2年後拿到本利和107元,那麼现金流量是{-100, 7, 107}。很清楚的这现金流量的每期间隔是『一年』,所以=IRR({-100, 7, 107}) = 7%传回的就是『年报酬率』。
一个月为一期
换个高利贷公司的例子来看,期初借出100元,1个月後拿到利息7元,2个月拿到本利和107元,整个现金流量还是{-100, 7, 107}喔,不一样的是每期间隔是『一个月』。那麼IRR传回的 7%就是『月报酬率』,年报酬率必须再乘上12,得到84%的年化报酬率。所以每一期是多久只有使用者知道,对IRR而言只是传回『每期』的报酬率。
guess-猜测报酬率可能的落点
guess真是个有趣的参数,IRR函数的任务不就是要解出报酬率的值吗,怎会要我们自己猜测报酬率的落点呢?这不是很奇怪吗,Excel计算功能那麼强,难道IRR函数无法直接解出来?没错IRR是无法解的。以{-100, -102, -104, -106, 450}这现金流量为例,等於得求出下列方程式中rate的解:0 = -100 -102/(1+rate)1 -104/(1+rate)2 -106/(1+rate)3 + 450/(1+rate)4
这就难了!因为有4次方。假若现金流量的期数更多,那就更复杂了,而且使用者会输入几期还不知道哩。还好虽然无法直接求解,Excel使用代入逼近法,先假设一个可能的rate(10%),然後代入上面式子看看是否吻合,如果不是就变动rate的值,然後慢慢逼近、反覆计算,直到误差小於 000001% 为止。如果真正的解和预设值差距过远,运算超过20次还是无法求得答案,IRR 函数会传回错误值 #NUM!。这时使用者就必须使用较接近的 guess 值,然後再试一次。
所以guess参数只是IRR函数开始寻找答案的起始点而已,跟找到的答案是无关。下面三个IRR公式,同样的现金流量,但是guess参数都不同,结果答案却都一样是360%。
=IRR({-100, -102, -104, -106, 450})
=IRR({-100, -102, -104, -106, 450}, 1%)
=IRR({-100, -102, -104, -106, 450}, 2%)
guess是选项参数
guess参数可以省略不输入,这时Excel会使用预设值10%。通常这是一年为一期报酬率都落在这附近,如果要计算月报酬率最好输入1%,依此类推。
XIRR函数
若要利用IRR函数来计算报酬率,现金流量必须是以『一期』为单位,也就是输入的现金流量必须有期数的观念。但是常常有些应用,现金流量并非定期式的。例如一个投资案,现金流量如下表:
可以看到现金流量发生日期是不定期的,并非以一期为单位。XIRR就是专为这类型的现金流量求报酬率,其他观念和IRR函数没有差别。XIRR传回来的报酬率已经是年报酬率。
XIRR参数
XIRR(values, dates, guess)
和IRR函数的差别是多了一个日期(dates)参数,此日期参数(dates)必须跟现金流量(Value)成对。例如上面的例子可以如下图的方式来完成。储存格B7的公式 =XIRR(A2:A5,B2:B5),算出来这投资案相当於每年2456%的报酬率。
MIRR函数
MIRR参数
MIRR(values, finance_rate, reinvest_rate)
MIRR是Modified Internal Rate of Return的缩写,意思是改良式的IRR。IRR到底有何缺点,需要去修正呢?主要的原因是IRR并未考虑期间领回现金再投资问题!IRR的现金流量里可分为正值及负值两大类,正值部分属於投资期中投资者拿回去的现金,这些期中拿回去的现金该如何运用,会影响报酬率的。负值部分属於投资期中额外再投入的资金,这些资金的取得也有融资利率方面要考虑。
MIRR使用的方式是将期间所有的现金流入,全部以『再投资利率』计算终值FV。期间所有的现金流出,全部以『融资利率』计算现值PV。那麼MIRR的报酬率:
=(FV/PV)1/n - 1
再投资报酬率
以例子来解说会较为清楚,一个投资案的现金流量如下:{-10000, 500, 500, 10500}这现金流量一期为一年,期初拿出10,000元,第1年底拿回500元,第2年底也拿回500元,第3年底拿回10500元。将现金流量代入IRR求内部报酬率:
=IRR({-10000, 500, 500, 10500}) = 5%
从这投资案的经营者来说,期初拿到10,000元,然後每年支付5%报酬500元,到了第3年底还本10000元,这投资案确实是每年发放5%的报酬没错。可是若从投资者角度来看,假若每年底拿到的500元只会放定存2%,也就是投资者期中拿回来的金额,到期末只有2%的报酬率,那麼投资者到第3年底时,实际拿到的总金额为:
= 500(1+2%) + 500(1+2%)2 +10500 ( 以Excel 表示 =500(1+2%)+500(1+2%)^2 + 10500 )
= 11,530
期初拿出10,000元,3年後拿回11,530,这样相当於年化报酬率:
= (11530/10000)1/3-1 (Excel 表示 =(11530/10000)^(1/3)-1 )
= 486%
这可解读为拿出10,000元,以复利486%成长,3年後会拿回11,530元。
MIRR可以不用那麼麻烦,只需输入再投资报酬率2%,便可轻易得到实际报酬率:
= MIRR(({-10000, 500, 500, 10500}), 0, 2%)
= 486%
投资者期间内所拿回的现金(正值),再投资的报酬率,会影响整体投资的实际报酬率。同一个例子,假若另一位投资者的再投资报酬率为4%,那麼实际报酬率修正为:
= MIRR(({-10000, 500, 500, 10500}), 0, 4%)
= 495%
如果投资者的再投资报酬率为5%,实际报酬率等於:
= MIRR(({-10000, 500, 500, 10500}), 0, 5%)
= 500%
可以看到当再投资报酬率为5%时,MIRR = IRR = 5%。这也同时说明了,IRR内部报酬率是假设再投资报酬率等於内部报酬率。
参考文章:EXCEL投资理财应用
有一个函数,使用方法如下:
IRR(values,guess)
Values 为数组或单元格的引用,包含用来计算返回的内部收益率的数字。
§Values必须包含至少一个正值和一个负值,以计算返回的内部收益率。
§函数 IRR 根据数值的顺序来解释现金流的顺序。故应确定按需要的顺序输入了支付和收入的数值。
§如果数组或引用包含文本、逻辑值或空白单元格,这些数值将被忽略。
Guess 为对函数IRR计算结果的估计值。
§Microsoft Excel使用迭代法计算函数IRR。从guess开始,函数IRR进行循环计算,直至结果的精度达到000001%。如果函数IRR经过20次迭代,仍未找到结果,则返回错误值#NUM!。
§在大多数情况下,并不需要为函数IRR的计算提供guess值。如果省略guess,假设它为01(10%)。
Ø如果函数IRR返回错误值#NUM!,或结果没有靠近期望值,可用另一个guess值再试一次。
注解
Ø函数IRR与函数NPV(净现值函数)的关系十分密切。函数IRR计算出的收益率即净现值为0时的利率。下面的公式显示了函数NPV和函数IRR的相互关系:
ØNPV(IRR(B1:B6),B1:B6)等于360E-08(在函数IRR计算的精度要求之中,数值360E-08可以当作0的有效值)。
1、选择目标单元格B8。
2、单击“公式”—“插入函数”。
3、d出“插入函数”对话框,“或选择列表”下拉选择“财务”—“IRR”选项。
4、d出“函数参数”对话框,将对应的参数单元格输入在参数列表中,单击“确定”即可。
5、生成公式=IRR(A3:A7,B3),计算的收益率结果显示在目标单元格中。
扩展资料:
Values 为数组或单元格的引用,包含用来计算返回内部收益率的数字。
§Values必须包含至少一个正值和一个负值,以计算返回的内部收益率。
§函数 IRR 根据数值的顺序来解释现金流的顺序。故应确定按需要的顺序输入了支付和收入的数值。
§如果数组或引用包含文本、逻辑值或空白单元格,这些数值将被忽略。
XIRR与IRR都反映一组现金流的内部收益率。然而在一些方面还是有区别的,具体如下:
1、适用范围不同:
XIRR:返回一组不一定定期发生的现金流的内部收益率。
IRR:计算一组定期现金流的内部收益率。
2、 函数语法参数不同:
XIRR函数语法参数:值必需;日期必需。
IRR函数语法参数:现金流,预估值,而日期不是必需的。
XIRR与IRR的使用范围:
IRR函数(内部收益率函数):不同还款方式因为占用本金的时间不同,所以在转化成以一年到期还本付息方式计算的"实际利率"时。需要计算本金的时间成本,而IRR函数就是帮助我们对比资金间时间成本的工具。
XIRR函数:它适用于间隔期相等或者不相等的现金流序列测算。函数 XIRR 要求至少有一个正现金流和一个负现金流,否则函数 XIRR 返回 错误值 #NUM!。
扩展资料:
IRR函数的语法:
IRR(values,guess)
values 为数组或单元格的引用,包含用来计算返回的内部收益率的数字。Values 必须包含至少一个正值和一个负值,以计算返回的内部收益率。
函数 IRR 根据数值的顺序来解释现金流的顺序。故应确定按需要的顺序输入了支付和收入的数值 如果数组或引用包含文本、逻辑值或空白单元格,这些数值将被忽略。
guess 为对函数 IRR 计算结果的估计值。
WPS表格 使用迭代法计算函数 IRR。从 guess 开始,函数 IRR 进行循环计算,直至结果的精度达到 000001%。如果函数 IRR 经过 20 次迭代,仍未找到结果,则返回错误值 #NUM!。
在大多数情况下,并不需要为函数 IRR 的计算提供 guess 值。如果省略 guess,假设它为 01 (10%)。
如果函数 IRR 返回错误值 #NUM!,或结果没有靠近期望值,可用另一个 guess 值再试一次。
IRR函数-
XIRR-
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)