CoinSkool

時序交叉驗證:量化策略回測必學的誠實工具

分享

問題根源

做量化的人都知道回測是策略開發的核心工具,但問題從來不在於你有沒有做回測,而在於你的回測方式是否真的在模擬「未來」。傳統的 K 折交叉驗證在靜態數據集上運作良好,但一旦放進時間序列,它就會製造出一個你看不見的漏洞:未來數據滲入訓練集。

我的觀察是,很多策略在樣本外表現崩潰,根源在開發者從一開始就沒有把時間的方向性當回事。金融時間序列有一個根本屬性:今天的價格行為受昨天影響,反過來不成立。你在訓練集裡混入了「未來」的數據,模型學到的不是真正的超額收益,只是一種精緻的過度擬合。

時序交叉驗證的邏輯

時序交叉驗證,或者更精確地說,向前滾動驗證(Walk-Forward Validation),就是為了對抗這個問題而存在的。

基本邏輯並不複雜:你把整條時間序列切成多個窗口,每一個窗口都嚴格保持「訓練在前、測試在後」的順序。你不允許測試集的任何信息回流到訓練集。每一次向前推進一個窗口,重新訓練,重新測試,累積出一條模擬真實部署的績效路徑。

但實際操作上,細節才是問題所在。

窗口大小選擇

窗口大小怎麼定?固定窗口還是擴展窗口?這兩個選擇背後其實是對市場狀態的假設。如果你相信市場結構相對穩定,擴展窗口讓你用上更多歷史數據,訓練集越來越大,信噪比理論上更高。但如果市場在某個時點發生了結構性轉變,比如某次流動性衝擊之後的微結構變化,那些遠古數據反而是噪音,固定窗口可能更接近真實。

我傾向於兩者都跑,然後比較績效差異。如果兩種方式的Sharpe差距很大,那本身就是一個訊號,說明你的因子對市場狀態很敏感,這種策略上線之前需要更多的壓力測試。

隔離期的重要性

另一個容易被忽略的問題是隔離期(Embargo)。

訓練集結束到測試集開始之間,要不要留一段空白期?我認為要。原因在於很多因子的構建本身就帶有前瞻性偏差的風險,特別是當你使用的特徵涉及滾動計算、財報數據的發布時間差,或者訂單流的延遲確認。如果訓練集的最後一天和測試集的第一天緊鄰,這些邊界效應會讓你的因子有效性指標虛高。

隔離期的長度取決於你的因子構建邏輯。短週期的高頻訊號可能只需要幾天,基本面因子可能需要一個季度。

因子有效性與IC穩定性

說到因子有效性,時序交叉驗證的一個重要輸出就是每個測試窗口的資訊係數(IC)分佈。我不太相信一個平均值漂亮但標準差極大的因子。這種因子在某些市場狀態下表現亮眼,在另一些狀態下完全失效,實盤中你很難知道自己現在處於哪個階段。我更願意看資訊係數的穩定性,即使均值稍低,但跨窗口的一致性高,這種因子在執行層面更可控。

最大回撤分析

最大回撤的分析也應該在這個框架下進行。每個測試窗口的最大回撤是多少?有沒有某個特定的時間段讓策略持續虧損?如果你發現策略在某類市場環境下系統性失效,那不是壞事,這是信息,你需要加入市場狀態過濾器,或者在那段環境下降低倉位。

執行層面考量

執行層面的現實是,向前滾動驗證的結果再好,也要考慮滑價與流動性的影響。回測裡的成交假設往往過於樂觀。特別是均值回歸策略,訊號往往在流動性最差的時候出現,你的訂單在市場上的衝擊成本會把理論上的超額收益吃掉一大半。

時序交叉驗證不能解決這個問題,但它至少能讓你在進入執行討論之前,先確認你的因子邏輯是乾淨的。

進階:組合淨化交叉驗證

延伸的話,組合淨化交叉驗證(Combinatorial Purged Cross-Validation)是更全面的測試,它在保持時序完整性的前提下,生成更多的測試路徑,讓你對策略的夏普比率分佈有更穩健的估計。計算成本更高,但對於準備實盤部署的策略,多花這個時間是值得的。

結語

時序交叉驗證是一種思維紀律,不只是技術工具。它逼你誠實地面對一個問題:你的策略到底在預測什麼,它的信息來源有沒有污染?這個問題答不清楚,回測結果再漂亮也只是騙自己。

原文出處:voltima_quant (@voltima_quant) 於 Threads · 查看原文

V

作者

Voltima Quant

全職自營量化團隊|多年交易經驗
專注研究CTA擇時、多因子截面策略
標的涵蓋Crypto、港美股、期貨、期權
以科學系統化手段 於波動中尋找最優化交易機會

推薦閱讀

量化交易中因子極端值處理:刪除、縮尾、轉換三法

本文介紹量化交易中因子極端值的三種常見處理方法:刪除、縮尾和轉換。詳細說明每種方法的優缺點,以及極端值對因子分析的影響。幫助投資者避免虛假回測結果,提升模型穩健性。

Voltima Quant2026/07/21
多因子 vs 多策略:層次不同,建構穩健系統的關鍵差異

多因子 vs 多策略:層次不同,建構穩健系統的關鍵差異

釐清多因子與多策略的邏輯層次差異:多因子聚焦信號疊加,用ICIR評估穩定性;多策略強調不同交易邏輯,需關注壓力環境下的相關性與回撤結構。學習如何避免誤用因子、正確評估分散效果,打造真正穩健的交易系統。

Voltima Quant2026/07/17

破解因子共線性:正交化處理的原理與實務

多因子模型中,因子常因共線性而難以判定個別預測力。正交化透過Gram-Schmidt方法將相關因子轉為垂直向量,消除相關性,但會降低解釋性,需注意樣本期間的穩定性。本文深入探討正交化的數學本質與實務應用。

Voltima Quant2026/07/17