2026年九月10日 · 研究

你的 Sharpe Ratio 通過了所有檢驗,卻仍可能只是巧合

你的 Sharpe Ratio 通過了所有檢驗,卻仍可能只是巧合

測試 1,000 種策略變體,勝出者的 Sharpe 測得 2.0,假陽性率為 5%。乍看之下,這些數字似乎是強而有力的成果,直到你追問:為了找到它,總共嘗試了多少次?嘗試次數夠多,光靠雜訊也能跑出令人信服的回測結果。

真正令人意外的數字不是 Sharpe,而是試驗次數。每個指標回看區間、進場門檻、標的範圍,以及每個被放棄的想法,都多了一次挑中幸運結果的機會。如果研究流程沒有記錄這些嘗試,信心度的計算也會跟著漏掉它們。

為什麼嘗試越多策略,勝出者看起來越出色?

想像你測試了 1,000 個沒有真實優勢的策略。根據傳統檢定,每個策略都有 5% 的機率看起來具有統計顯著性。真實研究中的這些試驗並非完全獨立,但基本直覺仍然成立:檢視的候選策略越多,就越可能有一個因運氣而顯得出奇出色。

即使每個候選策略都彼此獨立,至少有一個通過 5% 門檻的機率也約為 99.4%。實務上,相近的參數設定往往表現相似,因此 1,000 個變體並不等於 1,000 次獨立擲硬幣。不過,有效的嘗試次數也很少會只有 1 次。

我在研究筆記本裡看過一個常見陷阱:研究人員測試從 5 到 100 的回看期,畫出 Sharpe 曲面,接著只報告看起來漂亮的峰值。曲面有助於了解敏感度,但那個峰值也是搜尋的產物,理應不如實驗前就選定的門檻那麼有說服力。

什麼情況算一次研究試驗?

凡是受到已觀察結果影響的決策,都應計入。一次試驗可以是寫程式跑回測,也可能是看到資產曲線後手動調整設定。如果你因為舊設定錯過一波上漲而放寬停損,那次修改就用到了測試期間的資訊。

研究動作通常算一次試驗嗎?原因
測試另一個訊號門檻算結果有助於挑選候選策略
看到回撤後更改日期範圍算樣本是根據績效反應挑選的
修正有記錄的資料錯誤通常不算這項修改是為了恢復原先設計的實驗
在新的保留期間執行相同的凍結策略尚未構成新的選擇試驗如果你根據結果調參,就會算一次

界線的判斷需要斟酌。修正錯字和發現失敗之處後修改特徵,是兩回事。簡單記錄每次試驗的假設、變更、資料期間和結果。格式不用講究;有日期的 CSV,總比 3 個月後靠記憶重建搜尋過程好。

可以修正多重檢定造成的 Sharpe 偏誤嗎?

Deflated Sharpe Ratio 等方法會估計從多個候選策略中選出結果後,表面績效有多少可能只是偶然,同時考量報酬分布和試驗間的相依性等因素。這些方法是有用的診斷工具,卻無法把混亂的研究流程變成確定答案。計算結果取決於所採用的假設,以及你的試驗次數是否可信。

舉個概略例子:假設研究人員測試了 400 個變體,找到 Sharpe 為 1.8 的結果,並估計報酬具有明顯偏態和肥尾。這個結果應該接受比單次預先註冊測試得到的 Sharpe 1.8 更嚴格的檢驗。修正後,證據可能大幅減弱;但修正本身無法證明優勢確實存在。

趁還不需要為搜尋過程辯護時,就把過程記錄下來:候選策略數量、參數範圍、檢視過的資料期間,以及任何手動修改。如果這些細節已不可考,就應將回測描述為探索性研究。

模擬交易前應該先做什麼?

先凍結一個候選策略,並在執行前定義下一階段的評估方式。一個實用流程是:用訓練資料挑選策略,在驗證資料上檢視,再保留最後一段期間或模擬交易時段,不讓它回頭影響策略設計。每個階段回答的問題都不同;如果在最後階段反覆調整策略,它就會變成更多訓練資料。

也要檢查相近設定是否呈現相同趨勢。一片範圍廣、表現溫和且為正的結果區域,通常比一個針尖般的峰值更可信,不過穩健性無法彌補有缺陷的執行模型。手續費、資金費率、衝擊成本和標的可用性,都必須符合策略實際可能遇到的情況。

模擬交易能補上實際運作一致性的證據:時機、訂單處理,以及線上研究流程是否如預期運作。但它無法抹去先前已發生的選擇偏誤。第一筆模擬訂單送出時,一千次幸運回測仍然就是一千次嘗試。

所以,當回測報出 Sharpe 為 2 時,也要看看資產曲線旁的研究歷程。試過多少個想法?哪些結果改變了下一次實驗?答案可能是報告中最重要的統計數字。

回測過度擬合Sharpe ratio多重檢定策略研究滾動前推
← 所有文章