Quant Decoded Research·風險·2026-03-08·12 min

回測陷阱:為什麼大多數回測都在說謊

大多數回測的結果好得令人難以置信。生存偏差、前視偏差和數據挖掘誇大了績效表現,而對成本和流動性的不切實際假設掩蓋了致命缺陷。了解如何使用緊縮夏普比率和前推分析構建誠實的回測。

來源: Man AHL Research

核心要點

大多數回測過於樂觀,因為它們受到未經訓練的眼睛難以察覺的偏差影響。生存偏差、前視偏差、數據挖掘以及對執行成本的不切實際假設,共同製造出在紙面上看起來出色但在實盤交易中失敗的策略。透過理解這些陷阱並應用緊縮夏普比率和前推分析等嚴格方法,你可以將真正的阿爾法與統計幻覺區分開來。

回測悖論

回測是量化策略開發的基石。每個系統化交易者都從將想法在歷史數據上進行測試開始。邏輯很簡單:如果一個策略在過去有效,那麼在市場結構沒有根本性改變的前提下,它在未來應該有合理的機率繼續有效。

問題在於,錯誤地進行回測極其容易。Harvey、Liu和Zhu在2016年發表於Review of Financial Studies的研究考察了已發表的因子發現的全貌,並得出結論:大多數可能是假陽性。作者們認為,考慮到學術文獻中測試的因子數量之龐大,傳統的統計標準(t統計量大於2.0)過於寬鬆。他們建議將標準提高到t統計量3.0以上——這一標準會排除大多數已發表的異常現象。

這是一個令人警醒的發現。如果在頂級期刊發表論文的專業學者產出的結果大多是虛假的,那麼控制更少的個人和機構回測幾乎肯定更糟糕。

生存偏差

生存偏差可能是最廣為人知的回測錯誤,但它仍然困擾著策略開發。當回測使用僅包含存活到樣本期末的證券的數據集,而排除了下市、破產或被收購的證券時,就會產生這種偏差。

其影響是系統性和方向性的:生存偏差總是讓回測看起來比現實更好。Elton、Gruber和Blake(1996)估計,生存偏差每年將共同基金報酬膨脹約0.9個百分點。在股票回測中,這種效應可能達到每年1到2個百分點,因為策略往往持有那些下市機率不成比例地高的小型股或困境股票部位。

原則上解決方案很簡單:使用包含下市證券且有適當報酬調整的無生存偏差資料庫。CRSP、包含下市報酬的Compustat,以及FactSet或Bloomberg等供應商的時點資料庫提供了這種覆蓋。困難在於成本——乾淨的時點數據價格昂貴,這就是為什麼許多個人研究者仍然使用有偏差的數據集。

前視偏差

前視偏差發生在回測無意中使用了在交易決策時本不可用的資訊時。這比生存偏差更加微妙,通常也更難檢測。

常見來源包括在財務報表數據的實際發布日期之前使用該數據。一家公司的第四季度盈餘可能在2月報告,但許多資料庫將數據標記為12月。使用12月標記的數據進行1月交易的回測是作弊——那些資訊當時還不存在。

另一個頻繁的來源是指數成分。如果你在當前的標普500成分股上回測策略,你就隱含地知道哪些股票足夠成功以至於被納入指數。正確的方法是使用時點指數成分,僅交易在每個歷史日期實際屬於指數的股票。

甚至價格數據也可能引入前視偏差。使用包含未來股票分割和股息的調整收盤價可能會微妙地扭曲訊號。解決方案是在未調整數據上計算所有訊號,僅在報酬計算中應用調整。

數據挖掘與多重檢定問題

數據挖掘偏差——也稱為數據窺探或p值操縱——可以說是最危險的陷阱,因為它最難完全避免。每次測試策略的一個變體,你就消耗了一個統計自由度。測試足夠多的變體,你將不可避免地在純隨機數據中找到一個看起來令人印象深刻的策略。

考慮White(2000)的思想實驗:如果你在同一個數據集上測試100個獨立的策略變體,每個的假陽性率為5%,你預計會發現大約5個純粹由於偶然而看起來統計顯著的策略。測試1,000個變體,你將找到大約50個。研究者隨後發表其中最好的一個,真誠地相信自己發現了阿爾法。

這個問題在金融領域的規模是驚人的。McLean和Pontiff(2016)研究了97個已發表的股票市場異常現象,發現發表後報酬平均下降了26%,在調整了學者為複製或擴展原始發現而進行的發表後數據挖掘後,下降幅度達到58%。

緊縮夏普比率

Bailey和Lopez de Prado(2014)提出了一個嚴格的解決方案:緊縮夏普比率(DSR)。DSR根據進行的試驗次數、報酬的偏度和峰度以及樣本長度來調整策略的觀測夏普比率。

直覺很簡單。如果你在得出最終規格之前測試了200個策略變體,最好的那個具有正期望報酬的機率遠低於其獨立t統計量所暗示的水準。DSR計算在考慮所有試驗後,觀測夏普比率超過零的機率。

一個從500次試驗中選出的夏普比率為1.5的策略,其DSR調整後的機率可能低於50%——這意味著它真正具有正期望報酬的機率不到擲硬幣的機率。這是一個強有力的現實檢驗。

