EA策略的實戰落差:回測與實盤的三個斷點——成本、執行延遲與參數過度擬合

EA策略的實戰落差:回測與實盤的三個斷點——成本、執行延遲與參數過度擬合

2026-10-05

我在 AI Trading Academy 帶學員做ea策略覆盤時,經常看到同一個畫面:同一份成交紀錄,學員的結論是「這套策略壞了」,而我把數據攤開,看到的卻是三個各自獨立、可以逐一量度的斷點。回測曲線和實盤曲線之間的距離,很少在一夜之間出現,它會在成交的那一秒、在成本那一欄、在參數的一個小數位上,慢慢累積。這篇不重複觀念層面的對錯,而是從實戰覆盤的角度,把三個斷點逐一拆開,每段都給你一個可以觀察的判別信號,讓你拿着自己的對帳表,就能指出錢到底漏在哪裏。

覆盤的第一件事:先把落差量出來

很多學員一發現實盤不如預期,就急着回頭調參數,這是最常見也最浪費時間的反應。我在課堂上要求他們先做一件更笨的事:把回測的每一筆進出場,和實盤的每一筆進出場,逐筆並排貼在同一張表上,只填三個欄位,分別是訊號時間、預期成交價、實際成交價。這張表一貼出來,落差通常不用分析就自己浮現了。

落差其實分成兩層。一層是結構性的,只要你用同樣的假設去做回測,它一定會出現,例如成本、延遲、成交價偏離;另一層是隨機性的,來自某一段行情特別刁鑽。實戰覆盤的價值,在於把這兩層分開,因為結構性的落差可以修正,隨機性的落差只需要靠足夠長的樣本去平復。若你連落差有多少、來自哪一層都說不清,那之後所有的優化都是在猜。回測的假設要怎麼逐項檢查,我建議先讀一遍,再回來看自己的對帳表,很多問題會立刻對上號。

我在課堂上常用一個比喻:回測是實驗室,實盤是街頭。實驗室裏你可以控制溫度、濕度、光照;街頭卻會下雨、塞車、有人突然衝出來。一套ea策略在實驗室跑得再順,第一次上街還是要重新學會走路。底下三個斷點,就是街頭最常出現的三種突發狀況。

交易者在明亮實驗室盯著螢幕曲線,窗外是雨中擁擠濕滑的街道。

斷點一:成本沒有建模

第一個斷點是成本。多數回測器預設成交是理想的:訊號一出,就以你看到的那個價位成交,不計點差,不計滑價,甚至不計佣金。可現實裏,你一買一賣,價格早就被買賣價差吃掉一截,行情快的時候,成交價還會再偏一點。這些在回測報表上全都是零,在實盤對帳表上卻是一筆一筆的現金支出。

我見過不少學員的對帳表,實盤勝率其實和回測差不多,甚至一樣高,但淨利就是差一大截,原因就寫在成本那一欄。訊號是對的,方向是對的,錢卻在摩擦成本裏慢慢漏走。成本不是策略的敵人,但它是一道必須先扣掉的門檻,扣不掉,勝率再高也只是替平台打工。

要理解這件事的份量,可以看香港的官方教育資料。投委會關於槓桿式外匯的基本認識把按金、槓桿與買賣價差的關係講得很清楚,讀完你就會明白,成本不是你賺夠了才需要理會的事,而是決定你能不能賺的第一道閘。

判別信號:帳面賺,對帳蝕

判斷成本斷點最直接的信號,就是帳面賺、對帳蝕。你在交易平台看到的浮動盈虧,用的是中間價或現價,但你的實際持倉要賣出,得按買入價成交,這一進一出的差,就是點差。若你的策略平均每筆只賺幾點,而點差就有兩三點,那麼回測裏的利潤,很可能有一半以上從未存在過。

第二個信號是成交頻率。同一套ea策略,把交易次數從一年五十筆提高到兩百筆,毛利會上升,但成本會以同樣的速度上升,甚至更快,因為高頻遇上行情波動時,滑價會放大。當頻率增加而淨利沒有同步增加,甚至反而下降,那就是成本模型出了問題,而不是策略不夠努力。

