公司財務

XIRR 與 XNPV

XIRR and XNPV: dated cash flows

依每筆實際日期計算現值與年化內部報酬率,採實際日數/365。

調整假設,看數字如何改變

01 · 先猜猜看同樣先付 1,000、後收 1,100,延後收款會讓 XIRR?

以下使用教學假設;調整滑桿後立即比較結果。

XNPV(首筆日期現值)0
實際日期現金流時間軸

現金流金額

-1,0001,10000183365

距首筆日數

距首筆日數: 365 · 現金流金額: 1,100

圖表資料
距首筆日數現金流金額
0-1,000
3651,100

本次代入

XNPV≈-1000+1000≈0.00
XIRR 有效年率(找到的根)10%

XNPV 大於零表示在指定折現率下,流入現值超過流出現值。XIRR 須配合規模、時點與再投資假設,不宜直接用來排名互斥專案。

同樣收回1,100,日期為什麼重要?

先支出1,000,將來收到1,100,看起來都是多了100;但一年後收回和兩年後收回,資金被占用的時間不同。若把不等距收付款硬塞成相隔相同時間的「第1期、第2期」,就可能錯估等待成本。

NPV/IRR適合事先定義的等距期間。XNPV/XIRR則讓每筆日期決定折現時間,可用來理解分批投入、私募現金流或不規則專案收支。本頁是教學情境,不是匯入真實市場資料的績效報告。

日期先變成年數,再變成現值

以首筆日期d₀為基準,每筆時間tᵢ=(dᵢ−d₀)/365。將CFᵢ除以(1+r)^tᵢ,就是那筆現金在基準日的價值;正數代表流入,負數代表流出。r須大於−100%,並使用有效年率口徑。

本工具採實際日數/365,閏年也仍除以365;日曆上相隔一年不一定恰好是t=1。以下使用2025-01-01至2026-01-01的365日,或至2027-01-01的730日,才能把日期與簡單的一年、兩年算式對上。

XNPV與XIRR回答不同問題

必要報酬率先由使用者給定,XNPV回答這些收支是否提供超過該要求的價值。一年後收到1,100,在10%下:−1,000+1,100/1.10=0;改成5%必要報酬,XNPV約47.62。零代表剛好符合指定要求,不是沒有收到現金或沒有利息。

XIRR反過來找使XNPV為零的年率,一年例子是10%。若把同一筆1,100延到730日,10%下的XNPV變成約−90.91,XIRR降至約4.8809%,因為1,000要經過兩年才長成1,100。不能把兩年總增幅10%直接叫作年報酬10%。

為什麼可能多解,甚至沒有解?

現金流若先支出、再收到、又再支出,折現率改變可能讓現值曲線多次穿過零。以恰隔365日的−100、+230、−132為例,10%和20%都能令XNPV為零;不能挑較高的根就宣布投資較好。

所有收支若同號,在有效折現範圍內就無法相互抵銷成零;有正有負也不保證一定存在適合的根。本工具使用有限數值搜尋,無解不會冒充0%,找到的根也不等於已證明找齊全部根。互斥專案仍應在一致的必要報酬下比較XNPV及金額規模。

把滑桿觀察連回資金決策

上方只改變收款的相隔日數,金額仍是1,100;請看時間軸移動、XNPV與XIRR,而不是把結果歸因於多賺了現金。收款越晚,對同一正折現率的現值通常越低,年化增長也被攤在更長時間上。

真實比較還要核對稅費、外幣換算與是否漏掉收支。單一XIRR不會自動安排中途現金的再投資;若要比較期末財富,必須另外寫出再投資與資金限制。所有金額也須來自相同投資範圍,避免把投入當收入。

展開正式定義與公式

r > −100%; Actual/365.

CFᵢ / dᵢ
每筆現金流金額與實際日期。
d₀ / r
首筆日期/有效年折現率,小數;日數固定除 365。

適用範圍與模型限制

日期不早於首筆,採 UTC 日曆日與固定 365 分母(閏年也相同)。可合併同日收支。XIRR 搜尋 log(1+r)∈[−16,16],不保證找到所有根;多次變號須審慎解讀。

常見問題

閏年改用 366 作分母嗎?

不。此處與 Excel 日期折現慣例一致,實際日數固定除 365;閏日會增加分子。

找到一個 XIRR 就能證明唯一嗎?

不能。有限搜尋可能漏掉根;多次變號需特別留意,應搭配指定折現率的 XNPV。

學完這頁,你可以…

  • XNPV 將每筆現金流折回第一筆日期;XIRR 是令此現值合計為零的有效年率。
  • 日期不早於首筆,採 UTC 日曆日與固定 365 分母(閏年也相同)。可合併同日收支。XIRR 搜尋 log(1+r)∈[−16,16],不保證找到所有根;多次變號須審慎解讀。