內部收益率計算器

免費線上內部收益率(IRR)計算器。輸入任意現金流序列和初始猜測值,即可得到 IRR 以及在該折現率下的 NPV。採用 Newton-Raphson 演算法並以二分法兜底,穩健收斂。

找到讓 NPV 等於零的折現率。 先填寫初始投入(可選),再按期填入現金流(正值代表收入,負值代表支出)。計算器會自動求解讓 NPV 等於零的內部收益率,並顯示累計現金流入、流出以及執行累計現金流曲線。

內部收益率 (IRR)
淨現值(在 IRR 處)
總現金流入
總現金流出
淨現金流

理解內部收益率(IRR)

什麼是 IRR?

內部收益率(IRR)是讓一系列現金流的淨現值(NPV)等於零的折現率。通俗地講,就是使專案現金流入剛好償付現金流出的"年化盈虧平衡回報率"。 \[ 0 = \sum \frac{CF_t}{(1 + IRR)^{t}} \]

其中 \(CF_t\) 是第 \(t\) 期的現金流。第 0 期通常是初始投資,進行折現。

IRR vs. NPV vs. ROI

  • IRR —— 一個比率,可直接與資金成本(必要回報率)比較。
  • NPV —— 一個金額,取決於你選擇的折現率。
  • ROI —— 簡單比值,忽略貨幣時間價值。

IRR 是 NPV = 0 時對應的那個折現率,三者回答的是互補的問題。

算例

專案今天投入 10,000 元,未來三年分別回收 3,000、4,200、6,800 元:

\[ NPV(r) = -10000 + \frac{3000}{1+r} + \frac{4200}{(1+r)^{2}} + \frac{6800}{(1+r)^{3}} \]

令 NPV = 0 求得 IRR ≈ 25.65%——專案的盈虧平衡年化回報率。

求解方法

IRR 沒有解析解,我們使用:

  1. Newton-Raphson:速度快,靠近根時二次收斂,需要合理的初始值。
  2. 二分法兜底:Newton 不收斂時啟用,魯棒但慢。

兩種方法都收斂到 1e-7 以內或最多 200 輪迭代。

多個 IRR

當現金流多次變號(例如先正後負再正)時,NPV(r) = 0 這個多項式可能有 多個實數根。此時 IRR 含義模糊,應改用資金成本下的 NPV。

常見誤區

  1. 再投資假設:IRR 隱含假設所有中間現金流按 IRR 本身再投資,現實中幾乎不可能成立。MIRR(修正 IRR)允許指定獨立的再投資率。
  2. 規模盲區:1,000 元投入翻倍和 100 萬元投入翻倍的 IRR 都是 100%,但意義不同。需要結合規模和 NPV 綜合判斷。
  3. 時點偏好:IRR 偏向獎勵早期回款的專案,可能讓人忽視長週期價值創造。
  4. 必要回報率對比:IRR 一定要和資金成本比較才有意義。15% 的 IRR 如果成本是 12% 就是虧的;如果是 8% 就是賺的。

何時使用 IRR

  • 規模和回款節奏相近的互斥專案對比。
  • 給非財務背景的干係人彙報(IRR 作為百分比直觀易懂)。
  • 做完整 NPV/DCF 分析前的快速篩選。

資本預算與估值仍應以 NPV 為主指標,把 IRR 當作一致性校驗。

工具說明

IRR 採用 Newton-Raphson + 二分法兜底;NPV 在求得的 IRR 處重算以驗證收斂;圖表用 Chart.js(MIT)繪製——綠色柱表示流入、紅色柱表示流出,琥珀色折線為累計現金流,方便觀察回本時點。

開源許可宣告:IRR/NPV 數學由本工具獨立實現,演算法為 Newton-Raphson + 二分法兜底;圖表使用 Chart.js by Chart.js contributors(MIT),本地打包引入。

常見問題解答

多少 IRR 算好?
取決於你的資金成本和專案風險。早期創業專案可能要求 30%+;成熟公用事業債券 6% 即可接受。IRR 一定要和必要回報率比較,不能只看絕對數字。
為什麼 IRR 顯示'無解'?
通常是因為現金流沒有正負號變化(全正或全負),或者 IRR 方程沒有實數根。請確保同時存在流出和流入,並避免重複輸入初始投入。
為什麼 NPV at IRR 顯示的不是零?
我們在相鄰兩次迭代差值低於 1e-9 時停止。殘差極小(幾分錢)屬於正常收斂現象。
IRR 和年化 ROI 有什麼區別?
ROI = 總收益 ÷ 初始投入,忽略時間因素。IRR 是在同樣現金流模式下的等價年化回報率。IRR 是有時間維度考量的 ROI。
為什麼同一個專案會出現兩個不同的 IRR?
現金流多次變號時,NPV(r) = 0 可能有多個實數根,IRR 含義模糊,此時更穩妥的做法是用資金成本下的 NPV 來決策。
累計線代表什麼?
累計線顯示從第 0 期到當前期為止的現金流之和。曲線與零軸相交的點就是專案的回本時點(payback period)。
初始投入應該填在獨立輸入框還是現金流列表裡?
兩種方式都可以——本工具把獨立輸入視為第 0 期,列表中的現金流視為第 1、2、3 … 期。如果想全部填在列表裡,把獨立輸入框設為 0 即可。