跳到主内容
UniKit

IRR / NPV 计算器

输入每期现金流,用网格扫描 + 二分法 + 牛顿法求解内部收益率 IRR(多解会提示),同时给出净现值、投资回收期、折现回收期、盈利指数与 MIRR,并展示逐期折现明细。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

现金流与折现率

IRR 用混合法求解:网格扫描找符号变化,二分法收敛,牛顿法精修;NPV 的折现率可单独设置。所有计算都在浏览器本地完成。

计算结果

内部收益率 IRR16.34%
净现值 NPV130.73
投资回收期(期)2.41
折现回收期(期)2.74
盈利指数 PI1.1307
经调整内部收益率 MIRR14.60%

求解方式:网格扫描 + 二分法 + 牛顿法精修 · 融资率 10.0% · 再投资率 10.0%

求解到的收益率根:16.3406%

逐期折现明细

期数现金流折现系数现值累计现金流累计现值
0-1,000.001.000000-1,000.00-1,000.00-1,000.00
1300.000.909091272.73-700.00-727.27
2420.000.826446347.11-280.00-380.17
3680.000.751315510.89400.00130.73

求解过程

在 -99.9% ~ 1000% 之间以网格扫描净现值的符号变化,定位区间后用二分法收敛,再用牛顿法精修(下表为最后一次二分的迭代记录)。

迭代折现率净现值
18916.340560%5.684e-14
19016.340560%5.684e-14
19116.340560%5.684e-14
19216.340560%5.684e-14
19316.340560%5.684e-14
19416.340560%5.684e-14
19516.340560%5.684e-14
19616.340560%5.684e-14
19716.340560%5.684e-14
19816.340560%5.684e-14
19916.340560%5.684e-14
20016.340560%5.684e-14
净现值随折现率变化
-50.0% → 6,720.00-33.3% → 2,690.00-16.7% → 1,139.840.0% → 400.0016.7% → -6.0633.3% → -251.8850.0% → -411.8566.7% → -521.9283.3% → -601.05100.0% → -660.00116.7% → -705.22133.3% → -740.76150.0% → -769.28

这个工具能做什么

  • 评估投资项目:把每期现金流(首期为负投入)粘进来,直接拿到 IRR,判断这个项目值不值得做。
  • 做投资决策对比:IRR 高于资金成本(折现率)时 NPV 为正,两者一起看比只看收益率更稳。
  • 算回收期:想知道几年能回本,直接看简单回收期与折现回收期两个数字,后者更保守、更贴近实际。
  • 写商业计划或做作业:需要逐期折现明细、MIRR、盈利指数 PI 和 NPV 随折现率变化的曲线,一次全部生成。

示例

输入

-1000
300
420
680
(折现率 10%)

输出

内部收益率 IRR 16.34%
净现值 NPV 130.73
投资回收期(期) 2.41
折现回收期(期) 2.74
盈利指数 PI 1.13
经调整内部收益率 MIRR 14.60%

折现明细:第 0 期现金流 1,000.00(流出)现值为 -1,000.00,第 1 期 300.00 现值 272.73,第 2 期 420.00 现值 347.11,第 3 期 680.00 现值 510.89;累计现值由 -1,000.00 变为 130.73,所以折现回收期落在第 3 期。

常见问题

为什么会出现多个 IRR?

当现金流多次变号(先投入、中途又追加、再回收)时,净现值曲线可能多次穿过零点,数学上就有多个内部收益率。工具会扫描全部符号变化并把所有根列出来,同时给出提示,这时请以 NPV 为主要判断依据。

IRR 为空或提示无解是什么意思?

两种常见情况:现金流全部同号(没有初始投入或没有任何回收),此时 IRR 没有定义;或者 NPV 在整个扫描区间里都不变号,说明这组现金流不存在实数内部收益率。这时可以看 MIRR 或直接用 NPV 判断。

MIRR 和 IRR 有什么区别?

IRR 隐含「所有中间现金流都按 IRR 再投资」这个不现实的假设。MIRR 把正现金流按再投资率复利到期末、负现金流按融资率折现到初期,再算年化收益率,结果通常比 IRR 更保守也更贴近现实。

回收期为什么带小数?

回收期是在「累计现金流由负转正」的相邻两期之间做线性插值得到的,例如第 2 期结束还差 280、第 3 期流入 680,就得到 2 + 280/680 ≈ 2.41 期。折现回收期用的是折现后的累计现值,因此一定不小于简单回收期。

现金流怎么输入?支持多少期?

每行一个数字,逗号、分号、制表符也能作分隔符,负号表示流出。至少 2 期、最多 2000 期;出现非数字内容会报错。所有计算都在浏览器本地完成,数据不会上传。

关键词:irrnpvinternal rate of returnnet present valuepayback periodmirr内部收益率净现值投资回收期折现盈亏指数

同类工具