WFE 算出 89%,聽起來像一支可以上線的策略。實際上這個數字最常見的成因,是分母塌了。
Walk-Forward Efficiency(WFE)的定義很短:所有樣本外(OOS)段的年化績效,除以對應樣本內(IS)段的年化績效。它回答一個問題,策略離開訓練資料之後還剩幾成功力。跑完滾動優化的人都會算這個數字,多數人算完就把它當成通行證。
問題在於 WFE 是一個比值,比值會在兩端同時說謊。分子灌水會讓它變好看,分母塌陷也會讓它變好看,而後者的成因通常是策略根本沒有東西可以被擬合。你拿到的那個 89%,可能來自一支健康的策略,也可能來自一支 IS 年化只有 9% 的廢策略。單看 WFE 分不出來。
這篇文章處理的就是這個落差:WFE 的算法細節、四種把它算錯的方式、三種讓它虛高的結構性成因、經驗門檻的適用邊界,以及必須跟它一起看的三個數字。滾動測試本身怎麼切窗、怎麼設步長,Walk-Forward Analysis 的完整拆解已經寫過,這裡不重複,直接進判讀層。
Walk-Forward Efficiency 在算什麼:一個比值的兩個性質
先把定義寫清楚。Robert Pardo 在 The Evaluation and Optimization of Trading Strategies 裡把 WFE 定義為年化 OOS 報酬對年化 IS 報酬的比率,並給出 50% 到 60% 的經驗門檻。
公式本身沒有難度,難的是這個比值有兩個容易被忽略的性質。
第一,分母不是一個普通的績效數字,它是極值統計量。 IS 段的績效,是你在參數空間裡搜尋之後挑出來的「最佳」值。搜尋範圍越大、參數組合越多,這個最大值就越被雜訊推高。這代表分母天然帶有向上的偏誤,而偏誤的幅度取決於你試了幾次。同樣一支策略,掃 20 組參數和掃 2000 組參數,IS 績效會差一截,WFE 也會跟著差一截,策略的真實優勢卻沒有變。
第二,比值抹掉了尺度。 90% 的 WFE 在 IS 年化 40% 時和 IS 年化 4% 時,意義完全不同。前者代表策略保住了實打實的績效,後者代表策略從一個接近零的基準退到另一個接近零的位置。比值只保留形狀,不保留量體。
這兩件事合起來,決定了 WFE 的正確用法:它是一個診斷用的相對指標,不是驗收用的絕對指標。它能告訴你「衰減有多嚴重」,不能單獨告訴你「剩下的還夠不夠賺」。
四種把 WFE 算錯的方式
在看門檻之前,先確認你算的是同一個東西。以下四種算法差異,會讓同一份滾動測試結果跑出差距一倍以上的 WFE。
先相除再平均,還是先加總再相除
多數回測框架的預設做法,是把每一段的 OOS 績效除以該段的 IS 績效,得到段級 WFE,再取平均。這叫比值的平均。
另一種做法是把所有 OOS 段的績效串接成一條完整曲線,算出一個總體年化,再除以所有 IS 段的總體年化。這叫平均的比值,可以叫它 pooled WFE。
兩者不會相等,而且差距可能很大。段級比值的平均對離群值極度敏感:任何一段 IS 績效偏低、OOS 剛好走運的組合,都會產生一個三位數的段級 WFE,把整體平均整個拉起來。pooled WFE 沒有這個問題,因為它是先加總再相除,離群段只按它實際的資金貢獻計權。
實務建議:以 pooled WFE 當主要數字,段級 WFE 只拿來看分布。 兩個都算,兩個差太遠本身就是紅旗。
分母用了被最大化的那一組,還是參數集合的中位數
前面提過分母是極值。有一個對應的修正做法:分母不用 IS 最佳參數的績效,改用 IS 參數集合的中位數績效,或前四分位的平均。
這樣算出來的 WFE 會低一些,但它衡量的東西更貼近你真正想知道的:策略離開訓練資料的衰減,有多少來自「參數選錯」、多少來自「策略本身就弱」。分母換成中位數之後,WFE 反映的是搜尋動作帶來的額外衰減,這個數字對判斷過擬合程度更有訊息量。
兩種算法都可以,前提是全程只用一種,而且在碰資料之前就決定。跑完一種覺得不好看再換另一種,那個動作跟事後換目標函數是同一件事。
年化的長度不對稱
這是加密市場最常見的一種算錯。
阿倫在 2026 年初測一支 BTC 一小時級的均值回歸策略,IS 設 12 個月、OOS 設 1 個月、步長 1 個月,跑出 36 段。他照框架預設把每段年化之後算段級 WFE,結果那 36 個數字散在 -60% 到 +480% 之間,平均 71%,標準差比平均值還大。
原因不在策略,在年化這個動作。單月報酬 1.5% 年化之後接近 20%,單月 -1% 年化之後接近 -11%,一個月的雜訊被乘以 12 倍放大,而 12 個月的 IS 段幾乎沒有被放大。短 OOS 段年化出來的數字,波動大到讓比值失去意義。
處理方式有兩個。OOS 段長度拉到至少 3 個月,或者交易筆數至少 30 筆以上;或者放棄段級年化,直接用串接後的 pooled 值。阿倫改成 pooled 算法之後,WFE 是 43%,一個難看但可信的數字,比原本那個 71% 有用得多。
分母趨近零或為負
IS 段績效接近零的時候,比值會爆炸;IS 段為負的時候,比值的正負號會反過來,一個「IS 虧、OOS 也虧」的失敗段,會算出正的 WFE。
真的遇到這種段,不要硬算。可行的處理有三種:把該段標記為無效並記錄段數,改用 Sharpe 當分子分母(Sharpe 的分母塌陷機率較低),或者乾脆放棄比值,改看差值。
| 版本 | 算式 | 適用情境 | 主要弱點 |
|---|---|---|---|
| 報酬型 WFE | OOS 年化報酬 / IS 年化報酬 | 標準情境,段長充足 | 受倉位規則與槓桿影響 |
| Sharpe 型 WFE | OOS Sharpe / IS Sharpe | 段長不一、倉位動態調整 | 低 Sharpe 段仍會失真 |
| 差值型 | OOS Sharpe 減 IS Sharpe | IS 績效接近零或為負 | 沒有尺度歸一,跨策略難比較 |
三種選一種,寫進研究筆記,之後所有策略都用同一種。指標的價值在於可比較,換來換去就沒有基準了。
50% 的門檻從哪來,什麼時候不適用
Pardo 的 50% 到 60% 是經驗門檻,來源是期貨市場中低頻策略的長期實務觀察。它是一個有用的起點,但它不是一條普適的物理定律。三個條件會讓這個門檻失去意義。
段數太少。 5 段 OOS 算出來的 WFE,抽樣誤差大到足以蓋過真實差異。段數低於 10,WFE 的信賴區間寬到不值得判讀。這種情況下要做的是換設定重跑,不是解讀那個數字。
策略頻率不同。 日內高頻策略在 IS 段可能有數千筆交易,參數估計相對穩定,合理的 WFE 期望值本來就比低頻策略高。反過來,一支一年只出 15 筆訊號的波段策略,OOS 段的樣本量小到 WFE 幾乎只在測量運氣。門檻應該跟著交易筆數調整,不是跟著習慣調整。
IS 與 OOS 的長度比。 IS 12 個月配 OOS 3 個月,跟 IS 36 個月配 OOS 3 個月,衰減的來源不一樣。長 IS 提供更穩的參數估計,但也讓參數對舊 regime 的依賴更深。這個比例本身就是 WFA 的設計參數,不同比例下的 WFE 不能直接互相比較。
一個更實際的用法:不要把 50% 當及格線,把它當分流線。WFE 明顯低於 50%,回去看策略假設;WFE 落在 50% 到 90% 之間,進入下一輪驗證;WFE 高於 100%,先去查是不是下一節講的三種假象。
WFE 虛高的三種假象
高 WFE 讓人放鬆,這正是它危險的地方。以下三種成因,都會產出漂亮的數字。
假象一:分母塌陷
阿凱在 2026 年 3 月做了一支 SOL 的 15 分鐘均值回歸策略。滾動測試跑出 14 段,pooled WFE 89%,他覺得這是他做過最乾淨的一次驗證。
問題藏在絕對值裡。IS 年化只有 9%,OOS 年化 8%,兩個數字都低到接近成本線。IS Sharpe 0.35,代表優化器在訓練段裡根本沒有找到什麼可以擬合的東西。WFE 高不是因為策略穩,是因為分母本來就沒有高度可以掉。
他上線跑了兩個月,實際淨值在扣掉資金費率與滑價之後是 -3%。回測裡那 8% 的年化,全部被交易成本吃掉。
這是 WFE 最典型的誤用:把「衰減幅度小」當成「策略可用」。一支沒有優勢的策略,衰減幅度本來就小,因為它沒有東西可以衰減。WFE 一定要跟 OOS 的絕對績效並排看,OOS Sharpe 低於 1、或 OOS 年化扣完保守成本假設之後接近零,WFE 再高都沒有意義。
假象二:離群段拉高平均
Lab 裡有位成員去年拿一支 ETH 趨勢策略來討論,12 段的段級 WFE 平均 62%,剛好在 Pardo 門檻上緣。
攤開分布之後是另一回事:中位數 31%,12 段裡有 5 段是負的,而其中一段 IS 年化 6%、OOS 年化 30%,段級 WFE 算出來 500%。把這一段拿掉,剩下 11 段的平均掉到 22%。
那一段對應的時間是 2025 年 10 月,一波單邊行情。策略在那段的獲利跟參數品質沒什麼關係,跟行情形態有關係。用它去支撐整體 WFE,等於用一次運氣去證明一套流程。
這就是前面說 pooled WFE 該當主指標的原因。同一份資料用 pooled 算法跑出來是 28%,跟中位數一致,跟直覺也一致。
假象三:OOS 整段踩到順風
段數夠、分布也均勻,WFE 還是可能虛高,成因是整個測試期落在對策略有利的市場環境裡。一支多頭偏向的趨勢策略,如果 OOS 段全部落在上升趨勢裡,每一段都會表現不錯,WFE 漂亮而且穩定。
檢查方法不是看 WFE 本身,是把歷史用外生的波動與趨勢指標切成不同 regime,看 OOS 段在各 regime 的分布。盤整 regime 占比不到兩成的測試,對盤整市場的預測力接近零。這條檢查跟 WFE 是正交的,兩個都要做。
想把這類驗證流程系統化、或者需要對照別人的實作細節,付費實驗室裡有完整的討論串與程式範本,適合已經在跑實盤的交易者。
看分布,不看平均:一組四格判讀面板
把前面的內容收斂成一組可以直接抄去用的判讀標準。每次跑完滾動測試,記錄這四個數字,全部符合才放行。
| 指標 | 算法 | 健康區間 | 失敗訊號 |
|---|---|---|---|
| Pooled WFE | 串接 OOS 年化 / IS 年化 | 50% 以上 | 低於 40%,或高於 120% |
| 段級 WFE 中位數 | 段級比值取中位數 | 與 pooled 值差距在 15 個百分點內 | 兩者差距過大,代表有離群段 |
| 正 OOS 段占比 | 獲利段數 / 總段數 | 60% 以上 | 低於 50%,獲利集中在少數段 |
| OOS 絕對 Sharpe | 串接 OOS 曲線的 Sharpe | 1.0 以上(扣完保守成本) | 低於 0.8,WFE 再高也不放行 |
最後一列是整個面板的錨。前三個指標都是相對的,只有它是絕對的。少了它,前三個都可以在一支沒有優勢的策略上同時亮綠燈。
還有一個容易被忽略的動作:把段級 WFE 的標準差記下來。同樣的平均值,標準差 15% 和標準差 90% 是兩種完全不同的策略。前者的參數在不同時期的表現一致,後者只是剛好平均起來好看。
Walk-Forward Efficiency 之外要一起看的三件事
WFE 衡量的是單一維度的衰減。以下三件事它測不到,必須另外處理。
你試了幾次。 WFE 不記錄搜尋成本。同一個 WFE 55%,來自「掃了 15 組參數」和來自「掃了 3000 組參數」,可信度差一個數量級。Bailey、Borwein、López de Prado 與 Zhu 在 The Probability of Backtest Overfitting 裡把這件事量化過:測試次數上升,最佳結果來自雜訊的機率快速逼近 1。把嘗試次數算回顯著性的工具是 Deflated Sharpe Ratio,算法與門檻在這篇拆解裡。同一個問題在策略篩選層的版本,是選擇偏誤與多重測試。
WFA 配置本身有沒有被優化。 窗長、步長、目標函數都是參數,掃到 WFE 好看為止,等於把過擬合從策略層搬到驗證層。配置要在碰資料之前寫死。
成本假設有沒有低估。 WFE 是比值,如果 IS 和 OOS 用同一組樂觀的成本假設,錯誤會在分子分母同時出現,比值看起來完全正常。這是比值型指標的盲點:共同的偏誤會被約掉。 成本必須另外做壓力測試,不能指望 WFE 幫你抓。
回測還有哪些方式會騙人,回測過擬合的九種死法整理過完整型錄,跟這篇搭配看比較完整。
一份可執行的檢查順序
把整篇收成六個動作。
- 事前寫死。 WFE 用哪個版本、分母用最佳值還是中位數、pooled 還是段級當主指標、放行門檻多少,全部在碰資料之前寫下來。
- 確認段數與段長。 OOS 段數至少 10 段,每段至少 3 個月或 30 筆交易。不滿足就改設定重跑,不要硬解讀。
- 兩種算法都跑。 pooled WFE 當主數字,段級 WFE 看分布,兩者差距超過 15 個百分點就去找離群段。
- 並排看絕對績效。 OOS 串接曲線的 Sharpe 與扣完保守成本後的年化,跟 WFE 放在同一張表上。分母塌陷的策略在這一步會現形。
- 切 regime 重看一次。 確認 OOS 段沒有集中在單一市場環境。
- 接後續檢定。 通過的策略再跑路徑重排與 Deflated Sharpe,把嘗試次數與路徑運氣的影響算回去。
六個動作跑完,一支中頻策略大約多花三到五天。這是整個研究流程裡最便宜的一段成本。
結論:WFE 是溫度計,不是體檢報告
把這篇收攏成五句話。
- WFE 是比值,分子灌水和分母塌陷都會讓它變好看,高 WFE 最常見的成因是策略本身沒有東西可以擬合。
- 算法細節決定數字:pooled 與段級的差距、分母用極值還是中位數、短段年化的放大效應,任何一項不一致,WFE 就失去可比性。
- 50% 到 60% 的門檻有適用條件,段數不足 10 段、交易筆數過少、IS 與 OOS 長度比不同的情況下,門檻本身沒有意義。
- 判讀看四個數字:pooled WFE、段級中位數、正段占比、OOS 絕對 Sharpe。最後一個是錨,少了它前三個可以一起說謊。
- WFE 測不到搜尋成本、驗證框架的過擬合,以及分子分母共有的成本偏誤,這三件事要另外處理。
一支策略的體檢,WFE 只是其中一根溫度計。它能告訴你有沒有發燒,不能告訴你為什麼發燒,更不能告訴你不發燒就是健康。把它當成診斷流程的一環,而不是流程的終點,這個指標才會開始有用。
這類驗證框架的拆解,加上流動性、衍生品結構與鏈上籌碼的例行審視,我每週會整理進電子報。想在自己的研究流程上多加一層濾網的,可以訂閱追蹤。
Meta Elements
Meta Title: Walk-Forward Efficiency 深度解析:WFE 怎麼算才不會騙自己
Meta Description: WFE 是滾動優化的核心判讀指標,也是最容易算錯的一個。本文拆解四種常見算法錯誤、高 WFE 的三種假象、門檻 50% 的適用條件,以及要跟 WFE 一起看的三個數字。
Primary Keyword: Walk-Forward Efficiency
Secondary Keywords: WFE, 滾動優化, 樣本外測試, 量化回測, 參數優化, 過擬合, Walk-Forward Analysis
URL Slug: /blog/walk-forward-efficiency
Internal Links: /blog/walk-forward-analysis, /blog/backtest-overfitting, /blog/deflated-sharpe-ratio, /blog/selection-bias-multiple-testing, /#lab-benefits, adtrader.beehiiv.com
External Links: Wiley (Pardo, The Evaluation and Optimization of Trading Strategies), SSRN (Bailey et al., The Probability of Backtest Overfitting), SSRN (Bailey & López de Prado, The Deflated Sharpe Ratio)
Word Count: 約 4,100 字(中文字元)




