「我的策略回測年化20%,最大回撤只有5%!」— 每個量化新手都曾這樣興奮過。然而,90%的策略在實盤中都會大幅跑偏,原因不是市場變了,而是回測時踩進了各種隱藏的陷阱。本文總結7個最致命的回測陷阱,並提供一個交互式檢測器幫你快速排查。
🕳️ 互動式陷阱檢測器
選擇一個回測場景,看看隱藏了哪些陷阱
1 7大致命陷阱深度解析
陷阱1:前視偏誤 (Look-ahead Bias)
在策略中使用了「未來信息」
⚠️ 典型錯誤
計算技術指標時,意外使用了「當天收盤後」的數據來做「當天開盤前」的決策。最常見的是用當天的收盤價來計算指標,然後假設在當天開盤時就能基於這個指標做交易。
🚨 危害程度
極高 - 會讓回測收益虛高30%-50%
🛠️ 檢查方法
確認所有指標都有 .shift(1) 延遲
陷阱2:生存偏誤 (Survivorship Bias)
只測試「活下來」的股票
⚠️ 典型錯誤
用「當前還在交易的股票清單」來測試歷史策略。這會忽略那些已經退市、破產、被收購的股票,而這些股票往往是策略的災難性案例。
🚨 危害程度
高 - 回測收益虛高10%-20%
🛠️ 解決方案
使用「時點成分股數據」包含退市標的
陷阱3:過擬合 (Overfitting)
參數調得太精確,失去泛化能力
⚠️ 典型錯誤
反復調整參數直到回測結果「完美」。比如發現雙均線策略用13日和27日效果最好,RSI閾值設為23和77最佳,止損設為2.3%等。這些「精確」的數字往往是曲線擬合的結果。
🚨 危害程度
極高 - 實盤表現可能完全不同
🛠️ 預防措施
樣本外測試 + 參數穩定性檢驗
- • 數據窺探偏誤:反復測試直到找到「顯著」結果
- • 交易成本忽略:假設零滑點、零手續費
- • 流動性假設:忽略大單對價格的衝擊
- • 制度環境變化:未考慮政策、規則變更影響
✓ 回測最佳實踐檢查清單
點擊勾選你已經做到的項目,綠色表示合格:
使用時點成分股數據,包含退市標的,數據已復權處理
所有指標都避免前視偏誤,使用 t-1 期數據做 t 期決策
包含手續費、滑點、印花稅、借券成本等所有費用
保留30%數據用於樣本外測試,不參與參數優化
參數在鄰近范圍內表現穩定,不是孤立的最優值
考慮策略容量上限,大資金會影響執行效果