江湖術士躲在陰暗的角落,等待毫無防備的獵物。別成為他們的食物。

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)

這是最糟糕的過度擬合——而且很多聰明人都會掉進這個陷阱。

下一章將討論:如何避開本章四大陷阱,正確地估計可實現的真實績效——降低交易者效應、辨識隨機效應、做正確的最佳化、避免過度擬合。