閱讀約 16 分鐘· 發布於 2025年4月2日· 更新於 2026年5月14日

回測:驗證你策略的完整指南

一個在理論上看似出色的策略,可能在實盤中崩潰。回測能將好想法從幻覺中分離出來,前提是必須嚴謹地進行。本指南為你提供完整方法:資料選擇、關鍵指標、需避免的陷阱以及能夠帶來差異的工具。

作者 Florent Poux
審稿 Benjamin Sultan
一張沙漏圖片,寓意回測所需的時間

一個在理論上看似出色的策略,可能在實盤中崩潰。回測能將好想法從幻覺中分離出來,前提是必須嚴謹地進行。本指南為你提供完整方法:資料選擇、關鍵指標、需避免的陷阱以及能夠帶來差異的工具。

一句話總結

回測是將策略應用於歷史資料,以估計其穩健性的過程。做得好,它能揭示真實回撤、風險/收益比,以及策略失效的條件。做得糟,它會產出在歷史上"完美",但在實盤中撐不過一個月的策略。兩者的差別,取決於大多數業餘交易者忽視的5到6條方法論原則。

部署前為何必須回測

三個根本原因:

  • 過濾掉無價值的想法。 一個在10年中產生60%回撤的策略不具備可行性,無論收益率多高。回測在5分鐘內就能揭示這一點。
  • 校準資金管理。 瞭解交易的真實分佈(平均盈利、平均虧損、連續虧損長度)可以讓你正確地確定倉位大小。
  • 建立必要的信心。 在沒有看過策略歷史表現的情況下交易,會導致你在首次回撤時放棄。嚴謹的回測提供堅持下去所需的背景。

回測並不保證未來表現。恰恰相反:它是過濾錯誤"好想法"的篩子。一個在回測中失敗的策略,在實盤中成功的可能性極低。

一份穩健回測的組成部分

資料

資料型別 典型粒度 應用場景
OHLC日線 每日1根K線 波段、持倉交易
OHLC日內 1分鐘到1小時 日內交易
Tick資料 每筆成交 高頻、剝頭皮
訂單簿 盤口快照 做市、套利

對大多數交易者而言,乾淨的日線或H1資料已足夠。可靠來源:Bloomberg、Refinitiv、Polygon.io、Alpaca、EODHD,以及券商自身(Interactive Brokers、MetaTrader)。避免使用從大眾網站爬取的資料,這類資料往往不完整。

三項預處理不可或缺:

  • 對股票的股息和拆分進行調整。
  • 在不進行粗糙插值的情況下填補缺口(節假日、停牌)。
  • 檢查異常值(從未存在過的50%影線)。

規則

要無歧義地記錄每條規則。"RSI低時買入"無法執行。"日線RSI 14跌破30時收盤買入,突破70時賣出"才可測試。

四類規則:

  • 入場:帶有水平和時機的精確條件。
  • 出場:止損、止盈、條件出場。
  • 資金管理:倉位大小、單筆風險、最大並行數。
  • 過濾器:趨勢、波動率、時段、日期、新聞。

成本

這是最常被忽視的元素。一個每年100筆交易的策略,若回測不計入成本,會高估5%到15%的表現。

需要納入的構成部分:

  • 佣金:每筆交易0.5至5美元,因券商和品種而異。
  • 點差:主要外匯1-2點,流動性高的期貨1個tick,小盤股可高達0.5%。
  • 滑點:日內通常0.5至2個tick,新聞觸發的止損會更多。
  • 隔夜融資費:槓桿CFD和加密貨幣。

關鍵指標

毛收益率並不夠。六個指標用於誠實的評估:

指標 定義 最低可接受門檻
夏普比率 收益 / 波動率(年化) > 1.0(理想 > 1.5)
最大回撤 期間最壞累積虧損 通常 < 20-25%
卡瑪比率 年化收益 / 最大回撤 > 0.5(理想 > 1)
勝率 盈利交易% 視R/R而定,通常35-60%
平均R/R 平均盈利 / 平均虧損 通常 > 1.5
盈虧比 盈利總和 / 虧損總和 > 1.5(理想 > 2)

如果平均R/R為3:1,30%勝率的策略也可以非常盈利。反過來,R/R為0.3:1的80%勝率策略是危險的(一筆差交易就能毀掉一長串連勝)。

需要警惕的陷阱

1. 過擬合

這是最陰險的陷阱。你測試了200種引數組合,留下最好的那個,策略在歷史上顯示出夏普3.5。三個月後實盤虧損15%。

症狀:

  • 在最佳化期內表現出色,其他時期平庸。
  • 對引數極度敏感:EMA 21有效,EMA 22卻炸。
  • 可調引數數量 > 4-5個。
  • 表現好到不真實(簡單策略夏普 > 3)。

