江湖術士躲在陰暗的角落,等待毫無防備的獵物。別成為他們的食物。
「Stonehenge Plus 在 5 年內把 5,000 美元變成 100 萬美元!由 NASA 科學家 Stupendus Magnificus 所發明,採用發射火星探測車的同一套技術來操作貨幣。準確率超過 90%、10 年來無一虧損月。為了維護獨家性,我們僅出售 100 套,售價 $1,999——售完為止。」
——某「系統廠商」的廣告文案
為什麼回測會騙人#
任何在交易圈待過一段時間的人都看過這類廣告。買家請當心:
- 江湖術士運用不負責任的行銷話術與不真實的回測結果
- 某些廠商蓄意修改測試讓系統看起來更亮眼
- 也有一些廠商真心相信自己的系統,但其實方法本身有缺陷
- 真正懂回測的人不多,新手很難分辨哪些是好系統、哪些不是
即使是經驗豐富的交易者,也常常知道「實盤績效會比歷史回測差」,但不知道為什麼。
真實 vs. 回測差距的四大來源:
- 交易者效應(Trader Effects)
- 隨機效應(Random Effects)
- 最佳化悖論(Optimization Paradox)
- 過度擬合 / 曲線擬合(Overfitting / Curve Fitting)
1. 交易者效應(Trader Effects)#
物理學中有「觀察者效應」:觀察某現象的動作本身會干擾這個現象。交易也是。交易行為本身會改變交易賴以成功的市場條件——這就是「交易者效應」。
- 任何重複出現的型態,都會被一群參與者注意到
- 一個近期表現突出的策略,會吸引更多人模仿
- 一旦太多人嘗試套用同一策略,這個策略就不再像過去那麼有效
案例:突破策略可被前置攻擊#
設想黃金市場:
- 某機構 ACME 在 8 月份黃金 $410.50 掛 1,000 口買單
- 你(搶帽客)在 $408 預判可以「推升」價格觸發 ACME 的單
- 用市價單買進、推升至 $409、再買進剩餘到 $411
- 觸發 ACME 的單後,你以 $411 把 1,000 口賣回給他
- 多餘 100 口在 $407 認賠掉
結果:
- $1,000 oz × 100 口 × −$4 = −$40,000
- $1,000 oz × 1,000 口 × $2 = +$200,000
- 淨賺約 $160,000(不計手續費)
- 對 ACME 而言,他的「突破」其實不是真的突破,背後不是市場有意願追價,而是被你人為推上去
對純粹靠突破訊號的回測來說,這在歷史資料中根本看不出來——但這正是新版突破訊號失效的源頭。
真實案例:某熱門系統的突發崩潰#
- 一套經典系統長年表現亮眼、被多家券商推銷
- 高峰期管理規模累計達數億美元
- 系統有可被利用的瑕疵:當收盤價達某條件時,會在隔日開盤掛買單
- 知情交易員在當日收盤前先買、隔日開盤後賣給這些自動單
- 系統作者的投資組合還包含木材、丙烷等流動性差的市場,更容易被推動
- 結果:系統陷入 20 年回測中從未出現過的長期、深度回檔
預防方法:自己開發自己的系統——別人不知道你會在哪裡買賣,就難以前置攻擊你。
海龜時代的真實混淆#
當海龜大家同時下單時,場內交易員學會了「跟單」:
- 海龜的買單到時,他們先把市場推上去
- 海龜用限價單(部分原因正是為此),無法被觸發時就直接撤單
- 作者偶爾使用「假單」(fake order):先掛反向假單讓場內錯估方向,再撤掉、改掛限價買單
- 這就像撲克的偷雞(bluff):不能常做,但偶爾用一次可以打亂對手節奏
- 海龜彼此停損寬窄不同、進場時點不同,本身就替 Rich 製造了大量混淆
即使無人惡意攻擊也會發生#
- 太多人去抓同一個現象,光是訂單疊加就會把該現象的優勢稀釋掉
- 套利這類本身優勢就小的策略受影響特別大
2. 隨機效應(Random Effects)#
多數交易者低估了「純粹的運氣」對結果的影響——而典型投資人比典型交易者更不理解這一點。
純隨機進場的測試#
把硬幣丟進電腦:
- 多空隨機進場 + 20–120 天時間出場
- 用第 12 章相同資料、跑 100 次測試
- 最佳一次:年化 16.9%,10.5 年從 100 萬變 550 萬美元
- 最差一次:年化 −20%
「全部隨機」就能拉出這麼大的變異。
加上「趨勢過濾」這個小優勢呢?#
把隨機進場限定在主要趨勢方向(仿 Donchian Trend 過濾):
- 100 次平均報酬 32.46%、平均回檔 43.74%
- 最佳:53.3%、MAR 1.58、最大回檔 33.6%
- 最差:17.5%、最大回檔 62.7%
即使加入優勢,個別測試之間的差異仍極大。投資人若只看歷史紀錄:
- 無法分辨「真正優秀但運氣普通」與「平均水準但運氣極佳」的差別
- 隨機效應太大、太常見,僅憑紀錄無從判斷
Lucky Genes:均值回歸的比喻#
- 高個父母的孩子身高平均較高,但通常會比父母更靠近平均值
- 這就是統計上的「均值回歸」(reversion to the mean)
- 父母把基因傳下去,但運氣不會傳
為什麼績效排名常被運氣操弄#
假設 1,000 位交易員的世界裡:
- 5–6 位真正優秀
- 800 位接近平均水準
- 真正能「不幸」的對象只有 5–6 位
- 800 位卻有運氣爆發的機會
- 假設 2% 的平均交易者在 10 年內運氣特別好,就有 16–17 位看起來成績優異
- 加上 5 位真正優秀者,名單上 21 位中只有 1/4 是真材實料
時間是真才實學的朋友#
- 時間越長,運氣的幸運者越會回到平均
- 短期紀錄(如 5 年)中假象多,10 年以上才比較可靠
縮短到 3.5 年(2003/1–2006/6)的測試#
- 隨機進場系統平均報酬 35%、MAR 1.06
- 真實系統表現:
- Triple Moving Average:48.5%、MAR 1.50
- Bollinger Breakout:52.2%、MAR 1.54
- Dual Moving Average:49.7%、MAR 1.25
但隨機系統 100 次測試中:
- 17 次 MAR 高於 1.54
- 其中 7 次 報酬高於 52.2%
- 最強的隨機交易員:71.4%、MAR 2.07、回檔 34.5%
下次再看到「過去三年績效驚人」的紀錄時,請記得:短期紀錄裡,運氣的成分常被嚴重低估。
真正會投資的人投資人,不是投資績效紀錄——他們知道如何辨識「未來可能優秀」與「過去剛好好運」的特徵差異。
3. 最佳化悖論(Optimization Paradox)#
什麼是最佳化(Optimization)#
選擇系統參數的數值(例如均線天數)。許多交易者認為「最佳化會導致曲線擬合」,作者反對這個觀點:
正確的最佳化是好事——理解某個參數變化對績效的影響,遠比一無所知更好。
反過來,檢視參數變化反而能幫你發現「績效是否來自隨機 / 過擬合,而非真實優勢」。
最佳化悖論的精確意義#
最佳化悖論:
- 對參數做最佳化會提高未來實際表現的可能
- 同時也會降低回測作為預測工具的精準度
換言之:最佳化讓系統更可能在未來賺錢,但讓回測「對未來的預估」更不可靠。
範例:Bollinger Breakout 的進場閾值(Figure 11-1)#

