為什麼回測看起來很賺,實盤一跑就縮水?四個缺口在哪裡

回測漂亮、實盤拉胯,幾乎是新手必踩的坑。這差距不是玄學,而是四個具體原因造成的,而且每一個都能在下實盤之前提前檢查。

MyTrade Academy 編輯部
7 分鐘閱讀

幾乎每個做策略的人都會經歷這一幕:回測跑出來曲線漂亮得不行,一上實盤就開始縮水。這不是玄學,也不是運氣差,而是回測與實盤之間本來就有幾個固定的缺口在漏。

最主要的四個:過擬合、前瞻偏差、被忽略的交易成本、以及歷史圖表裡看不出來的成交差異。每一個都能在動用真錢之前查清楚。

TL;DR

回測與實盤差,主要因為四個缺口:過擬合(策略擬合了測試那一段時間的雜訊)、前瞻偏差(測試用到了當時還不可用的資訊)、交易成本(乾淨測試沒算手續費與滑價)、執行差異(歷史圖表看不出真實的成交與時機)。每一項都可以在實盤前檢查,查清楚了差距就被理解了,而不是實盤裡才被嚇一跳。

缺口一:過擬合

一套策略被反覆調校到某一段特定歷史區間上,最終可能擬合的是這段區間的雜訊,而不是一個可重複的模式。回測在被調過的資料上當然好看,換個時段就原形畢露。

這是「好回測讓人失望」最常見的原因:結果描述的是測試期本身,不是市場。

缺口二:前瞻偏差

測試可能悄悄用到被測試那一刻還不可用的資訊:後來修訂的財務數字、後來才變化的成分,甚至未來才有的價格。

這讓策略好像擁有了實盤交易者從沒有的先見之明,結果被墊高了你卻沒察覺。

回測與實盤的差距從哪來
原因它做了什麼怎麼檢查
過擬合擬合了測試的雜訊在沒調校過的時段上重測
前瞻偏差用了未來的資訊核對每個輸入當時的可用時間
交易成本沒算手續費與滑價給測試加上現實成本
執行差異假設完美成交為真實成交與時機留出空間

缺口三:交易成本

一份「乾淨」的回測可以完全不考慮手續費、價差與滑價,於是每筆交易看起來都比實盤便宜。

暴露最狠的是高頻換手的策略:每筆只差一點點成本,攢成幾百上千筆,就是一個大數字。

範例:100 筆回測交易,加上真實成本前後的對比
項目乾淨回測(不含成本)加上真實成本後
勝率55%(55 / 100 筆)55%(不受成本影響)
平均獲利300 元 / 筆300 元 / 筆
平均虧損200 元 / 筆200 元 / 筆
每筆手續費 + 滑價0 元80 元
期望值(每筆)+75 元-5 元

同一套 100 筆的交易紀錄,唯一變化的只是有沒有算上真實成本,期望值就從正轉負。

勝率55%
平均獲利300 元
虧損率45%
平均虧損200 元
毛期望值75 元 / 筆
每筆真實成本80 元
淨期望值-5 元 / 筆
75 元變成 -5 元,只差了一步

乾淨回測裡,這套策略每筆平均能賺 75 元,勝率 55% 看著也不差。但只要把每筆 80 元的手續費和滑價算進去,淨期望值就從正轉負——這正是「缺口三」在數字上的樣子。

缺口四:執行差異

歷史圖表顯示的是價格,不是真實成交的體驗:跳空、薄盤口、下單時機,這些在乾淨測試裡全都看不見。

一個假設每個訊號都完美成交的策略,自然會高估實盤真正能拿到手的成績。

差距不是玄學,也不是零

回測與實盤有差距,是因為幾個具體、可檢查的原因。紀律就是用現實成本、用沒調校過的時段來測,並把回測當成證據,而不是承諾。

怎麼把這幾個缺口堵上

在策略從沒被調校過的時段上跑回測,把真實的交易成本加進去,再核對每個輸入在測試那天是不是真的可用。

差距不會消失,但一個測法正確的策略,會讓你知道差距大概在哪、為什麼在,而不是等上了實盤才被現實教育。

常見問題

實盤比回測差,是正常的嗎?

如果成本、執行與測試偏差都沒算進去,那很正常。差距本身正常,但大小取決於具體原因。

哪個原因影響最大?

看策略。高換手策略被成本吃掉最多;被調校過的策略栽在過擬合;基本面策略容易被前瞻偏差坑。

這差距能完全消除嗎?

不能,但用現實成本、樣本外測試與嚴格的資料可用性檢查,能把它壓到很小。

把回測當證據,別當承諾

第 44 課講過擬合、參數風險,以及怎麼用獨立時期驗證來暴露對雜訊的擬合。

開啟第 44 課