VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 回測與檢驗

回收因子:公式、多少算好與使用限制

回收因子是淨損益除以最大回撤:整段測試中,策略把最糟的虧損賺回了幾倍。它沒有單一的好數值,會隨測試長度增加,只有在相同測試長度下比較,並對照你實際要備的保證金檢查,才有意義。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. 回收因子是什麼?怎麼計算?
  2. 回收因子多少算好?
  3. 回收因子與獲利因子:差別在哪?
  4. 回收因子與 Calmar 比率:差別在哪?
  5. 真實回測裡的回收因子是什麼樣子?
  6. 為什麼短樣本會讓回收因子不可靠?
  7. 常見問題
  8. References

回收因子是什麼?怎麼計算?

回收因子等於淨損益除以最大回撤,表示整段測試中,策略把最糟的高點到低點虧損賺回了幾倍。回收因子為 3,代表這段測試賺到的錢是最深虧損的三倍;低於 1,代表策略從未完全賺回那筆虧損。

最大回撤是權益曲線從高點跌到隨後最低點的最大跌幅,計算至創下新高為止。權益曲線是已平倉交易損益隨時間累計的走勢。兩個數字都來自這條曲線,而不是交易明細:回撤由一連串依特定順序出現的交易組成,逐筆看交易是看不出來的。如果你手上有一串權益數字,免費的最大回撤計算機可找出最深的跌幅,以及回到高點所花的時間。

本文只用一個公式:

回收因子 = 淨損益 ÷ 最大回撤

其中淨損益是從第一根 K 棒到最後一根 K 棒,所有已平倉交易扣除手續費與滑價後的總損益;最大回撤是權益曲線最深的跌幅,以相同的金額單位計算。兩者都取自用舊價格重播規則、計入成本的回測,所以這個比值的可信度,取決於回測有沒有把成本設對。

  1. 設定手續費與滑價後再跑回測。沒有計入成本的回撤會偏淺。
  2. 在權益曲線末端讀出已平倉交易的淨損益。
  3. 找出曲線上最深的高點到低點跌幅。它常常不是最後一次,也常常不是最長的一次。
  4. 用第一個數字除以第二個數字。在結果旁寫下測試年數與交易筆數;後面的段落會說明這兩個數字為何要一起看。
權益曲線示意圖:淨損益是從第一點到最後一點的上升幅度,最大回撤是從高點到隨後低點的最深跌幅,回收因子是淨損益除以最大回撤 淨損益除以最糟跌幅 從同一條權益曲線讀出兩者 淨損益 最大回撤 回收因子 = 淨損益 ÷ 最大回撤 所以:兩者要從同一條曲線讀。
淨損益是從第一根 K 棒到最後一根 K 棒的上升幅度;最大回撤是其間最深的跌幅。回收因子是前者除以後者。

假設性範例

一份為期五年的期貨回測,扣除成本後淨損益為 $60,000。權益曲線最深的跌幅,從第二年的高點跌到八個月後的低點,金額為 $20,000。回收因子 = $60,000 ÷ $20,000 = 3.0。策略在這五年裡,把最糟的虧損賺回了三倍。

回收因子多少算好?

回收因子沒有單一的好數值,因為同一個數字,放在兩年的測試與十年的測試裡,意義不同。測試越長,淨損益持續累積,而最糟回撤只是一次事件。兩年得到 3,比十年得到 3 更有說服力,因為後者的策略有五倍的時間去賺回虧損。解讀這個比值時,一定要同時看測試年數與交易筆數,不要單獨看。

有兩種解讀站得住腳。回收因子低於 1,代表這段測試沒有賺回自己最糟的虧損;這樣的策略,你會在回撤谷底就停止交易。回收因子在數年、幾百筆交易的測試中明顯高於 1,代表規則在整段期間的產出,遠大於最糟的虧損。介於兩者之間時,只比較同一商品、相同長度的測試,並優先選回撤較淺就達到該比值的策略,因為回撤是你必須用保證金備好的數字。

