simon·geofin
Sections
Research · 方法論研究

回測陷阱:為什麼 90% 的回測結果不可信

回測是量化投資的基礎工具,但也是最容易自我欺騙的工具。這篇文章整理了回測中最常見的 8 個陷阱,以及如何用制度性方法防禦。

2026-04-175 min read回測 · 量化 · 方法論 · 統計 · 陷阱

回測的根本矛盾

回測(backtesting)是量化投資的基礎:用歷史資料測試交易策略的績效。

但回測有一個根本矛盾:

你是用過去的資料來預測未來,但你在設計策略時已經看過了這些「過去」。

這意味著:你不是真的在「預測」,你是在「擬合」(fitting)。 區分這兩者的能力,決定了你的回測結果是否可信。


八大回測陷阱

陷阱 1 — 前視偏差(Look-Ahead Bias)

定義:在決策時使用了當時尚未公開的資訊。

常見形態:

  • 用公司年報數據做策略,但年報在隔年 3–4 月才公開
  • 調整後價格(ex-dividend adjusted)計算信號,但調整是事後的
  • 現在的指數成分股回推歷史(忽略歷史上的成分變動)

防禦:每個數據點都標記可用時間(available date),嚴格使用 point-in-time 資料。

陷阱 2 — 存活者偏差(Survivorship Bias)

定義:只使用目前仍存在的標的做回測,忽略了中途下市/退出的。

詳細說明參見存活者偏差深度剖析

防禦:使用包含下市股的完整歷史資料庫。

陷阱 3 — 過度擬合(Overfitting)

定義:策略的參數過多或過度優化,完美擬合了歷史數據的雜訊而非真正的 規律。

判斷標準:

  • 參數數量 vs 數據量:如果參數多於數據點的 1/100,幾乎一定過度擬合
  • In-sample vs Out-of-sample:in-sample 很好但 OOS 崩潰 = 過度擬合
  • 參數敏感度:微調參數就大幅改變績效 = 過度擬合

防禦:

  • 減少參數數量(越簡單越好)
  • 強制使用 OOS 驗證(至少 30% 數據保留)
  • Walk-forward validation(滾動窗口)

陷阱 4 — 多重比較問題(Multiple Comparison / Data Snooping)

定義:測試了大量策略,只報告表現最好的。

如果你測試 100 個隨機策略,即使全部無效,期望有 5 個在 95% 信心水準下「顯著」。

防禦:

  • 報告所有測試過的策略數量
  • 使用 Bonferroni 修正或 FDR 控制
  • 事前註冊(Pre-registration):在回測前寫下假設

陷阱 5 — 交易成本低估

定義:回測中使用不切實際的低交易成本。

常見問題:

  • 忽略滑價(slippage):實際成交價與信號價格的差距
  • 低估衝擊成本(market impact):大單交易會推動價格
  • 忽略借券成本:做空策略的借券費
  • 忽略稅負:台灣證交稅 0.3%(單邊)

防禦:使用保守的交易成本假設(通常是你「認為合理」的 2–3 倍)。

陷阱 6 — 回測期間的選擇偏差

定義:刻意選擇對策略有利的回測期間。

  • 動能策略在多頭市場表現好 → 選 2010–2020 回測
  • 均值回歸策略在區間盤表現好 → 選 2014–2019 回測

防禦:

  • 使用盡可能長的回測期間(涵蓋多個市場週期)
  • 報告不同子期間的績效(而不只是全期間)

陷阱 7 — 流動性假設錯誤

定義:假設在任何時間都能以回測價格成交任意數量。

現實中:

  • 小型股的流動性可能非常差
  • 極端行情(如 2020/03)時,流動性會突然蒸發
  • 你的策略本身可能影響市場(market impact)

防禦:

  • 過濾掉日均成交量低於門檻的標的
  • 限制單筆交易不超過日均成交量的 5–10%

陷阱 8 — 報酬分布假設錯誤

定義:假設報酬呈常態分布,忽略尾部風險(fat tails)。

  • Sharpe Ratio 假設常態分布
  • 最大回撤(max drawdown)在常態分布下被低估
  • 真實市場的尾部事件頻率遠高於常態分布預測

防禦:

  • 不只看 Sharpe,也看 Sortino、Calmar
  • 計算歷史最大回撤,並假設未來會更差
  • 進行壓力測試(stress test):在極端行情下策略表現如何

可信回測的檢核清單

在信任任何回測結果之前,逐項檢查:

  • 使用 point-in-time 資料(無前視偏差)
  • 包含下市股(無存活者偏差)
  • 有 OOS 驗證(至少 30% 保留)
  • 參數數量合理(< 數據量的 1%)
  • 報告所有測試過的策略數量
  • 交易成本使用保守假設
  • 回測期間涵蓋多個市場週期
  • 有流動性過濾
  • 有壓力測試

如果超過 3 項未通過,這個回測結果大概率不可信


來自本站實戰的教訓

本站在過去的量化研究中經歷了10 次獨立的 RED 判定 (策略不可行),每一次都是因為上述陷阱的某種組合:

  • 過度擬合:LGBM 模型未設 seed,Sharpe 2.16 是隨機樂透
  • 存活者偏差:只用現存股票回測 momentum 策略
  • 多重比較:測試 161 個策略變體,只看最好的幾個
  • 交易成本低估:忽略台灣證交稅對高頻交易的影響
  • 參數運氣:threshold sweep 找到完美倒 U 型,但沒有穩定平台

每一次 RED 判定都是一次教訓,也是對回測紀律的強化。


結語

回測是量化投資中最有用也最危險的工具。有用是因為它是唯一能 在投入真金之前測試想法的方法;危險是因為它太容易讓你看到 你想看到的結果。

唯一的防禦不是「更聰明」——是更嚴格的制度:事前註冊、 OOS 驗證、保守假設、誠實紀錄失敗。把紀律變成流程, 而不是依賴意志力。


**方法論提醒:**本篇為方法論研究筆記,非投資建議。

Geofin Research Weekly

地緣優先的投資觀察週報

每週一封。方法論、失敗紀錄、量化驗證結果。不寄明牌,不寄投資建議。 免費訂閱即可收到精選摘要,付費解鎖完整深度研究。

  • 免費版:每週 1 篇精選 + 市場速覽
  • 付費版:每週 3 篇深度研究 + 數據附件
免費訂閱 →隨時取消,不綁約