← 第四章節:如何看懂績效數字?🏠 返回首頁→
第五章節

回測不等於未來,如何驗證策略?

H.Q.C. 赫斯提亞量化資本 · 免費知識分享

本頁為教學說明,不構成投資建議。文中任何條件、參數與數字皆為說明寫法用的示意,不是操作建議;本頁不提供現成策略、買賣訊號、特定商品建議或自動交易工具。回測與前進分析的結果只描述歷史資料上的推算,不代表未來表現。商品規格、保證金與交易成本以台灣期貨交易所及各期貨商公告為準。

假設你設計了一個策略,在歷史回測中的獲利因子、最大回撤與勝率看起來都不錯(本頁出現的數字皆為說明寫法用的示意,不是建議值)。這時先不要把它當成已經驗證過的成果。回測表現好是必要條件,但不是充分條件。本章節說明回測可能失真的地方,以及可以用什麼方法檢查回測結果的可信度。

一、回測為什麼可能是假的?

回測用的是歷史數據,而歷史是已知的。如果你不斷調整策略的參數,讓它在歷史上越來越好看,最終你的策略可能只是「記住了歷史」,而不是真的找到了市場的規律。這個現象叫做過度最佳化(Overfitting),俗稱「曲線擬合」。

一個非常形象的比喻:這就像你拿到了昨天的考試答案,今天再去「考試」一遍,當然 100 分。但你明天面對真正的考試,可能什麼都不會。

過度最佳化的三個警訊:

二、最基本的保護措施:樣本內 vs. 樣本外

解決過度最佳化最基本的方法,是把你的歷史資料分成兩段:

資料類型用途原則
樣本內(IS)
較長的一段
用來設計和調整策略參數,讓策略在這段期間表現最好。兩段各佔多少沒有標準答案,切分比例本身就是一個要事先寫定的選擇可以反覆調整,這段資料你是「知道答案的」
樣本外(OOS)
較短的一段
用來驗證策略,模擬策略遇到「從未見過的新數據」的表現只能用一次!一旦用來調整參數,它就失去驗證意義

如果一個策略在樣本內的獲利因子很高,樣本外卻掉到 1 以下(也就是這段期間整體是虧損的),通常代表它過度最佳化,這樣的回測結果不應被視為已經通過驗證。

樣本外劣化怎麼讀:樣本外的績效通常會比樣本內差一些,這是正常現象。要看的是衰減幅度:衰減愈大,代表參數愈可能只是貼合了歷史。衰減到多少算太多沒有標準答案,這個比例應由使用者依自己的資料長度與交易筆數,在看到結果之前就先寫下來。

三、更嚴謹的驗證:前進分析(WFA)

只做一次樣本內與樣本外的分割,有一個問題:如果那一段樣本外期間剛好是特殊行情(例如 2020 年的市場劇烈波動與反彈),驗證結果可能嚴重偏向那段特定環境,不代表策略的一般性表現。

前進分析(Walk-Forward Analysis,WFA)是一個更嚴謹的解法。它不只做一次驗證,而是用「滾動視窗」的方式,在整段歷史上反覆做多次:

第1輪
樣本內(最佳化)
樣本外
第2輪
樣本內(最佳化)
樣本外
第3輪
樣本內(最佳化)
樣本外
第4輪
樣本內(最佳化)
樣本外
樣本內(IS):最佳化用樣本外(OOS):驗證用(拼接成完整的驗證曲線)

把每一輪的樣本外結果拼接起來,會形成一條完整的前進分析驗證曲線。這條曲線呈現的是:如果在過去的每個時間點都採用剛完成最佳化的參數,歷史資料上會得到什麼樣的結果序列。它仍然是在歷史資料上重算出來的推算,只是每一段都沒有事先看過答案,不等於實際成交的成績。

WFA 要回答的問題是:在策略沒有參與最佳化的每一段資料上,表現是否一輪接著一輪維持一致。即使答案是肯定的,也只代表這個結果比較不像單純記住歷史,並不保證未來會延續同樣的表現。

四、回測結果的侷限與再驗證

即使 WFA 的結果看起來一致,回測仍然只是一組在歷史資料上的推算。以下四點分別說明這份推算與實際市場之間的落差來自哪裡、為什麼規則要在事前寫定,以及後續可以用什麼標準持續檢查。

