指標怎麼算
這頁說明 StackWorth 每個報酬與風險數字的來源與口徑。原則只有一條:當一個數字無法可靠計算時,畫面顯示「—」,而不是猜一個看起來正常的值。
XIRR
金額加權年化報酬率 · 反映「你實際投入的錢」賺了多少
把每一筆投入視為負現金流(錢離開你的口袋)、每一筆配息與賣出收入視為正現金流, 最後補上「今天全部賣出可收回的市值」作為一筆正現金流,解出讓這串現金流淨現值為零的年化利率。
解法先用 Newton-Raphson 迭代;若迭代結果無法通過殘差檢核(震盪、起點不良、跑滿上限都可能留下假解), 改用二分法在變號區間求根。無論走哪條路徑,回傳前都會再驗一次|NPV(rate)| 是否小到相對現金流規模可忽略;通不過就顯示「—」。
資料跨度不足 90 天時不顯示年化 XIRR——短期波動年化後會嚴重失真(例如 5 天虧 10% 會被年化成接近 -100%)。
TWR
時間加權報酬率 · 反映「投資決策本身」的好壞,剔除進出場時機
把整段期間依每一天的快照切成子期間,每個子期間的成長率=(當日市值 − 該期間內的淨現金流) ÷ 前一日市值,再把所有子期間相乘。 因為把現金流從分子扣掉,加碼或提領本身不會被算成報酬,留下的就是純粹的資產表現。
這也是淨值走勢圖的基準:起點設為 100,之後每個子期間乘上成長率。 XIRR 與 TWR 用相反的現金流慣例是刻意的——XIRR 跟著你的錢包,TWR 跟著投資組合。
快照少於 30 筆不顯示 TWR 總報酬;少於 90 筆不顯示年化 TWR。年化以日曆日換算(365.25 ÷ 實際天數)。
Sharpe
風險調整後報酬 · 每承擔一單位波動換到多少超額報酬
先算每個子期間的報酬,並把有斷日的期間換算成等效單日報酬(避免把多日變動當成一天), 取平均與標準差,減去無風險利率(年化 1.5%,換算成日)後除以日標準差,再乘√365.25 年化。
有效報酬期間少於 5 段時不顯示——樣本太少的標準差不具參考意義。 年化尺度用日曆日而非交易日,因為組合含週末仍在交易的加密資產。
最大回撤
從高點到低點的最大跌幅 · 衡量最壞情況下的帳面痛感
在「現金流調整後的 TWR 指數」上,逐日更新歷史高點,記錄每一點相對其之前高點的跌幅, 取最深的一次。因為建立在剔除現金流的指數上,提領不會被誤判成市場虧損。
期間內沒有出現任何回撤(一路創新高)時顯示「—」。
為什麼會看到「—」
這不是壞掉,是刻意的
常見原因:
- 資料跨度或快照數量還沒到該指標的門檻(見上方各項)。
- 求根結果沒通過殘差檢核,代表算出來的數字不可信。
- 報價來源當天缺資料——缺口以視覺呈現,不用前一日的值硬補一個報酬。
- 已實現損益為零時不顯示總報酬,避免和未實現損益重複計算。
資料來源與幣別
全部以基準幣別呈現
美股與 USD/TWD 匯率來自 Twelve Data、台股與歷史匯率來自 FinMind、加密貨幣來自 CoinGecko, 皆為免費額度並帶冷卻與重試。所有資產統一換算成基準幣別(預設 TWD); 大盤對照(SPY/QQQ)也會乘上當日 USD/TWD,才能和組合公平比較。
顏色慣例:賺為綠、虧為紅(西方慣例)。