第一次做出一條往右上的權益曲線,很多人會以為自己找到方法了。比較常發生的是:你找到一套很會解釋過去的參數。回測有用,但它預設了很多現實裡不成立的事:成交價夠好、成本夠低、未來長得像過去。這篇只講坑,不給你一條可以照抄的曲線。
- 漂亮曲線優先當可疑,不當證明
- 沒扣成本、沒留樣本外,結果通常偏樂觀
- 參數調到只適合某一段歷史,叫過度配適,不叫優化
一、回測回答的是「過去這樣做會怎樣」
它不回答「明天這樣做會怎樣」。這句話聽起來像廢話,實務上最常被跳過。你看到的是一條已經知道答案的線。線愈漂亮,愈要問:這條線用了多少事後才知道的資訊?有沒有用到當時看不到的價、當時走不到的量、當時還沒公布的財報?
- 回測是過去的成績單
- 成績單不能當入場券
- 先問用了哪些當時看不到的資訊
二、坑一:成本與滑價被當成零
手續費、交易稅、買賣價差、大單自己推價,都會吃掉紙上獲利。短週期策略尤其敏感:看起來一天賺一點,扣完成本可能是零或負。回測若用收盤價當成交、又不扣費用,你測到的是一個不存在的市場。先把成本設得比較醜,再看曲線還在不在。
| 回測常假設 | 現實比較常是 | 先怎麼處理 |
|---|---|---|
| 收盤價成交 | 流動性差時走不到 | 用較差的成交假設 |
| 零成本 | 稅費與價差都在 | 先扣醜一點的成本 |
| 隨時進出 | 漲跌停與處置會卡住 | 把不能交易的日子標出來 |
| 部位無限可加 | 胃納量有上限 | 用你真的做得到的張數 |
三、坑二:樣本內調到完美,樣本外立刻歪
同一段資料又拿來調參數、又拿來報成績,等於考試先看答案。比較老實的做法是:前面一段只准調,後面一段不准再碰,只准看一次。若後面一段垮掉,前面的漂亮就只是配適。參數愈多、條件愈細,愈容易只記住一段行情的口音。
- 先切一段不准再調的資料
- 只看一次樣本外
- 垮了就承認是配適,不要再微調到它變漂亮
四、坑三:忽略失效與相關性
策略會過期。市場結構、參與者、規則都會變。回測沒告訴你它什麼時候該停。另外,你若同時看很多條曲線,再挑最漂亮的那條,等於做了很多次考試只公布最高分。多策略看起來分散,若賺的是同一種行情,回撤仍會疊在一起。
- 先寫失效條件,再看曲線
- 多條策略要問是不是同一種行情
- 最高分通常含選擇偏差
五、回測能做的最小用途
它比較適合拿來否定:這套規則在過去就活不下去,現在更不必認真。它比較不適合拿來肯定:過去活得很好,所以現在可以放大。否定用回測,肯定用小部位與時間。紙上交易是另一層,因為它至少碰到你的手,不只碰到程式。
常見問題 FAQ
曲線穩不代表可以用嗎?
穩只代表那段歷史被解釋得很好。沒有成本、樣本外與失效條件,穩仍可能是假的。
要多少筆交易才夠?
沒有魔法數字。筆數太少,勝率會跳。重點是樣本能不能代表你真正會遇到的市況,不是湊滿某個整數。
用日線是不是比較沒坑?
日線成本敏感度較低,仍有未來函數與過度配適。週期不自動等於誠實。
和紙上交易差在哪?
回測是機器走完已知歷史;紙上是你用當下資訊做決定。兩者都偏樂觀,但坑不一樣。
總結
回測先拿來否定,不拿來證明。成本、樣本外、失效條件三個坑沒補,漂亮曲線多半只是很會解釋過去。