Figure 11-1: Change in MAR Ratio as the Entry Threshold Varies
把進場通道寬度(標準差)從 1 試到 4:
- 峰值出現在 2.4 附近
- 若你不做最佳化、隨意採用 3.0 標準差(因為「常態分配 99% 落在 3 σ 內」)
- 與 2.4 相比:
- 報酬:54.5% vs. 28.2%
- 同樣回檔下,獲利差約 8 倍
不做最佳化等於「無知地把選擇權留給運氣」。經過最佳化你會理解:
- 通道太窄 → 交易過多、績效受傷
- 通道太寬 → 等太久才進、錯過趨勢、績效也受傷
其他案例(Figure 11-2、11-3)#
- 中軸均線天數:峰值出現在 350 天
- 出場閾值:峰值出現在 −0.8 標準差

Figure 11-2: Change in MAR Ratio as the Number of Days in the Moving Average Varies

Figure 11-3: Change in MAR Ratio as the Exit Threshold Varies
為什麼最佳值反而「預測力較低」#
考慮兩個參數值(Figure 11-4、11-5):

Figure 11-4: Example Parameters A and B
- A:非最佳化、平坦區段內
- B:最佳化、山峰處
未來必然與過去略有差異——這個差異會把「最佳區」往左或右推:
- 在 A:左移會更差、右移會更好——測試結果是個「中性預測」
- 在 B:任何方向的偏移都會更差——回測結果幾乎一定高估

