老喬的工具箱 (。・ω・。)ノ
(´・ω・`)

XIRR 報酬率計算機

分批加碼、部分贖回,時間點都不整齊?XIRR 幫你算出真正的年化報酬率。

XIRR(內部報酬率)能處理任意日期、任意金額的多筆現金流。輸入每一筆投入 (流出,記負數)與贖回(流入,記正數),立即算出年化報酬率, 並看到「用簡單報酬率除以年數」會算成多離譜的數字。

📌 XIRR 是什麼?跟 CAGR/IRR/TWR 差在哪?

XIRR 把每一筆現金流的實際日期都考慮進去,找出一個年化利率,讓所有現金流折現後總和為 0——分批加碼、中途部分贖回,全都能算,不必固定週期或固定金額。

CAGR 只能算「一筆錢放 N 年」的單筆情境,中途有進出就不適用;IRR 是 XIRR 的固定週期版本(假設每期間隔相等,例如每年一筆),日期不規則時 IRR 會算錯;TWR(時間加權報酬率)算的是「基金經理人的操盤能力」,刻意排除投資人自己加碼、減碼的時間點影響——XIRR 算的則是「你自己實際賺了多少年化」,是投資人真正該看的數字。

輸入你的現金流

流出(投入、加碼)記負數流入(贖回、配息領現)記正數。 最後一列預設當作「期末市值」——就算你還沒贖回,也用今天的估值當作一筆假想的流入,才能算出報酬率。

一鍵範例:
# 日期 金額(元,流出負/流入正) 刪除

試算結果

年化報酬率(XIRR):

+10.42%

總投入

150,000

總回收

180,000

淨損益

30,000

投入天數

731

XIRR 年化

+10.42%

⚠️ 別把「累計報酬 ÷ 年數」當年化報酬率

如果直接把累計報酬率(淨損益 ÷ 總投入 = +20.0%)除以投入年數(2.00 年),會算出 +9.99%——跟 XIRR 算出的 +10.42% 不一樣。原因是這個算法沒有考慮「每一筆錢分別在市場待了多久」:早投入的錢複利更久、晚投入的錢複利較少,簡單除以年數把所有現金流當成同一天投入,會低估或高估真正的年化效果。

計算原理與求解方式

  1. 找一個年化利率 r,讓所有現金流折現後總和為 0。 每筆現金流的折現期數 = 該筆日期與最早日期相差的天數 ÷ 365(Actual/365 日基準,跟 Excel XIRR 同口徑)。
  2. 求解用 Newton–Raphson 法(初值 10%,收斂容差 1e-7),找不到解或發散時退回 bisection 法保底 (先掃描寬範圍找變號區間,再逐步二分逼近)。兩者都失敗——最常見是現金流全部同號——就回報「無法收斂,請確認至少一筆正、一筆負」。
  3. 全部在瀏覽器端計算,不上傳任何資料。 你輸入的金額與日期只留在你的裝置上,重新整理就清空(除非你用「複製分享連結」把資料存進網址)。

這是「歷史結果的年化換算」,反映你實際發生過的現金流,不是對未來報酬的預測,也不構成投資建議。

常見問題:XIRR 報酬率計算機

XIRR 是什麼?

XIRR(eXtended Internal Rate of Return,內部報酬率延伸版)是能處理「不規則現金流」的年化報酬率算法——每一筆投入或贖回都可以是任意日期、任意金額,不必固定週期、固定金額。它回答的問題是:「把所有這些進出的錢,換算成單一個年化利率,會是多少?」

XIRR 跟 CAGR 差在哪?

CAGR(年複合成長率)只能處理「一筆錢、放 N 年、變成另一筆錢」的單筆情境,公式是 (期末值/期初值)^(1/年數) − 1。XIRR 則能處理「多筆、不同時間點」的加碼與贖回——只要中途有分批投入或部分提領,CAGR 就不適用,得用 XIRR。

定期定額該用哪個?

嚴格算法上該用 XIRR:定期定額每一筆投入的進場時間不同,每筆錢在市場待的時間長短不一樣,只有 XIRR 能正確反映這個時間加權效果。若只是抓一個粗略方向感(例如假設固定年化報酬率去試算未來),可以用工具箱的「定期定額能滾多大?」(/dca-calculator/);那支工具走的是反向邏輯——已知假設報酬率去推算期末值,本工具則是已知實際現金流去反推報酬率。

為什麼算不出來?

最常見原因:現金流全部同號(例如只有流出、沒有流入,或相反)。XIRR 的定義需要至少一筆流出(負數)與一筆流入(正數),否則沒有一個利率能讓現金流折現總和等於 0,數學上無解。另外只有一筆現金流(沒有第二筆日期)也無法計算——至少要兩筆才成立。

想看更完整的公式拆解?主站這兩篇講透了

joelin.cc · 老喬的最新文章,把這一行的來龍去脈講清楚。

其他財務工具

同一系列裡,看看其他角度的試算:

報酬率算對了,才知道下一步怎麼走

知道真正的年化報酬率,才能拿它跟大盤、跟其他標的公平比較。 想反過來用固定報酬率推算未來?試試「定期定額能滾多大?」。

訂閱老喬報,每週一封 ↗

(๑˃̵ᴗ˂̵)و 已複製