回測賺錢只是起點。從回測到實盤之間,有五道你在螢幕上看不到的牆。
最讓人崩潰的時刻
你花了三個月開發一個策略。回測跑了上百次。樣本外驗證也通過了。一切指標都漂亮。
你信心滿滿地投入真金白銀。
第一週,小虧。你告訴自己:正常波動。 第二週,繼續虧。你開始懷疑。 一個月後,你的實盤績效和回測結果完全是兩個東西。你沒寫錯程式。回測流程也沒問題。問題出在——回測的世界和真實交易的世界,根本就不是同一個世界。
五個致命差距
1. 滑價比你想的嚴重得多
回測裡,你設定「RSI 跌破 30 時以收盤價買進」。程式假設你真的能用那個價格成交。
但現實是:
- 你的訂單需要時間送達交易所
- 在你的訂單送達之前,價格可能已經移動了
- 如果很多人同時想買,你的成交價會比預期更高
- 市場流動性差的時候(開盤、收盤、重大事件),滑價會放大好幾倍
一個每天交易的策略,回測設 0.05% 的滑價和實際 0.2% 的滑價,一年下來差距可能是 30-40% 的總報酬。
你的回測曲線有多少利潤是建立在「完美成交」這個假設上的?
2. 流動性不是無限的
回測假設你想買多少就能買多少,想賣多少就能賣多少。
但真實市場有限制:
- 市場深度有限:你想用 100 元買 1,000 股,但在 100 元這個價位只有 200 股的賣單。剩下的 800 股你得用更高的價格買。
- 你的訂單會影響市場:資金量越大,你自己就是造成價格移動的原因。這叫市場衝擊(Market Impact)。
- 某些時段流動性會蒸發:盤前盤後、假期前後、黑天鵝事件時,你可能根本無法成交。
在回測裡年化 50% 的策略,如果你的資金量讓每筆交易都產生市場衝擊,實際年化可能只剩 10%。
3. 數據品質問題
回測用的歷史數據,可能跟真實發生的不一樣。
常見的數據問題:
- 倖存者偏差:你的數據庫裡只有「還活著」的股票。那些下市、被收購的股票不在裡面。但當年它們是存在的,你的策略可能買到了它們。
- 回補調整:股票分割、配息後,歷史價格會被調整。不同數據源的調整方式不同,可能導致完全不同的回測結果。
- 最高最低價的可靠性:日線數據裡的最高價和最低價,你在盤中真的能碰到嗎?很多時候那只是一瞬間的價格。
用乾淨的數據回測出漂亮結果,不代表用真實(混亂的)數據也行。
4. 執行層面的摩擦
回測的世界是完美的:訊號出現 → 立刻下單 → 立刻成交。
真實交易的世界:
- 延遲:從訊號產生到訂單送出,可能有幾百毫秒到幾秒的延遲。價格已經變了。
- 系統故障:網路斷線、API 超時、券商系統當機。你的策略假設 100% 正常運作,但現實不是。
- 人為干預:策略說要加碼,但你看到帳戶浮虧 20% 嚇得手動平倉。回測裡沒有「恐懼」這個變數。
- 訂單被拒:資金不足、超過持倉限制、觸發風控規則——這些在回測裡不存在。
每一個小摩擦單獨看都不致命,但它們會疊加。十個「微小」的問題加在一起,就是一個「巨大」的績效差距。
5. 市場環境會變
這可能是最根本的問題。
你的策略是在歷史數據上開發的。那段歷史有特定的市場環境:波動率、趨勢強度、市場參與者結構、利率環境、地緣政治背景。
但市場環境會變。
- 2017 年的低波動率環境和 2020 年的疫情市場完全不同
- 量化交易的普及改變了市場微觀結構
- 監管政策的變化會影響交易規則
- 新的市場參與者(散戶、AI 交易)會改變價格行為
一個在 2015-2020 年間回測漂亮的策略,不代表 2025 年的市場環境還適用。
市場是一個會演化的對手。你的策略是靜態的,但市場不是。
那怎麼辦?
先說清楚:這不是說回測沒用。回測仍然是量化交易最重要的工具之一。
但你需要正確看待它:
回測告訴你的是「這個策略在過去的條件下可能有效」。它不保證「這個策略在未來一定有效」。
幾個實務建議:
- 用保守的成本假設。與其用 0.05% 的滑價,不如用 0.1% 甚至 0.2%。如果加了保守成本還能賺,策略才有實戰價值。
- 先用模擬盤跑一段時間。把策略接上即時數據,但不投入真錢。觀察實際訊號和回測訊號的差異。
- 小資金實測。通過模擬盤驗證後,用最小資金實盤跑。這一步是用真實的市場摩擦去測試策略。
- 持續監控策略表現。策略上線不代表可以放著不管。設定明確的「停損標準」——如果實盤績效偏離回測預期超過某個閾值,停下來檢查。
- 接受衰退期。即使是好策略也會有虧損的時候。關鍵是區分「正常回撤」和「策略失效」——這需要經驗,也需要統計工具。
結語
從回測到實盤,中間的距離比大多數人想像的遠得多。
那些告訴你「回測賺錢就能實盤賺錢」的人,要麼沒有真正交易過,要麼在賣你東西。
真實的量化交易,是一個不斷面對「回測很美好,現實很骨感」的過程。接受這一點,才是正確的起點。
下一篇,我們換個角度——聊聊英文量化圈裡那些中文世界很少討論的觀點。有些東西,不是你不夠聰明,只是資訊還沒傳過來。




