應對方法:

  • 分割資料:70%訓練,30%驗證。在前者上最佳化,在後者上驗證。
  • 滾動前向分析:在滑動視窗上最佳化,在下一段上驗證。
  • 優先考慮簡潔:最多2-3個引數。
  • 在多個標的上測試:在EUR/USD上有效的策略,也必須能撐住GBP/USD。

2. 倖存者偏差

在當前的標普500成分上回測會忽略已被剔除的公司(常因破產)。結果會高估當時的實際表現。對個股策略,使用歷史成分庫(Compustat、CRSP)。

3. 前視偏差

使用決策時刻無法獲得的資訊。常見示例:在當前K線尚未結束時,就在該K線上計算移動平均。這種偏差會人為抬高表現。

4. 不具代表性的市場環境

僅在2017-2021年上回測會忽視一個持續上漲的環境。到2022年,許多此類"無敵"策略爆掉了。至少覆蓋一個完整週期(包含2008或2020年在內的10-15年)。

一個僅覆蓋近期牛市的回測不是回測,而是幻覺。一項測試的價值在於揭示策略在市場對你不利時的表現。

2026年可用的工具

工具 優勢 劣勢 價格
TradingView(Pine Script) 龐大社群,上手快 免費版有回測時長限制 免費 + 15-60美元/月
MetaTrader(MQL4/5) 外匯標準,券商免費 專有語言,除錯痛苦 免費
Python(Backtrader、vectorbt、zipline) 完全靈活,資料科學生態 學習曲線,基礎設施 免費 + 資料費用
QuantConnect 雲端,多資產,龐大資料宇宙 高階功能需訂閱 免費 + 25-200美元/月
Obside 無需程式碼,20年回測 < 1分鐘,AI副駕 面向自主-系統化混合策略設計 免費增值

選擇取決於你的技術水平和目標。追求速度和易用性:Obside或TradingView。追求最大靈活性:配合vectorbt或Backtrader的Python。

三種方式:手動、程式碼化、自動化

手動回測。 你在歷史圖表上手工應用規則。對理解你的策略有教學價值。對認真的驗證而言太慢且易受認知偏差影響(通常3年資料需50-100小時)。

程式碼化回測。 你編寫實現規則的程式碼(Python、Pine、MQL)。精確、可重現,但需要開發者技能。簡單策略預計3-15小時。

AI輔助回測。 你用自然語言描述策略,AI生成程式碼並執行測試。總耗時數分鐘。這是自2024年以來隨著先進語言模型而普及的方法。

從回測到上線

經過驗證的回測是必要條件,而非充分條件。部署前還有四個步驟:

  1. 模擬交易:30-90天的實時模擬,以驗證執行延遲並確認表現。
  2. 滾動前向實盤:用象徵性資金(賬戶的1-5%)執行1-3個月。
  3. 漸進放量:若表現符合預期,每30天將規模翻倍。
  4. 持續監控:出現異常回撤或與預期偏離時發出告警。

這種遞進方式可降低令人不快的意外風險(實際滑點比預期更糟、券商延遲、回測未覆蓋的事件)。

用Obside在幾分鐘內測試你的策略

傳統回測要花數天:資料採集、寫程式碼、除錯、分析。藉助Obside,你用自然語言描述策略,在20年多資產歷史資料上啟動回測,在1分鐘內得到夏普、回撤與穩健性。AI副駕解釋結果並給出情境化的改進建議。免費建立你的Obside賬戶,今晚就驗證你的第一個策略。

僅供教育用途。不構成投資建議。交易存在風險,包括可能的本金損失。

常見問題

可靠回測最少需要多少年資料?

理想情況下10到15年,至少包含一次重大危機(2008、2020)。5年可以用於快速概念驗證,但在此範圍內不要得出強結論。日內策略所需絕對年數較少,但需要更細的資料(分鐘或tick粒度)。

回測結果好就保證策略能行嗎?

不能。回測過濾掉差想法並提供風險框架,但不是保證。即便是歷史上最優的策略,如果市場體制改變(長期低波動、央行大規模干預等),也可能失敗。

我可以最佳化多少個引數?

在能上線的策略中最多2-4個。超過這個數量,過擬合風險就變得嚴重。如果你的策略需要7個"最佳化過"的引數,它很可能在歷史上被曲線擬合。

是否需要在多個標的上回測?

需要,這是穩健性測試中最好的之一。一個只在EUR/USD上有效卻在GBP/USD上失敗的策略,很可能被曲線擬合。真正的策略至少能在3-5個同類品種上撐住。

滾動前向還是經典回測?

只要可行就選滾動前向。你在一個滑動視窗(例如12個月)上最佳化,在接下來的一段(3個月)上驗證,然後向前滑動並重復。這更貼近週期性調整策略的交易者的現實。

回測對期權也適用嗎?

適用,但有複雜性:正確建模隱含波動率、價差上的滑點、到期。對此類情境,專業平臺(CBOE LiveVol、OptionsAlpha)優於通用工具。

相關文章

相關文章

用 Obside 試試你的投資組合

連接你的券商,用一句話打造你的投資組合。

立即開始