1
執行落差的來源
回測是在乾淨的歷史資料上重算出來的,實際市場則存在成交價與委託價的差距(滑價)、網路或軟體中斷、資料商報價與回測資料不一致等情況。理解這些落差從哪裡來,才會知道回測數字為什麼不會原樣重現。
2
回測數字與實際感受不同
回測報告上的連續虧損只是一段曲線,實際經歷同一段過程的感受並不相同。這正是規則要在事前寫定的原因:事後才決定要不要遵守,等於讓情緒取代了原本要驗證的那套系統。
3
再驗證標準要事先定義
在看到後續結果之前,先寫下判斷這個策略還算不算成立的條件,例如衰減到什麼程度就重做一次樣本外測試。標準寫在事前,才不會被事後的損益反過來改寫。
4
持續監控與定期重新驗證
市場環境會隨時間改變,一組在歷史上成立的條件也可能不再成立。可以在事前就寫下觀察標準,例如當後續表現偏離回測分佈到一定程度時,就把驗證流程從樣本外測試重新跑一次,而不是憑感覺決定什麼時候該檢討。

MultiCharts

MultiCharts 的前進分析(Walk-Forward)功能

MultiCharts 內建了完整的 WFA 功能,不需要手動分割資料。以下是基本的操作入口:

如何開啟 WFA 功能

  1. 在圖表上已套用策略後,右鍵點擊策略名稱
  2. 選擇「策略最佳化」(Strategy Optimization)
  3. 在最佳化視窗的「最佳化類型」欄位,選擇「前進分析」(Walk-Forward)
  4. 設定樣本內視窗長度與樣本外視窗長度(軟體會要求填入兩段長度,本頁不提供建議值,實際長度須依資料期間與交易筆數自行決定)
  5. 執行最佳化,等待系統跑完所有輪次

WFA 報告的關鍵閱讀要點

以下說明每個項目在看什麼,不提供通過與否的門檻。

報告項目代表意義怎麼讀
OOS 總淨利所有樣本外輪次拼接後的總獲利正負代表樣本外整體是獲利還是虧損;若整體為負,代表這組參數在沒有參與最佳化的資料上並不成立。這是結果的讀法,不是及格線
OOS 獲利因子所有樣本外輪次的整體獲利因子獲利因子等於 1 代表總獲利與總虧損相抵,低於 1 代表這段期間整體是虧損的;這是定義而不是通過標準,要高到什麼程度才算足夠,須依交易成本與交易頻率自行判斷
WFA 效率比OOS 淨利 ÷ IS 淨利的比率比率愈接近 1,代表樣本外表現愈接近最佳化當下的水準;愈低代表衰減愈明顯。這個指標在看的是最佳化結果能延續多少,本站不提供建議的通過數字
盈利輪次比例OOS 為正獲利的輪次佔總輪次比例獲利集中在少數幾輪,和多數輪次都小幅為正,是兩件很不一樣的事。看這個比例是為了確認結果不是由一兩個特殊區段撐起來的,沒有一個固定的合格數字

MultiCharts 其他實用的驗證工具

五、量化交易的全流程回顧

走完這五個章節,你已經對量化交易的完整流程有了清晰的輪廓:

階段核心任務
交易心理理解為什麼人類大腦在金融市場中容易犯錯,建立系統化取代主觀判斷的觀念
市場知識熟悉交易商品的基本規格、成本結構和市場特性
策略設計把模糊的交易想法拆成可以逐條檢查的條件,並理解程式如何由參數宣告、指標計算、條件判斷與動作四個區塊組成
績效評估用多個指標客觀評估策略品質,而非只看勝率
嚴謹驗證透過樣本外測試與前進分析,檢查回測結果有多少可能只是貼合了歷史資料

這個流程的每一個環節都有各自的細節與限制。免費的五個章節提供的是整體地圖,若要逐項理解每個環節的原理,需要更完整的學習安排。


H.Q.C. 赫斯提亞量化教育學院

從這裡,開始你的量化交易完整學習之路

赫斯提亞交易心法:量化觀念與風險管理的教學課程

H.Q.C. 赫斯提亞量化教育學院已在 Pressplay Academy 上架系統化課程。課程內容涵蓋交易心理的統計基礎、台灣期貨市場的商品規格與成本結構、程式語言的語法要素介紹、績效指標的判讀方式,以及前進分析的觀念說明。本課程為教育內容,不含程式實作,不提供現成策略、買賣訊號、特定商品建議或自動交易工具。

交易心理與行為偏誤
理解大腦如何系統性地讓你做錯決策,並建立防護機制
台灣期貨市場基礎規格
合約乘數、每點價值、保證金制度與交易成本的客觀說明,規格以期交所公告為準
程式語言的語法要素介紹
認識參數宣告、指標計算、條件判斷與動作四個區塊各自的角色,課程不含程式實作
前進分析與樣本外驗證
理解滾動視窗驗證在做什麼,以及回測結果為什麼不等於未來表現
前往 Pressplay Academy 了解完整課程

© H.Q.C. 赫斯提亞量化資本 · 官網免費知識分享區 · 內容僅供教育參考 · 版本 v2.0(2026-09-10)