IRR 计算器
结果
内部收益率
- 净现值
- 53,968.13
- 收到的现金合计
- 205,000.00
内部收益率(Internal Rate of Return,通常直接写 IRR)是让一个项目的现金流折回今天之后恰好等于它成本的那个贴现率,换句话说就是保本的资金成本。填进你打算投进去的钱、预计每期能收回的现金、以及你认为钱对你来说值多少,计算器会解出让净现值等于零的那个率,同时把「按你给的率折出来的净现值」一起印出来,好让你看见中间还剩多少余地。两个答案是同一件事的两种说法:内部收益率高于你的门槛,净现值就是正的。本页把两个都摆出来,判决就不必靠信。
同一个项目,六档门槛率:判决在哪一行翻面
| 门槛收益率 | 按该率折的净现值 | 内部收益率与门槛之差 |
|---|---|---|
| 4 | 76797.79 | 18.49 |
| 8 | 53968.13 | 14.49 |
| 12 | 35287.32 | 10.49 |
| 16 | 19847.79 | 6.49 |
| 20 | 6968.02 | 2.49 |
| 24 | -3869.74 | -1.51 |
这里的轴是门槛收益率,也就是读者自己带来的那个数:现金流构成项目,率是钱对他的成本。同一笔 100,000 的投入与同一串六期收回出现在每一行里,只是分别按 4%、8%、12%、16%、20%、24% 折现。从上往下读中间那一列,净现值每一次减少的幅度都比上一次小,从 76,797.79 一路降到负 3,869.74,在 20% 与 24% 这两行之间穿过零。第三列是同一件事从另一侧看:内部收益率固定为 22.49%,逐行减掉门槛率,于是从 18.49 降到负 1.51,并且在完全相同的位置变号。两列在同一行一起变号就是这张表的重点——内部收益率与净现值不是两个「通常一致」的测量,而是同一个方程在两个位置上的读数。
公式
求 r,使 −初始投资 + 第1期现金流 ÷ (1+r) + 第2期现金流 ÷ (1+r)² + … + 第n期现金流 ÷ (1+r)ⁿ = 0。 期数超过两期之后这个方程没有代数解,所以是用区间二分逐步逼近,直到净现值在两位小数上等于零。
- 初始投资
- 这个项目今天要你掏的钱,填正数。它在方程里是被减掉的那一项,而不是写成负数混在现金流里——这样符号约定是看得见的,不必从一串数字里猜。
- 现金流
- 每一期能收回的钱,用空格分开。第一项是「从现在起一期之后」,不是现在;今天就能拿到的钱应当作为初始投资的减项。一期是多长由你定,月或年都行,只要贴现率是按同一期表达的。
- 贴现率
- 本页里它是门槛收益率:你的资金成本,或者在同等风险下这笔钱别处能拿到的回报。它完全不改变内部收益率——它决定的是这个项目过不过线,所以是把一个率变成一个结论的那个数。
- 净现值
- 把每一笔未来的收入按你的率折回今天、再减掉成本之后,这个项目今天值多少。为正说明它跑赢了门槛;而内部收益率就是让这个数穿过零的那个率。
- 内部收益率
- 让净现值等于零的那个贴现率,用百分比表示。它只由现金流本身决定——同一个项目不管你用哪个门槛率去衡量,内部收益率都是同一个数——这也正是为什么两个输出永远不会互相矛盾,却常常看起来像在给不同的建议。
要把一个项目与资金成本比较、而不是与另一个项目比较时用它,而这正是资本预算通常的起点。率是容易说出口的东西——这个项目回报 22%,我们的钱成本 8%——而且它不需要知道你要投多少,所以适合先拿它在一长串候选里做初筛。三件它做不到的事。它看不见规模:一个投 1,000、回报 200% 的项目和一个投一百万、回报 25% 的项目可以有同一个内部收益率,而该挑哪一个只有净现值说得出来。它假定每一笔收回的钱都能按同一个率一直再投到项目结束,这个假设在 8% 上还算合理,在 200% 上就属于乐观——算术没错,附在算术上的那个故事不对。最后,它要求现金流的符号只变一次:先投出去,然后一路收回。中途某一期出现一笔支出时,方程可能有两个解,而本页会拒绝这种输入,而不是悄悄返回其中一个根。
算例
投 100,000、六年收回 205,000,资金成本 8%
- 收回合计 205,000 对成本 100,000,但这个比较忽略了钱是什么时候到的
- 按 8% 逐年折现后总额是 153,968.13,减掉 100,000 的成本,净现值 53,968.13
- 解出让净现值等于零的率:22.49%
- 22.49 高于 8% 的门槛,判决是「可以投」
两个答案要一起读。内部收益率说这个项目最多扛得住 22.49% 的资金成本;净现值说在 8% 上它比成本多值 53,968.13——同一个判断,一个写成率、一个写成钱。第三个数字 205,000 是给想跳过折现的人准备的:它比成本多 105,000,而在门槛率为零时净现值恰好就是它。
只收一期:投 10,000,一期后收回 12,000
- 只有一期时有闭式解:12,000 ÷ 10,000 − 1 = 20%
- 把 12,000 按 20% 折回今天得到 10,000,正好等于成本
- 净现值:10,000 − 10,000 = 0
- 判决是「恰好保本」
这一格是页面用来核对自己求解器的地方,因为答案手算得出来。也是唯一一个徽章看起来有点奇怪的地方:净现值显示 0.00,而徽章说「恰好保本」而不是「别投」。凡是保留两位小数之后显示为零的,都归到保本这一档,因为一个「别投」紧挨着净现值 0.00 印出来,读起来像算错了——而读者核对徽章靠的正是它旁边那个显示值。
同一个项目,门槛 25%
- 内部收益率不变,仍是 20%——它不依赖门槛率
- 把 12,000 按 25% 折回今天是 9,600
- 净现值:9,600 − 10,000 = −400
- 20% 低于 25% 的门槛,判决翻成「别投」
同一个项目跑两遍,第一个输出完全一样而判决相反,这是看清两个数各自管什么的最直接方式。内部收益率描述的是项目,门槛率描述的是你。改其中一个,判决可以翻面,而项目一点没变。
会亏掉价值的项目:投 10,000、收回 5,000
- 还是一期,闭式解可用:5,000 ÷ 10,000 − 1 = −50%
- 就算完全不折现,收回的钱也比成本少 5,000
- 门槛率为零时的净现值:5,000 − 10,000 = −5,000
- 判决是「别投」,而负的率是对这件事最诚实的描述
内部收益率为负是一个真实答案,不是故障:它说的是这个项目只有在能以负的资金成本融资时才保本,也就是不可能。这一格决定了求解器的下界——一个照抄债券收益率求解器、把区间写成零到一百的版本,在这里会报错而不是返回负五十。
投 10,000,五年后只收回 1 元
- 前四期填 0 是合法的:没有钱进来,但也没有钱出去
- 方程变成 1 ÷ (1+r)^5 = 10,000 ÷ 10,000,即 (1+r)^5 = 0.0001
- 解出 r = −84.15%,而不是 −100%,因为那笔收回虽小却不为零
- 门槛率为零时的净现值:1 − 10,000 = −9,999
合法输入完全可以把答案压到零以下很远,而页面必须能够到达那里,否则它会在一组定义得清清楚楚的数字上报错。这里值得分清的是:这个项目有内部收益率,是负 84%;而一个一分钱都收不回来的项目没有内部收益率,因为没有任何率能让「什么都没有」的价值等于一笔成本。
局限
内部收益率是一个率,而率会把规模藏起来。两个项目可以共享同一个率,而赌注差一千倍,所以这个数只是一个筛子而不是决定:候选项目过了门槛之后,给它们排序的是净现值。它还假定每一笔收回的钱都按内部收益率本身再投到项目结束,这在率不高时是个说得过去的描述,在 200% 的时候就有点一厢情愿——算术仍然成立,但「中间每一块钱都能赚到那个率」这个解释不成立。现金流的符号必须只变一次,先投出去然后一路收回;一个最后一年还有拆除费的项目可以有两个数学上都成立的率,本页拒绝这种输入,而不是挑一个。这个率也没有做风险、税或通胀调整,这些假设全都压在你填的那个贴现率里。
常见问题
- 内部收益率到底是什么?
- 它是让一个项目未来的现金流折回今天之后恰好等于项目成本的那个贴现率,也就是让净现值等于零的那个率。高于它,项目创造价值;低于它,项目毁掉价值。以默认那组数为例,投 100,000、六年收回 205,000,内部收益率是 22.49%,意思是这个项目最多扛得住 22.49% 的资金成本,再高就不值得做了。
- 它和净现值有什么区别?
- 同一个方程,未知数不同。净现值是拿着贴现率去问「这个项目值多少」,内部收益率是拿着「值零」去问「是哪个贴现率」。因为是同一个方程,两者不可能矛盾:率高于门槛与净现值为正,是同一句话。差别在于算之前你得先知道什么——算净现值要先有资金成本,而率可以在不知道资金成本的情况下先报价,所以率常被用来在不同项目之间比,净现值常被用来给它们排序。
- 门槛收益率该填多少?
- 填钱对你来说真实的成本:如果是借来的钱,填借款利率;如果是自有资金,填同等风险下这笔钱别处的预期回报;有规定要走基准的,用公布的行业财务基准收益率——发改投资〔2013〕586号那份《建设项目财务基准收益率取值表》就是政府投资项目所用的取值来源。本页不会替你挑,而这确实是最容易随手填的一个输入。它的作用跑两遍就看得出来:门槛 20%、项目回报 20% 时刚好保本,门槛抬到 25% 同一个项目就被否掉了,动的只是那根杠。
- 为什么内部收益率不能用公式直接算出来?
- 因为没有那样的公式。只有一期时确实有闭式解——投 10,000 收回 12,000 就是 20%——但从两期开始,方程就是那个次数的多项式,任何变形都无法把利率单独解出来。所以计算器改用缩小区间的办法:先找到一个让净现值为正的率和一个让它为负的率,然后把两个率之间的间隔反复对半切,直到净现值在两位小数以内等于零。这也是页面必须在意搜索区间的原因:一个回报是负 84% 的项目,必须落在区间之内。
- 为什么现金流里不能填负数?
- 因为答案会不再唯一。先投一笔、之后一路收回这种形状下,净现值随利率上升而单调下降,所以它穿过零的地方只有一个,去找它一定能找到。而在后面某一期放一笔支出——比如第五年的一笔拆除费——曲线就可能拐回来穿过零两次,得到两个数学上都成立的内部收益率。本页拒绝负数并在错误信息里说清原因,而不是返回其中一个根、让屏幕上完全看不出还有另一个。
- 内部收益率可以是负的吗?
- 可以,负的意思是这个项目收回来的钱还不够它消耗掉的。投 10,000 只收回 5,000,得到负 50%,也就是说只有资金成本低于零它才保本。本页为此特意把搜索区间伸到零以下:一个照搬债券收益率求解器区间的实现(债券那边从 0 开始是合理的)会在这样一组再普通不过的数字上报错。
- 什么情况下不该用内部收益率?
- 项目规模差别很大时、期限差别很大时,以及答案取决于中间那些钱怎么用时。率看不见规模,所以一个小而率惊人的项目会排在一个真正创造更多价值的大项目前面,这也是资本预算要把率和净现值配着用的原因。它还默默假定中间收回的钱都按同一个率再投到结束,8% 上这是合理描述,200% 上就是期望而非事实。这两条里有任何一条要紧时,用净现值排序、把率当筛子。
参考资料
- 《国家发展改革委、住房城乡建设部关于调整部分行业建设项目财务基准收益率的通知》(发改投资〔2013〕586号)全文与《建设项目财务基准收益率取值表》:政府投资项目以及按政府要求进行经济评价的建设项目所用的行业财务基准收益率,也就是中国官方语境下的门槛收益率取值 — 国家发展和改革委员会
- OMB Circular A-94(美国行政管理和预算局《联邦项目效益成本分析指南与贴现率》,2023 年 11 月 9 日修订版)第 5a 节:折后净效益为正的项目通常优先、为负的项目通常应当避免——本页徽章三档所依据的判决口径 — Office of Management and Budget, Executive Office of the President (United States)