前言:那些回測不會告訴你的事
我們的量化交易系統在回測裡看起來很美:
- 年化報酬:87%
- 勝率:53%
- 最大回撤:-12%
- 夏普比率:2.1
然後我們把它接上真實市場。
第一個月的實際結果?年化從 87% 掉到 23%,最大回撤從 -12% 變成 -18%。
不是策略爛了。是我們低估了「現實」這個變數。
以下是我們用真金白銀學到的 5 個教訓。
教訓一:滑點不是 0.05%,是隨時可能 2%
回測的假設
回測引擎通常假設:信號觸發 → 以當時價格成交。有些比較好的回測工具讓你設定「滑點 0.05%」。
現實
2026 年 1 月,BTC 在一分鐘內跌了 3%。我們的做空信號在 $97,200 觸發,但實際成交在 $96,850 — 滑點 0.36%。聽起來不多,但乘以槓桿,這筆交易的獲利直接少了一半。
更誇張的是小幣。某個中等市值的代幣,我們的回測假設滑點 0.1%。實際上?在市場劇烈波動時,掛單簿直接變真空,滑點超過 2%。
我們怎麼解決
| |
鐵則:回測滑點永遠設比你想的高 2-3 倍。如果加上高滑點後策略不賺錢,那它本來就不賺錢。
教訓二:API 會在你最需要它的時候掛掉
回測的假設
每個信號都能完美執行。沒有「交易所 API 回傳 429」、沒有「WebSocket 斷線」、沒有「下單後 30 秒才收到回報」。
現實
上線第二週,某天凌晨 3 點(當然是凌晨):
- BTC 突然大跌觸發做空信號
- 全世界的交易機器人同時發送請求
- 交易所 API 回傳
HTTP 429 Too Many Requests - 我們的系統重試 3 次,都失敗
- 等到 API 恢復,價格已經反彈
- 信號失效,但系統不知道,還是下了單
- 結果:在反彈高點做空 → 直接虧損
我們怎麼解決
| |
鐵則:每個 API 呼叫都要有 timeout、重試、和「太晚就不做」的機制。信號有保鮮期。
教訓三:流動性是幻覺
回測的假設
你的訂單不會影響市場。$10,000 的買單對市場來說微不足道。
現實
對 BTC 來說確實微不足道。但你試過在凌晨 4 點對一個日交易量 $500,000 的小幣下 $10,000 的單嗎?
我們做過。結果是自己把價格推高了 1.5%,然後用很差的均價成交。回測裡這筆交易賺 3%,實際上只賺 0.8%。
更慘的是出場。你想在 $2.15 止盈,但掛賣 $10,000 後,價格直接從 $2.15 跌到 $2.08,因為你的賣單就是那個時段最大的賣壓。
我們怎麼解決
| |
鐵則:你的策略最大容量 = 目標幣種最低流動性時段的交易量 × 0.1%。超過這個,回測績效就不可信。
教訓四:你以為你不會手動干預,但你會
回測的假設
系統發出信號 → 完美執行 → 沒有人類情感干預。
現實
上線第三週,系統做多 BTC,然後 BTC 連跌三天,浮虧 $800。
理性上,我知道停損設在 -2%,帳戶風險完全可控。但看著真實帳戶的數字一直在減少,你的大腦會開始做一些「聰明」的事:
- 「再跌一點我先手動平了吧,感覺這次不一樣」
- 「停損太近了,移遠一點應該比較安全」
- 「暫停系統吧,等市場穩定再開」
第三週我手動干預了 4 次。其中 3 次,系統原本的信號是對的。我的「直覺」讓我多虧了 $1,200。
我們怎麼解決
- 物理隔離:交易系統跑在伺服器上,我沒有一鍵平倉的按鈕
- 干預冷卻期:想手動干預?先等 4 小時。如果 4 小時後你還想干預,再寫下原因
- 干預記錄:每次手動操作都自動記錄,月底回顧。數據會告訴你,你的干預到底是幫忙還是幫倒忙
- 小額開始:用總資金的 10% 跑實盤。虧 $80 的心理壓力遠小於虧 $800
干預回顧數據
| 月份 | 手動干預次數 | 干預結果 - 比系統好 | 比系統差 |
|---|---|---|---|
| 1月 | 11 | 3 (27%) | 8 (73%) |
| 2月 | 4 | 1 (25%) | 3 (75%) |
| 3月至今 | 1 | 0 (0%) | 1 (100%) |
結論很清楚:你的干預大概率讓事情更糟。
鐵則:如果你做了一套系統然後不信任它,問題不在系統 — 在你的測試不夠充分。回去多做 Paper Trading,直到你真的相信它。
教訓五:黑天鵝不是理論,是早晚的事
回測的假設
歷史數據包含了所有可能發生的事。
現實
不,它沒有。每次黑天鵝發生,都是歷史上沒出現過的事:
- 2022 年 Luna 崩盤:一天之內從 $80 到 $0.001
- 2025 年 12 月:BTC 一天跌近 8%($91K → $83.8K),帶崩整個市場
- 各種交易所突然暫停提幣、修改規則、出問題
我們的系統在 2025 年 12 月那天表現如何?停損全部被穿過去了。設在 $88,000 的停損,實際觸發在 $85,800。因為市場移動太快,掛單簿上的流動性瞬間消失。
我們怎麼解決
| |
鐵則:不要問「黑天鵝會不會來」。問「黑天鵝來的時候,我的帳戶能不能活」。
回測 vs 實盤:數據對比
經過三個月的調整,我們的實盤績效逐漸接近回測,但永遠不會完全一樣:
| 指標 | 回測 | 實盤第1月 | 實盤第3月 | 差距原因 |
|---|---|---|---|---|
| 年化報酬 | 87% | 23% | 52% | 滑點 + 延遲 + 手動干預 |
| 勝率 | 53% | 48% | 51% | 信號過期導致錯過的交易 |
| 最大回撤 | -12% | -18% | -14% | 黑天鵝穿過停損 |
| 夏普比率 | 2.1 | 0.9 | 1.6 | 綜合影響 |
實盤績效 = 回測績效 × 0.6 到 0.7
這是一個很粗略但實用的經驗法則。如果你的回測年化 100%,實盤大概能做到 60-70%。如果你的回測年化只有 20%,那實盤可能只有 12-14% — 這時候你要問自己,扣掉手續費和時間成本,還值得嗎?
上線前的檢查清單
在你把系統接上真金白銀之前:
- Paper Trading 至少跑了 30 天,包含上漲和下跌行情
- 回測加了合理的滑點(大幣 0.15%,小幣 0.3%+)
- API 失敗的處理邏輯已測試(手動斷網測試過)
- 信號有保鮮期(超過 N 秒自動取消)
- 流動性篩選(不交易 24H 量太低的幣)
- 帳戶層級硬停損已設定
- 干預記錄機制已設定
- 先用 10% 資金試跑,不是直接全額投入
- 心理準備:第一個月會比回測差很多,這是正常的
這份清單是我們交易課程第 6-8 章的精華節選。想看完整框架(含可直接使用的程式碼)?查看完整課程 →
結語
從回測到實盤的差距,不是 bug — 是 feature。這個差距在告訴你:「你的模型缺少了一些現實世界的因素」。
與其追求回測績效最大化,不如追求「回測和實盤的差距最小化」。一個回測年化 40% 但實盤能做到 30% 的系統,比一個回測 200% 但實盤只有 20% 的系統好太多了。
穩定可預測,比華麗不可控,有價值得多。
這些教訓都整理進了我們的 AI×交易 完整攻略。13 章完整實戰,包含從策略開發到實盤部署的每一步。
你從回測到實盤有踩過什麼坑嗎?歡迎在下方留言分享經驗。