三條假設性權益曲線,淨損益都是十萬美元,最糟跌幅分別為十萬、四萬與兩萬美元,回收因子分別為 1.0、2.5 與 5.0 同樣獲利,跌幅不同 假設性,每條淨損益 $100k 最糟跌幅 回收因子 $100k $40k $20k 1.0 2.5 5.0 跌幅越淺,因子越高。 所以:優先選回撤較淺的。
淨損益相同、最糟虧損不同的三條曲線。測試結束時的獲利數字分不出它們,回收因子分得出。

有一件事無法改善回收因子,就是部位大小。交易兩口而不是一口,每筆交易結果都加倍,淨損益加倍、最大回撤也加倍,比值不變。槓桿也一樣:帳戶較小、口數相同,權益曲線的金額與回收因子都相同,只是回撤占帳戶的比例大得多。保證金與帳戶規模如何把金額回撤變成你撐得住或撐不住的百分比,請見期貨槓桿與保證金如何改變回測回撤。

假設性範例

一口:淨損益 $100,000,最大回撤 $40,000,回收因子 2.5。兩口,規則與 K 棒都相同:淨損益 $200,000,最大回撤 $80,000,回收因子仍是 2.5。這個比值顯示兩次回測是同一個策略,這是正確的。帳戶撐不撐得住 $80,000 的回撤,是另一個問題,比值並不回答。

回收因子與獲利因子:差別在哪?

獲利因子不看交易順序,回收因子則取決於順序。獲利因子是所有獲利交易的總和,除以所有虧損交易的總和。同一批交易無論怎麼洗牌,兩個總和都不變,獲利因子也不變。最大回撤以及隨之而來的回收因子卻可能大幅改變,因為回撤是一條路徑:取決於哪些虧損排在一起。

想像兩位登山者,一天爬升的總高度相同。一位以穩定的節奏,小幅上上下下;另一位整個上午都在下坡,下午才把高度全部爬回來。爬升的總高度相同,就像獲利因子;各自必須走出的最深谷底卻差距甚大,就像回撤。

同樣十筆假設性交易,五筆獲利兩千美元、五筆虧損一千美元,以兩種順序排列:分散排列時回收因子為 5.0,虧損先出現時為 1.0,兩者的獲利因子都是 2.0 交易相同,路徑不同 獲利 +$2k、虧損 −$1k,假設性 分散排列 虧損先出現 獲利因子 2.0 獲利因子 2.0 回收因子 5.0 回收因子 1.0 順序只改變回撤。 所以:兩個數字要一起看。
同樣十筆交易,兩種順序。兩張圖的獲利因子相同;虧損分散的那一張,回收因子是另一張的五倍。

假設性範例

十筆交易:五筆獲利 $2,000,五筆虧損 $1,000。無論順序,獲利因子 = $10,000 ÷ $5,000 = 2.0,淨損益都是 $5,000。如果獲利與虧損交替出現,權益曲線低於高點的幅度從未大於 $1,000,回收因子 = $5,000 ÷ $1,000 = 5.0。如果五筆虧損先出現,曲線在第一筆獲利之前先跌 $5,000,回收因子 = $5,000 ÷ $5,000 = 1.0。交易相同、獲利因子相同,回收因子卻差了五倍。

這就是報表上兩個數字要一起看的原因。獲利因子告訴你,這些交易當成一組,扣除成本後值不值得做。回收因子告訴你,它們出現的順序撐不撐得住。獲利因子 2.0、回收因子 1.0 的策略,賺到的是好交易,但出現的型態會在回本之前耗掉帳戶的一大部分,而且連續虧損下次可能出現在別的位置。

回收因子與 Calmar 比率:差別在哪?

Calmar 比率已按時間調整,回收因子則沒有。Calmar 比率是年化報酬除以最大回撤。分子是每年的數字,所以同一策略做三年測試與六年測試,Calmar 比率會落在相近的位置。回收因子用的是總淨損益,測試長度加倍,淨損益大致加倍,而最糟回撤仍只是一次事件。因此測試較長時,回收因子較高,原因只是測試比較長。