不切實際的執行假設

即使沒有統計偏差的回測也可能透過不切實際的執行假設產生誤導。

交易成本。 許多回測假設零或最低交易成本。實際上,成本包括佣金、買賣價差、市場衝擊和滑價。對於高頻策略,這些成本主導報酬。即使是月度再平衡的投資組合,現實的成本假設也可能將夏普比率降低0.2到0.4。

市場衝擊。 回測隱含地假設你的交易不會移動價格。這對小規模投資組合大致成立,但在規模擴大時就會崩潰。一個在100萬美元規模下有效的策略在1億美元時可能沒有收益性,因為僅買入壓力就會將價格推向不利方向。Almgren和Chriss(2001)提供了市場衝擊建模的基礎框架。

流動性。 回測通常假設你可以在歷史價格下交易任何規模。現實中,流動性差的股票可能有寬價差和淺盤口。集中在微型股的策略可能顯示出驚人的回測報酬,但在實踐中無法交易。

賣空約束。 許多策略需要空頭部位,但借入成本、定位要求和賣空限制在不同市場和時期之間差異巨大。韓國和印度股票市場有特別嚴格的賣空規則。

樣本外驗證

對抗過度擬合的首要防線是樣本外(OOS)測試。原理很簡單:使用數據的一部分開發策略,在你從未檢查過的另一部分上進行驗證。

常見的分割是60/40或70/30,前期用於開發,後期用於驗證。策略必須在不做任何參數修改的情況下,在OOS期間表現良好。

然而,即使OOS測試也有侷限性。如果你在查看OOS結果後反覆修改策略,OOS期間實際上就變成了樣本內。這被稱為適應性數據挖掘,它會使整個練習失效。需要嚴格的紀律:在查看OOS數據之前完全定義你的策略,並將OOS失敗視為策略不起作用的真正訊號。

前推分析

前推分析是一種更複雜的方法,解決了單一OOS測試的侷限性。其過程如下:

  1. 定義一個初始樣本內窗口(例如5年數據)。
  2. 在此窗口上優化策略。
  3. 在下一個樣本外期間(例如1年)測試優化後的策略。
  4. 向前滑動窗口並重複。

結果是一系列真正的樣本外報酬,每個都由僅在先前數據上估計的參數生成。將這些OOS期間連接起來,就產生了現實的績效估計。

前推分析還揭示了策略最優參數隨時間的穩定性。如果最佳回望期在連續窗口中從3個月跳到12個月再跳到1個月,策略很可能是在擬合雜訊而非真正的訊號。

相對於單一OOS分割的關鍵優勢在於,前推分析將整個數據集用於優化和驗證兩方面,同時永遠不會汙染評估。它是歷史數據所能提供的最接近實盤交易的近似。

構建誠實的回測:清單

構建可靠的回測需要系統性的紀律。以下清單凝練了數十年學術和實務研究的經驗教訓。

數據完整性。 使用包含適當下市調整的無生存偏差資料庫。驗證所有基本面數據是反映實際發布日期的時點數據。確保指數成分是歷史的而非當前的。

訊號構建。 僅使用交易決策時可用的資訊計算所有訊號。在訊號生成和交易執行之間應用現實的延遲——至少一天,使用基本面數據的策略則更長。

執行建模。 包含基於歷史買賣價差的現實交易成本。將市場衝擊建模為交易規模相對於日均成交量的函數。對空頭部位應用借入成本。對流動性差的證券假設部分成交。

統計嚴謹性。 報告測試的策略變體數量。計算緊縮夏普比率或應用邦費羅尼校正。對單一策略要求t統計量3.0以上,大規模搜索則更高。進行前推分析而非依賴單一的樣本內/樣本外分割。

穩健性檢查。 在多個子期間、地區和相關資產類別中進行測試。驗證績效不依賴於少數異常交易。檢查因子曝險以確保報酬不被已知風險溢酬所解釋。

謙遜。 接受即使構建良好的回測也會高估實盤表現。對回測報酬應用30%到50%的折扣作為實際實施的基準預期。如果經過此調整後策略仍然具有吸引力,那麼可能值得追求。

侷限性

沒有任何回測方法論能夠完全複製實盤交易條件。體制變化、結構性斷裂和擁擠效應從歷史數據中本質上是不可預測的。前推分析減少但不能消除過度擬合風險。緊縮夏普比率依賴於誠實報告試驗次數,這需要難以強制執行的紀律。即使誠實的回測也可能因底層市場動態變化而失敗。回測與實盤表現之間的差距仍然是量化金融的核心挑戰之一。

參考文獻

  1. Harvey, C. R., Liu, Y., & Zhu, H. (2016). "...and the Cross-Section of Expected Returns." The Review of Financial Studies, 29(1), 5-68. https://doi.org/10.1093/rfs/hhv059
  2. McLean, R. D., & Pontiff, J. (2016). "Does Academic Research Destroy Stock Return Predictability?" The Journal of Finance, 71(1), 5-32. https://doi.org/10.1111/jofi.12365

僅供教育。