成本要預留多少

我不會給一個放諸四海皆準的數字,因為品種和市況不同。比較務實的做法,是先按你的品種和交易時段,觀察一段時間的真實點差,再假設一個偏保守的滑價,加總成每筆的摩擦成本,然後回過頭重跑回測。持倉過夜的話,還要加上隔夜利息這一筆,很多人漏掉它,覆盤時才發現利潤被無聲無息地吃掉。

斷點二:執行延遲與成交偏差

第二個斷點在執行的那一毫秒。回測世界裏,訊號和成交是同一個時間點;現實世界裏,兩者之間隔着好幾步,包括策略判斷、發出指令、平台接收、送到市場、撮合成交。這幾步加起來可能只有幾十毫秒,也可能在行情最劇烈的時候,變成好幾秒。

延遲本身不是最可怕的,可怕的是它會選擇性地在最不該延遲的時候延遲。行情平穩時,多等半秒無所謂;行情暴走時,多等半秒,價格已經跑掉好幾點。於是你會看到一個很典型的現象:策略在小波動裏表現正常,一遇到大行情就出現遠超預期的滑價。

訊號價、下單價、成交價是三口價

覆盤時,請務必把三個價格分開記錄。訊號價,是策略決定要進場的那一刻的價格;下單價,是系統真正把指令送出去時的價格;成交價,是市場真正回給你的價格。三口價之間的差距,就是執行斷點的全部內容。很多學員只看訊號價和成交價,中間的下單價被忽略,結果永遠找不到延遲在哪裏。

我在課堂上示範過一次:同一套ea策略,在平靜市況下三口價幾乎重疊,落差不足一點;換到某個數據公布前後的五分鐘,三口價可以拉開到五點以上。這五點不是策略判斷錯了,而是執行鏈條在壓力下被拉長了。認清這一點,你才不會把執行的帳,算到策略的頭上。

判別信號:滑價集中在少數幾筆

執行斷點的判別信號很明確。如果你的滑價不是平均分佈,而是集中在少數幾筆,而且這幾筆都落在行情劇烈或流動性薄的時段,那問題幾乎肯定出在執行,而不是訊號。反過來,若滑價平均、穩定地出現在每一筆上,那更可能是成本模型低估了點差,屬於第一個斷點。

第二個信號是重複下單或漏單。延遲會讓系統以為上一張單沒有成功,於是重發,結果在市場裏成交了兩次;或者相反,指令送出後卡住,眼睜睜看着價格跑走。任何一種,都會讓實盤的持倉和回測的持倉對不上。對帳時若發現手數對不上,先別懷疑策略,去查執行鏈條。

斷點三:參數過度擬合

第三個斷點最隱蔽,因為它不在成交裏,而在你調參數的那個動作裏。過度擬合的意思是,你把歷史上的隨機噪音,也當成可重複的規律,然後把參數調到剛好能解釋那些噪音。結果就是回測曲線漂亮得像藝術品,卻沒有任何往前預測的能力。

我在課堂上做過一個對照:同一段黃金歷史數據,交給十位學員各自優化同一套ea策略,最後交回來的「最佳參數」幾乎人人不同。有人選二十日均線,有人選四十七日,有人把止損調到一個很刁鑽的位置。這些參數之所以好看,是因為它們在挑選時,已經偷偷看過答案。想知道人手決策和自動決策在這一步的差別,可以參考人手操盤與 EA 的實戰對照,會更容易看出哪些優勢來自規則,哪些來自事後諸葛。

判別信號:換一段數據就翻臉

參數斷點最直接的判別信號,是樣本外測試。做法很簡單:回測之前,先把最近半年或一年的數據剪走,只用前面的數據優化參數,優化完成後,再拿剪走的那一段來檢驗。若樣本內賺錢、樣本外也賺錢,那至少說明它不是純粹的過擬合;若樣本內漂亮、樣本外一塌糊塗,那條曲線再美也只能丟掉。

判別信號:參數動一點就崩