回收因子Calmar 比率
分子整段測試的總淨損益年化報酬(每年損益,或帳戶的複利年報酬)
分母最大回撤最大回撤
測試拉長的影響隨年數增加大致不變(回撤沒有加深的話)
最適用途比較同一期間測試的策略比較不同期間測試的策略
快速換算回收因子 ÷ 年數 ≈ 以金額計的 Calmar 式數字Calmar × 年數 ≈ 回收因子
同一個假設性策略分別測試 3 年與 6 年,回撤固定在三萬美元:淨損益從六萬美元增為十二萬美元,回收因子加倍,由 2.0 升至 4.0,Calmar 比率維持 0.67 年數越多,因子越高 假設性,回撤固定在 $30k 3 年 6 年 淨損益 $60k $120k 最大回撤 $30k $30k 回收因子 2.0 4.0 Calmar 比率 0.67 0.67 回收因子隨年數增加。 所以:除以測試年數。
測試長度加倍,回收因子也加倍,Calmar 比率則維持不變。只有後者能用來比較不同長度的測試。

假設性範例

某策略用一口,每年約賺 $20,000,兩次測試的最糟回撤都是 $30,000。測試 3 年:淨損益 $60,000,回收因子 $60,000 ÷ $30,000 = 2.0,每年損益 ÷ 回撤 = $20,000 ÷ $30,000 ≈ 0.67。測試 6 年:淨損益 $120,000,回收因子 4.0,每年損益 ÷ 回撤仍約 0.67。回收因子加倍了,經時間調整的數字沒有動。(這裡把回撤設為相等,以單獨看出測試長度的影響;實際上回撤往往會加深,最後一節會談到。)

基金採用的嚴格算法,Calmar 比率用的是複利年報酬占帳戶的百分比,需要有帳戶規模。以固定口數跑的期貨回測,上面的金額版本,也就是每年損益除以最大回撤,就是實用的對應做法。無論用哪一種,當你必須拿短測試與長測試比較時,把回收因子除以測試年數,就是一步到位的做法。

真實回測裡的回收因子是什麼樣子?

本文背後這次回測,使用 AlphaPrime(Valynox)引擎,淨損益除以最大回撤,得到的回收因子約為 1.5。回測的商品是 NQ 日線,期間為 2019-01-02 至 2025-06-30,多空雙向、一口,每筆交易收 $20 手續費與 $10 滑價。它的規則只是替代用的:以空頭力道(Bears Power)規則(艾爾德射線 Elder Ray指標的其中一半)作為唯一的進出場依據,沒有停損、停利或濾網,因為回收因子是報表數字,不是策略,任何有回撤的規則都能拿來示範這個讀法。

來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。

項目結果
淨利(已平倉)$130,510
最大回撤$86,105
交易筆數227
勝率52.86%
獲利因子1.229
平均每筆$574.93
在市場中的時間55.42%

回收因子 = $130,510 ÷ $86,105 ≈ 1.52。要搭配應放在旁邊的兩個數字一起讀:測試約六年半,共 227 筆交易。獲利因子 1.229 顯示,這些交易整體在扣除成本後只有小幅獲利;回收因子顯示,它們走過的路徑包含一次 $86,105 的跌幅,其餘年份把它賺回了約一倍半。攤到六年半,平均每年約 0.23 的回收因子,才是拿去對照較短或較長測試的數字。

從第一根 K 棒到最後一根 K 棒沿著權益曲線讀出淨損益,再到下方的回撤面板找出最深的跌幅;回收因子就是前者除以後者。
從第一根 K 棒到最後一根 K 棒沿著權益曲線讀出淨損益,再到下方的回撤面板找出最深的跌幅;回收因子就是前者除以後者。 NQ · 日線 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

這個候選策略,是搜尋從試過的 1,024 個裡留下來的,依報酬相對於回撤選出。事後從眾多候選中挑最好的,會讓所有由獲利與回撤算出的比值都偏好看,因為留下來的候選,有一部分正是虧損恰好以方便的順序落在這段歷史上的那一個。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,這種選擇效應會隨著在同一份資料上比較的候選數量快速放大。1.52 是對一次過去回測的示範讀法,並非空頭力道規則能賺到的成績,也不是讀者可以預期的結果。在 AlphaPrime,績效報表會顯示權益曲線、回撤與交易明細,這個比值的兩個輸入,就是從這裡讀出。

為什麼短樣本會讓回收因子不可靠?