Figure 11-5: Parameters A and B with Margins of Error
多個參數同時最佳化時,這個問題會被放大——「在歷史上看起來很完美」幾乎一定意味著「未來會大幅不如預期」。
但這不代表你應該選 A——B 點即使在偏移後仍多半比 A 點好。最佳化只是無法當作對未來的精準預測。
不肖系統廠商正是利用這個悖論,特別是在短期、針對特定市場做最佳化,包裝出明知無法重現的歷史績效。
這不代表「應該避開最佳化」——正確的最佳化對打造穩健系統至關重要。
4. 過度擬合 / 曲線擬合(Overfitting)#
過度擬合常被與最佳化悖論混淆,但兩者不同。
過度擬合:把規則加得過於細緻,使系統「看起來歷史很好」,但其實只在極少數關鍵交易上發揮作用。
- 一條讓你「在某筆超大獲利的最高點附近出場」的規則
- 看起來很神,但若它的觸發樣本數極少,就是過擬合
範例:人為「修補」前面六個月的回檔#
從 Dual Moving Average 系統開始,作者刻意加上:
- 規則:當回檔達 38% 時,把部位縮到原本的 10%
- 回檔結束後恢復正常規模
結果(看起來很美)#
- 報酬:41.4% → 45.7%
- 最大回檔:56.0% → 39.2%
- MAR:0.74 → 1.17
但這條規則在整個測試期內只觸發過一次——而且就在測試末段,剛好命中作者已知道結果的回檔。
把回檔閾值從 38% 改到 37%:
- 報酬從 45.7% 變成 −0.4%
- 因為 1996 年 8 月時觸發、把部位減到太小、之後爬不出回檔
「懸崖效應」(Cliff)#

Figure 11-6: Drawdown 閾值的微小變動造成績效懸崖式下跌
參數值小幅變動就讓績效大幅劇變的現象,叫做懸崖(cliff)。
懸崖是過度擬合的明顯訊號:
- 1% 的參數變動會大幅改變結果,就代表你的系統脆弱
- 預期實盤結果會與回測天差地別
- 這也是「最佳化是好事」的另一個理由——只有把參數變化視覺化,你才能看見懸崖
樣本量太小才是禍首#
過度擬合最常見的根源,是對少數樣本下過大的結論。
案例:用「季節性」過擬合#
10 年資料中,每個月份只有 10 個樣本。如果隨意挖出某些月份「表現差」,建立減倉規則:
- 作者跑了 4,000 次測試
- 找到「9 月前 2 天 + 7 月前 25 天減倉 96%」
- 套用後:報酬 45.7% → 58.2%、回檔 39.2% → 39.4%、MAR 1.17 → 1.48
看起來棒透了,但這條規則之所以成立,只因為過去那幾天剛好出現大回檔。未來這些回檔幾乎不會剛好出現在同樣日期。
真實系統其實是:
- 報酬 41.4%(不是 58.2%)
- 回檔 56.0%(不是 39.4%)
- MAR 0.74(不是 1.48)
這是最糟糕的過度擬合——而且很多聰明人都會掉進這個陷阱。
下一章將討論:如何避開本章四大陷阱,正確地估計可實現的真實績效——降低交易者效應、辨識隨機效應、做正確的最佳化、避免過度擬合。