第二個信號是參數敏感度。把一個參數微微改動,例如均線週期從二十改成二十二,若整體表現立刻崩掉,那說明這套參數是懸崖上的花朵,靠着一個極窄的落點才站得住。真正穩健的策略,通常在一片參數區間裏表現都不差,這種平坦性比單點最優更值錢。

區分這三種斷點很重要。成本斷點靠調整假設來修,執行斷點靠換環境或改執行方式來修,而參數斷點只能靠減法來修,也就是減少參數、減少優化次數、增加驗證樣本。用同一種方法去修三種不同的病,是最常見的覆盤誤區。

三欄對照:回測假設與實盤現實

把三個斷點並排,你會看到它們其實對應三組假設。下面這張表,是我要求學員在覆盤時自己填一次的版本,左欄是回測器預設的世界,右欄是實盤真正發生的世界。

斷點 回測假設 實盤現實 可觀察信號
成本 零點差、零滑價、零佣金 每筆都有來回點差、滑價與佣金 帳面賺、對帳蝕;頻率升但淨利不升
執行 訊號即成交,同一時間點 訊號、下單、成交是三口價 滑價集中在少數幾筆;手數對不上
參數 同一段歷史可無限重跑 只有一次機會,面對未知未來 樣本外崩壞;參數動一點就翻臉

這張表最好用的地方,是它把「感覺策略變差了」翻譯成三個可以回答的問題:我的成本假設對嗎?我的成交價從哪來?我的參數有沒有看過答案?無論你手上的ea策略來自哪個平台,這三個問題都有客觀答案,覆盤就不再是一場猜謎。

一個可驗算的算例

講到數字,我用一個假設的例子把落差算給你看,全部是模擬口徑,不是任何真實產品的成績。假設一套黃金 EA,帳戶本金一萬美元,一年成交兩百筆。回測器預設零成本,跑出來每筆平均淨賺六美元,年毛利一千二百美元,回測年化就是百分之十二。

現在把真實摩擦成本加回去。假設每筆來回的點差、滑價與佣金加起來是四點二美元,那麼每筆真實現金流就只剩下一點八美元,年淨利變成三百六十美元,年化是百分之三點六。同一套策略、同一批訊號,光是把成本從零換成四點二美元,年化就從假設的百分之十二掉到模擬的百分之三點六,落差八點四個百分點,等於原本預期的七成利潤從未存在。

再往前走一步。若遇上行情放大的季度,滑價從一點五美元升到二點八美元,每筆成本變成五點五美元,淨利只剩零點五美元,年化掉到百分之一。這條鏈條告訴你一件很務實的事:這套策略的損益兩平點,是每筆成本等於六美元。成本一旦超過這個數,勝率再高也只是原地打轉。先算出自己的損益兩平成本,比先問策略能賺多少,有用得多。

要控制這類風險,IG 交易學院關於控制風險的說明提供了很實用的框架,重點不在預測,而在先算清楚最壞情況下自己要承受多少。把這個框架套進上面的算例,你要問的不是年化能不能到十二,而是成本再高兩美元,我還能不能活。上面這套算法,任何一套ea策略都可以用自己的對帳數字重算一遍,算完你對落差的容忍度會完全不同。

桌面攤開交易對帳表,鈔票與硬幣從桌縫漏落,桌角咖啡已冷卻。

實戰覆盤的操作順序

知道三個斷點之後,覆盤就有固定順序。先看成本:把真實點差、滑價、佣金填進回測,重跑一次,看淨利剩多少。再看執行:把訊號價、下單價、成交價並排,找出落差集中在哪類時段。最後才看參數:做一次樣本外測試,再檢查參數敏感度。這個順序的道理,是先排除那些不需要動策略就能解釋的落差,剩下的才輪到策略本身。

我要求學員至少用小資金實盤對帳三個月,把每一次的真實成本量出來,再回推策略還成不成立。這一步沒有捷徑,因為只有真實成交,才能告訴你回測假設離現實多遠。很多人跳過對帳,直接加大資金,等於用真金白銀去買一個本該在早期就發現的錯誤。