最大回撤是單一一次最糟的事件,所以在短測試裡,回收因子的分母多半靠運氣。只有 40 筆交易或兩年歷史的測試,虧損排成一段壞行情的機會有限。加入更多歷史,最糟的一段通常會更糟,原因不是策略變了,而是時間越長,出現連續虧損的機會越多。Magdon-Ismail 與 Atiya(2004)指出,對帶有漂移的隨機漫步,預期最大回撤會隨觀察期拉長而持續增加。因此短樣本算出的回收因子,所依據的回撤多半偏小,比值也就偏高。

同一策略在前 1、2、4 與 8 年的假設性最大回撤:一萬五千、兩萬兩千、三萬與三萬八千美元;淨損益每年兩萬美元,回收因子為 1.3、1.8、2.7 與 4.2,並未隨時間等比例上升 最糟跌幅持續加深 假設性,淨損益每年 $20k 年數 最大回撤 回收因子 1 $15k 1.3 2 $22k 1.8 4 $30k 2.7 8 $38k 4.2 短測試藏起最糟的跌幅。 所以:把回撤當作下限。
同一策略的最糟回撤,隨著加入更多年份而持續加深。淨損益隨時間增加,回撤也隨時間加深,回收因子怎麼變,要看哪一個增加得比較快。

不必等更多歷史,也看得到同樣的效應。把手上的交易重新洗牌,如同交易順序的蒙地卡羅回測,能從同一份交易明細產生許多條不同的權益曲線,其中相當大比例的回撤,比你單次回測碰巧呈現的更深。這個做法完全不會改變獲利因子,這又是一個看出回收因子衡量路徑、獲利因子則不衡量的角度。

三個習慣,能讓這個比值保持可信:

  1. 只在相同的測試長度下比較回收因子,或先把各個值除以各自的年數。測試較長而得到較高的比值,不能證明策略比較好。
  2. 把回測回撤當作下限,而不是上限。帳戶規模要抓到:回撤比量到的更深一截時,也不會逼你停手。期貨風險指標與資金規模會把金額回撤換算成你撐過它所需要持有的保證金。
  3. 檢查你一起交易的所有策略的回撤,而不是每個策略單獨看。當好幾個策略在同幾週一起虧損,你實際承受的是投資組合回測的合併回撤,而每個策略各自有漂亮的回收因子,對它沒有任何說明。

今天就能做的檢驗:拿出你最近一份回測報表,把淨損益除以最大回撤,再除以測試的年數。接著只用前半段歷史重跑同樣的規則,重算一次。如果半長度那次的每年回收因子,明顯高於完整那次,你就量出了較短的樣本把這個數字美化了多少。

常見問題

回收因子多少算好?

沒有單一的好數值。回收因子低於 1,代表這段測試沒有賺回最糟的虧損;多數系統化交易人希望在數年、幾百筆交易的測試中,比值明顯高於 1。除此之外,只比較相同長度的測試,或把比值除以年數,因為淨損益會隨時間持續增加,而最糟回撤只是一次事件。

回收因子怎麼計算?

把所有已平倉交易扣除手續費與滑價後的淨損益,除以權益曲線的最大回撤。最大回撤是從高點跌到隨後低點的最深跌幅,計算至創下新高為止,以相同的金額單位衡量。如果你的報表沒有印出最大回撤,免費的最大回撤計算機可從權益數列找出最深的跌幅。

回收因子與獲利因子有什麼差別?

獲利因子是獲利交易的總和除以虧損交易的總和,同一批交易換順序,它不會改變。回收因子是淨損益除以最大回撤,而回撤取決於交易順序。獲利因子相同的兩個策略,如果其中一個把虧損集中在一起,回收因子可能差距甚大。

回收因子與 Calmar 比率有什麼不同?

Calmar 比率是年化報酬除以最大回撤,已按時間調整,可以跨不同長度的測試比較。回收因子是總淨損益除以最大回撤,所以同一策略測得較長,回收因子就較高,原因只是測試更長。回收因子除以測試年數,得到的數字接近金額版的 Calmar 比率。

交易更多口數,能提高回收因子嗎?

不能。口數加倍,每筆交易結果加倍,淨損益與最大回撤都加倍,比值不變。部位大小改變的是回撤占帳戶的比例,這決定你撐不撐得過去,但不會改變回收因子。

References

  • Magdon-Ismail, M., & Atiya, A. F. (2004). Maximum Drawdown. Risk, 17(10), 99–102.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.