閱讀約 15 分鐘· 發布於 September 2, 2025· 更新於 May 14, 2026

外匯回測:用資料驗證你的FX策略

只在腦海裡能跑通的外匯策略毫無價值。能扛住真實點差、滑點和向前推進式(walk-forward)驗證的外匯策略,才是唯一值得投入資金的策略。本指南將介紹能讓外匯回測變得真正可信的設定、方法和陷阱。

作者 Benjamin Sultan, Florent Poux, Thibaud Sultan
極簡乾淨的桌面場景,聚焦於筆記型電腦螢幕,螢幕上顯示帶有簡單移動平均線的外匯K線價格圖、幾個清晰的買入/賣出箭頭標記以及K線沿線的小型圓形出場標記,下方還有一個緊湊的次要面板,顯示一條平滑的權益曲線。

只在腦海裡能跑通的外匯策略毫無價值。能扛住真實點差、滑點和向前推進式(walk-forward)驗證的外匯策略,才是唯一值得投入資金的策略。本指南將介紹能讓外匯回測變得真正可信的設定、方法和陷阱。

外匯回測究竟在測試什麼

外匯回測把你的交易規則套用到歷史貨幣資料上,並回報本來會發生什麼:勝率、平均盈利與虧損、回撤、夏普比率、期望值。重點是搞清楚你的優勢在統計上是否真實存在,在不同市場狀態下是否穩健,在計入外匯經紀商實際收取的成本後是否仍然可行。

存在兩種形式。手動回測透過捲動圖表並記錄假想交易來完成——對於訓練酌情交易者的形態辨識很有用。自動回測則在歷史資料上以程式化方式執行規則——更快、可重複,並且是大規模執行向前推進式分析或參數掃描的唯一方式。

能產生誠實結果的設定

垃圾進,垃圾出。在執行任何一次回測之前,有五件事必須做對。

資料品質與粒度

  • 日內策略:具有真實點差動態的分鐘或逐筆(tick)資料。
  • 波段策略:小時或日線通常足夠。
  • 如果你希望成交貼近實盤行為,請始終使用買賣盤報價,而不是僅用中間價。

貨幣對選擇

主要貨幣對(EUR/USD、GBP/USD、USD/JPY、USD/CHF)的點差最窄、流動性最深。交叉盤和異域貨幣對在非交易時段和新聞前後會擴大。在EUR/USD上有效的回測結果,往往在USD/TRY上失敗,因為成本結構本質上不同。

點差、滑點、手續費、掉期

成本 典型假設 何時放大
點差 EUR/USD主要貨幣對上0.8-1.5點 非交易時段、新聞發布
滑點 每筆交易0.2-0.5點 高影響事件期間翻倍
手續費 每百萬美元交易5-7美元 因經紀商而異
掉期 按貨幣對,隔夜持倉時計入 套息交易使其十分重要

每一項都要建模。假設零滑點、恆定0.5點點差的回測就是童話。

時段過濾器

某些策略不應在低流動性視窗(歐洲貨幣對的亞洲時段)或計劃的高影響新聞前後執行。如果你的交易跨越事件,請對點差擴大進行建模。

交易延遲

在訊號出現的下一根K線進場,而不是在訊號出現的那根K線進場。否則你就是在假設按訊號K線收盤價成交,這是前視偏差。

降低虛假信心的方法

在EUR/USD的五年資料上跑一次回測就直接上實盤,這就是大多數散戶策略在生產環境中夭折的原因。

樣本外測試

把歷史資料分成樣本內(開發)和樣本外(驗證)。在第一組上建構並調參。鎖定規則,在第二組上評估。績效下滑應小於三分之一。如果斷崖式下跌,那就是過度擬合了。

向前推進式分析

在多個樣本內/樣本外視窗之間輪換。在第1-3年上最佳化,在第4年上測試。向前滾動:在第2-4年上最佳化,在第5年上測試。彙總樣本外結果。這能識別那些只在事後才有效的策略。

對交易序列的蒙地卡羅

一旦得到交易清單,就多次隨機重新排序。原本的權益曲線只是眾多路徑中的一條。蒙地卡羅會給出路徑的分布以及在比如95分位上的真實最壞情境回撤。

前向測試(模擬盤)

比回測慢,但能在當前資料上確認訊號、成交與風控按預期運作。在加碼前執行兩到四週。

重要的指標

指標 它告訴你什麼 健康區間
以R為單位的期望值 以風險單位表示的每筆交易平均利潤 可行系統在0.2R以上
獲利因子 總利潤 / 總虧損 一般而言1.5以上為佳
最大回撤 最糟的峰谷損失 取決於承受度;低於15%常見
恢復時間 多久創新高 以月計,而非以年計
夏普 / 索提諾 按波動率 / 下行風險調整的報酬 索提諾高於1.0較為穩健
交易頻率 每月交易次數 與你的時間和耐心匹配