還有一件事值得提早想清楚:你究竟是想要一套自動化,還是想要一套ea策略。兩者聽起來很像,但覆盤時看的東西不同。EA 策略與人手操盤的差別從決策節奏的角度把這件事講得比較透,讀完你會更清楚,哪些落差是自動化本身帶來的,哪些是你策略設計的問題。

香港散戶的三個本地變數

香港讀者的覆盤表上,還有三個本地變數要多填一格。第一個是槓桿:槓桿式外匯的按金只是合約價值的一小部分,輕微波動會被放大,回測裏看似無所謂的小幅震盪,放到高槓桿帳戶裏,可能就是一次強制平倉。同樣的訊號,槓桿不同,落差就不同。

第二個是資金成本。香港有拆息,持倉過夜的利息會直接吃掉利潤。一套回測假設零隔夜成本的策略,放到真實帳戶,可能每一單都在默默流血,持倉愈久愈明顯。覆盤時把隔夜利息也填進成本欄,你會發現有些策略在扣息之後根本站不住。

第三個是平台與銷售話術。有些銷售會拿一張漂亮回測圖當誘餌,暗示只要掛上就能省心。美國商品期貨交易委員會針對這類手法發過明確的降低外匯交易風險的提醒,提醒投資者對保證有效的說法保持距離。我把這條連結放在覆盤清單的第一頁,因為只要心態先守住,其餘三個斷點才有機會被冷靜地修好。把這三個變數填進同一張對帳表,你手上的ea策略才會呈現出它在香港真實環境下的樣子。

常見問題

問:回測和實盤出現落差,第一個要查的是什麼?

答:先查成本,而不是先改參數。把真實點差、滑價、佣金甚至隔夜利息填回回測,重跑一次,往往就能解釋大半落差。成本是結構性的,可以量、可以修正,先排除它,才不會把不存在的策略問題當成病因。

問:成本大概要預留多少才算合理?

答:沒有通用數字,取決於品種和交易時段。務實做法是先觀察自己品種的真實點差,再假設一個偏保守的滑價,加總成每筆摩擦成本,用小資金實盤對帳三個月把數字量準。預留得太寬會低估策略,預留得太窄會高估策略,重點是讓假設貼近你自己的成交。

問:執行延遲可以完全消除嗎?

答:不可能完全消除,只能縮短和管理。網絡、平台與市場撮合都需要時間,你可以做的是選擇執行穩定的環境、避開流動性最薄的時段、在高波動事件前後調整策略行為。與其追求零延遲,不如把延遲對成交價的影響記錄下來,讓它變成可預估的成本。

問:參數過度擬合,有沒有簡單的判斷方法?

答:兩個。一是樣本外測試,把最近一段數據剪走,優化完再拿它檢驗;二是參數敏感度測試,把某個參數微微改動,看表現會不會立刻崩掉。兩者都通過,擬合的嫌疑就低;只要出現樣本外翻臉或動一點就崩,就要回頭做減法。

問:三個斷點應該按什麼順序修?

答:順序是成本、執行、參數。先修正不需要動策略就能解釋的那部分落差,再看執行環境,最後才動參數。這個順序能避免你在一個本質是成本或延遲的問題上,反覆微調參數,白費力氣還把策略改得更脆弱。

立即 WhatsApp 聯繫小風團隊免費諮詢:+852 5378 5383

網站:https://aitrading.ace-fortune.com/EA

投資涉及風險,過往表現不代表未來回報。本內容僅供教育參考,不構成任何投資建議。

類別:投資攻略
分享到:
null

Ace Fortune 2018年成立於香港,早期研究方向包括面向 PI(個人專業投資者)的大數據智能指標及選股器,以及運用量化模型研究交易策略。
今天,我們將這份系統思維,延伸至 AI 工具與程式交易教育,讓新手學習運用 AI Agent 輔助整理資料、編撰程式與檢查邏輯。
從理解工具到動手實作,讓科技更容易入門,支持個人增值與成長。Let Intelligence Empower Your Growth. 

null
© 2026 Weber All Right Reserved