定義

走勢前推分析(Walk-Forward)

走勢前推分析在一段歷史上擬合參數、在下一段上原樣測試,再向前滾動重複。本文說明前推效率怎麼讀,以及這項測試最常被怎樣悄悄作廢。

更新於

走勢前推分析(walk-forward analysis)是一種回測流程:先在一段歷史視窗上擬合策略參數(樣本內),再把這組參數原封不動地放到緊接著的下一段視窗上執行(樣本外),然後把兩段視窗一起向前滾動,重複這個過程。把各段樣本外結果拼接起來,才是唯一算數的績效;樣本內結果只是挑選參數的代價,不是證據。常見的切分是樣本內十二個月、樣本外三個月、按季滾動;而前推效率——樣本外報酬除以樣本內報酬——低於約 0.5,就表示參數並不穩定。

又稱
前推分析 · 步進式最佳化 · 樣本外滾動測試

計算方式

            Window k: fit on [t_k, t_k + IS), test on [t_k + IS, t_k + IS + OOS)
Roll: t_{k+1} = t_k + OOS, then repeat
Reported performance = the stitched OOS segments only

WFE = annualised OOS return ÷ annualised IS return
IS 30% / OOS 9% → WFE = 0.30 (below ~0.5: parameters unstable)
Typical split: IS 12 months / OOS 3 months, rolled quarterly
          

實算範例: 樣本內十二個月年化 30%,緊接著的三個月樣本外年化 9%:前推效率 9 ÷ 30 = 0.30,參數不穩定。

為什麼只有樣本外那幾段算數

Bailey、Borwein、López de Prado 與 Zhu 證明:只要參數嘗試的次數夠多,即使策略毫無優勢,也應當預期得到一個很高的樣本內夏普比率,因為你挑出的是 N 次隨機抽樣中的最大值。Lo 與 MacKinlay 在學術資產定價檢定中記錄了同一種資料窺探偏誤。走勢前推分析是對此的實際防線:參數從未見過用來評判它的那段視窗,所以拼接後的樣本外紀錄,就是一個按計畫定期重新擬合的實單帳戶本來會賺到的東西。記下嘗試次數,把最好的樣本內結果當成 N 次抽樣的期望最大值,而不是訊號。

怎麼讀前推效率

前推效率等於年化樣本外報酬除以年化樣本內報酬。一條樣本內賺 30%、樣本外賺 9% 的規則,效率是 0.30:樣本內數字的七成來自擬合,而不是來自市場。低於約 0.5,參數就不夠穩定、不該拿去交易;0.5 到 1 之間表示一部分優勢被雜訊吃掉,這是正常的;遠高於 1 的數字說明的是那段樣本外視窗,而不是這條規則。QANTERION 沒有回測引擎,它對應「樣本外視窗」的做法,是在啟用任何實單執行之前,先在真實行情資料上做模擬交易的前向測試。

常見誤讀

這項測試最常被執行它的人親手作廢:前推分析跑了一遍,樣本外紀錄不好看,於是改參數範圍、改視窗長度,一直改到它好看為止——到這一步,樣本外視窗已經被拿來最佳化過,變成了樣本內。第二個錯誤是把單獨一段漂亮的樣本外視窗當成驗證,而策略在那段時間其實沒做幾筆交易;一個三個月、只有六筆交易的視窗,無論結果好壞都沒有統計分量。

參考資料

本術語表用於教學。此處內容不構成投資建議,頁面所述任何指標都無法預測未來結果。

知道定義是最容易的部分

知道「回撤」是什麼,和擁有一套會在回撤觸發時自動停下來的系統,完全是兩回事。QANTERION 在策略運行時強制執行這些限制。