把 CAGR 當成對明年的預測
它描述的是被抹平後的一條歷史路徑。一個由一個異常出色的年份加四個平淡年份堆出 20% CAGR 的策略,從來沒有哪一年真的做到過 20%,而這個數字裡也沒有任何東西暗示它將會做到。
複合年增長率是把多年期報酬按複利折算成年化後的數字,它把長短不一的回測結果拉到同一把尺上,讓兩個在不同時間跨度上測試過的策略可以互相比較。
亦稱:CAGR, 年化報酬率, 年增長率
更新於
如果帳戶每年都按同一個百分比成長,並且恰好停在它實際停下的位置,那個年度百分比會是多少?它是一個被抹平的平均值,而不是對策略真正經歷過的任何某一年的描述。
在你知道它花了多長時間之前,總報酬毫無意義,而回測幾乎從來長度都不一樣。CAGR 是讓兩個結果可比的那道換算,也正是這道換算,掩蓋了兩個端點之間的路徑有多麼顛簸。
CAGR = (期末餘額 ÷ 期初餘額)^(1 ÷ 年數) − 1 指數是樣本真正涵蓋的年數,包含小數部分:一次從 2019-01-01 跑到 2026-04-01 的執行是 7.25 年,不是 7 年。用整年數去算會把數字吹大。兩個餘額必須是同一幣別,並且來自同一次執行;把回測接到前推紀錄上,得到的數字哪一邊都描述不了。
單一數字無法描述一套策略。下列指標會改變這個數字的讀法。
一個 EA 在 10,000 美元的入金上接受測試,跑完時停在 18,000 美元。視窗正好五年。CAGR 要回答的問題是:怎樣一個恆定的年度增速,會產生同樣的期末餘額。
同樣這 8,000 美元的獲利若攤到十年,就是 6.1% 的 CAGR——利潤分毫不差,描述的卻是一個截然不同的策略。
計算 (18,000 ÷ 10,000)^(1 ÷ 5) − 1 = 1.8^0.2 − 1 = 0.125
結果 12.5% 的複合年增長率
CAGR 是兩個端點加一段時長的摘要。中間發生的一切都得從別的數字裡讀出來,所以永遠不要單獨引用它。
| 區間 | 含義 |
|---|---|
| 視窗不足一年 | 把不完整的一年年化,會把樣本碰巧做到的任何事情放大。一段四個月的強勢會被外推成策略從未維持住過的數字。 |
| 一到三年 | 可讀,但很可能只涵蓋了單一的市場狀態。一旦另一種狀態進入樣本,就該預料到這個數字會移動。 |
| 五年以上,且已計入成本 | 值得引用的視窗。長到足以包含不止一種市場狀態,也讓成本誠實地累積起來。 |
| 引用時沒有附上同一次執行的回撤 | 從構造上就是殘缺的。30% 的 CAGR 配 15% 回撤,與 30% 的 CAGR 配 55% 回撤,不是可比的主張。 |
mt5depot 的 EA 頁面會寫明被測視窗及其起訖日期,並公開完整的成交明細,所以年化數字可以從源頭重新推導,而不必從標題裡拿。把十四個全部重算,得到的是 0.48% 到 32.08%,中位數 4.0%——有八個落在 5% 以下,恰好有一個夠到上面 15–35% 的區間。那一個是在與其他執行相同的 10,000 USD 入金上、以 0.1 手同時開著二十四條腿的組合。這就使這個區間成了一句關於手數設定的陳述,而不是對策略的判決:百分比追蹤的是同時開著多少部位,而不是優勢本身的品質。請把這個區間與該次執行所用的入金與手數之比放在一起讀,否則它衡量的是資金管理,而不是優勢本身。
它描述的是被抹平後的一條歷史路徑。一個由一個異常出色的年份加四個平淡年份堆出 20% CAGR 的策略,從來沒有哪一年真的做到過 20%,而這個數字裡也沒有任何東西暗示它將會做到。
把三個月放大成一年,會把優勢和運氣一起乘以四。這是讓一個平庸結果搖身變成行銷數字最常見的路徑,而且只要視窗長度沒有寫在數字旁邊,它就是隱形的。
複利與固定手數會從完全相同的成交序列中產生不同的曲線。把一方的年化數字擺到另一方面前,獎勵的是資金管理設定,而不是策略本身。
百分比只有相對於產生它的餘額才有意義。同一個 EA 用同樣的手數放在 1,000 美元的入金上,承擔的相對風險是十倍,它的百分比報酬也就不是同一個主張。