勝率40%的系統也可以非常出色,只要盈利平均為2R、虧損平均為1R。光看勝率什麼也說明不了。

讓表面績效虛高的陷阱

前視偏差。 用當前K線的收盤價來決定一筆在該收盤價成交的入場。請改用下一根K線的開盤價。

資料窺探(data snooping)。 在同一份資料上不停調參,直到曲線好看為止。請在你未碰過的資料上做驗證。

倖存者偏差。 在外匯裡比股票裡沒那麼致命,但資料來源選擇很重要。某些歷史資料來源剔除了你在實盤中本會遇到的劣質tick。

忽視摩擦成本。 沒有可變點差、滑點、手續費和掉期的回測看起來比現實更漂亮。

市場狀態盲區。 在2017年低波動率中有效的策略,可能在2022年失效。按市場狀態分段,檢查優勢是否只集中在某一個視窗裡。

過度擬合就藏在光鮮的權益曲線裡。請偏好在樣本外與不同市場狀態下都站得住腳的簡單規則。

一個具體的例子:EUR/USD上的波段策略

組成元素 規範
假設 在上升趨勢內買入回撤具有正期望
趨勢過濾器 1H上200週期SMA,價格位於其上方
入場觸發 RSI 14跌破30後再向上穿越30
停損 入場K線最低點下方1.5 ATR
目標 2R
放空邏輯 在下行的200 SMA下方鏡像處理
執行 訊號之後下一根K線的開盤價
成本 可變點差(最小0.8點,中位數1.2)、波動事件中翻倍的0.2點滑點、每百萬美元7美元手續費
期間 5年的1H EUR/USD,按樣本內3 / 樣本外2拆分

跑一遍。如果獲利因子落在1.6附近,每筆1%風險下的最大回撤保持在7%左右,並且權益曲線逐年穩定,那你就有了一個合理的候選。如果利潤來自某個短視窗或在樣本外消失,就把它斃掉。

謹慎迭代。加一個時間過濾器(如果倫敦開盤第一小時滑點更糟就跳過)、或加一個代表趨勢強度的ADX門檻。改動保持小幅,並在樣本外重新驗證。

手動 vs 自動

手動訓練形態辨識。對最佳化入場的酌情交易者有用。速度慢且容易受事後偏差影響(你會記住成功的交易)。

自動則在無情緒下強制執行規則,可擴展到上百種參數組合、向前推進式折疊與資產。平台的表達力比品牌更重要。MetaTrader、Backtrader和現代的零程式碼平台各有用武之地。選擇能縮短你迭代循環的工具。

用Obside在數秒內完成外匯回測

如果你想要自動測試的速度,又不想做工程化工作,Obside超快的回測引擎可以在數秒內執行策略,並透過你的經紀商部署到實盤。用平實的英語向Obside Copilot描述規則——平台會解析、測試並執行它。

端對端能運作的範例:

  • 「在15分鐘圖上出現RSI看漲背離時買入,停損放在當日最低點,10%處停利。」
  • 「如果EUR/USD的RSI上穿70且MACD轉為看跌,請通知我。」
  • 「如果比特幣突破150,000且每日成交量翻倍,請提醒我。」
  • 「如果標普500日內下跌10%,請賣出我所有的部位。」

同一套規則無需重寫即可從回測進入實盤。

誠實的考量

回測是模型,不是現實。滑點、延遲和市場衝擊常常比假設更糟。外匯市場會隨著央行政策變化以及流動性在不同時段間遷移而演變。在低利率環境中表現良好的策略,可能在套息成本變化後陷入困境。每季重新驗證。把假設保持得保守一些。

風險管理比任何回測都重要。請定義部位規模、最大組合熱度,以及當實盤表現與回測分布偏離超過1.5個標準差時的停機規則。

準備好用真實資料驗證你的FX規則了嗎?

挑一個你信賴的EUR/USD或GBP/USD配置。按上述工作流程跑一遍。如果它能扛住真實成本與樣本外檢驗,就以小部位部署。Obside Copilot接受平實英語,在數秒內返回回測結果,並透過你的經紀商路由訂單,內建風險控制。

建立你的免費Obside帳號,今天就把你的第一條FX規則跑起來。

僅為教育內容。不構成投資建議。交易具有風險,包括可能的本金損失。

FAQ

對於4H或日線的波段策略,通常三到五年就足以提供跨越不同市場狀態的足夠交易。對於日內策略,一到兩年的分鐘或逐筆資料可以捕捉時段動態和點差行為。如果優勢依賴於某個特定的市場狀態,資料並非越多越好——請按時段分段並檢查一致性。

在您的投資組合中試用 Obside

連接您的券商,透過一個 prompt 自動化策略。

開始