IRR / NPV 计算器
输入每期现金流,用网格扫描 + 二分法 + 牛顿法求解内部收益率 IRR(多解会提示),同时给出净现值、投资回收期、折现回收期、盈利指数与 MIRR,并展示逐期折现明细。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
现金流与折现率
IRR 用混合法求解:网格扫描找符号变化,二分法收敛,牛顿法精修;NPV 的折现率可单独设置。所有计算都在浏览器本地完成。
计算结果
16.34%130.732.412.741.130714.60%求解方式:网格扫描 + 二分法 + 牛顿法精修 · 融资率 10.0% · 再投资率 10.0%
逐期折现明细
| 期数 | 现金流 | 折现系数 | 现值 | 累计现金流 | 累计现值 |
|---|---|---|---|---|---|
| 0 | -1,000.00 | 1.000000 | -1,000.00 | -1,000.00 | -1,000.00 |
| 1 | 300.00 | 0.909091 | 272.73 | -700.00 | -727.27 |
| 2 | 420.00 | 0.826446 | 347.11 | -280.00 | -380.17 |
| 3 | 680.00 | 0.751315 | 510.89 | 400.00 | 130.73 |
求解过程
在 -99.9% ~ 1000% 之间以网格扫描净现值的符号变化,定位区间后用二分法收敛,再用牛顿法精修(下表为最后一次二分的迭代记录)。
| 迭代 | 折现率 | 净现值 |
|---|---|---|
| 189 | 16.340560% | 5.684e-14 |
| 190 | 16.340560% | 5.684e-14 |
| 191 | 16.340560% | 5.684e-14 |
| 192 | 16.340560% | 5.684e-14 |
| 193 | 16.340560% | 5.684e-14 |
| 194 | 16.340560% | 5.684e-14 |
| 195 | 16.340560% | 5.684e-14 |
| 196 | 16.340560% | 5.684e-14 |
| 197 | 16.340560% | 5.684e-14 |
| 198 | 16.340560% | 5.684e-14 |
| 199 | 16.340560% | 5.684e-14 |
| 200 | 16.340560% | 5.684e-14 |
这个工具能做什么
- 评估投资项目:把每期现金流(首期为负投入)粘进来,直接拿到 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内部收益率净现值投资回收期折现盈亏指数