「趨勢跟隨系統只有兩種:快的和慢的。」——Jim Orcutt
本章整合原書「圖表分析軟體」、「技術交易系統的結構與設計」與「交易系統測試與優化」三章內容,介紹機械化交易系統的核心思路、常見陷阱與評估方法。
為什麼要使用機械化系統?#
紙上交易遠比實單容易,差別只在一個字:情緒。情緒會導致過度交易、聽到謠言就提早平倉、為了「好價」搶進、明明虧損還抱著不放。機械化系統的三大價值:
- 去情緒化:不再每天靠決策的承擔交易壓力
- 保證一致性:任何「選擇性執行」的策略都會錯失最大獲利的訊號或承擔最大的虧損
- 內建風險控制:機械化系統一定包含停損或反向訊號,避免單筆爆倉
即使一個顧問通訊的長期建議是賺錢的,多數訂閱者仍會虧錢——因為他們會挑著做、跌一陣子就放棄。「好策略 ≠ 賺錢」,只有「好策略 + 一致執行」才能賺錢。
圖表與分析軟體:選購指南#
選軟體前要盤點自身需求與電腦能力。價格從百元到數千美元都有;不要為用不到的高階功能付溢價。三大評估維度:
- 時間框架/交易風格:盤中或極短線才需要即時資料軟體(成本指數級高於日終)
- 分析目標:只想看圖、畫趨勢線?還是要設計與測試自有指標與系統?後者貴得多
- 電腦能力:基礎圖表軟體都很直覺;具備系統測試能力的軟體則有自有的程式語言(雖經簡化),把複雜想法測試出來仍需學會基礎程式
分析程式(analytical program)≠ 交易程式(trading program):前者讓你按自己的觀點分析,後者是已封裝的機械系統。許多廣告把兩者混為一談——你買的可能是「系統」,而非分析能力。
三種系統類型#
| 類型 | 邏輯 |
|---|---|
| 趨勢跟隨(Trend-Following) | 等待價格出現足夠的同向變動後,順勢進場,假設趨勢將延續 |
| 逆勢系統(Countertrend) | 等待價格出現顯著走勢後,反向進場,假設市場將修正 |
| 型態辨識(Pattern Recognition) | 不以方向性走勢為主,依特定型態(如尖刺日)進場 |
三類之間的界線並非清楚切割。隨著修改加入,一類系統可能逐漸表現得像另一類。
趨勢跟隨系統:兩個基本方法#
移動平均系統#
- 單均線交叉:價格上穿均線買進、下穿賣出。最大缺點:假訊號太多,因為短暫劇烈波動就足以觸發
- 加權方式(線性加權 LWMA、指數加權 EWMA):施瓦格的實證觀察是「沒有強力證據顯示比簡單均線更好」
- 雙均線交叉系統:短均線上穿長均線買進,反之賣出。訊號數大幅減少,效果遠勝單均線

Figure 14.1:1993 年 12 月 T-Bond 與 35 日移動平均

Figure 14.2:寶僑(P&G)與 12 日移動平均

Figure 14.3:寶僑(P&G)與 48 日移動平均

Figure 14.4:寶僑(P&G)的雙均線交叉系統
突破系統(Breakout System)#
最簡單規則:
- 收盤超過前 N 日最高 → 反空為多
- 收盤跌破前 N 日最低 → 反多為空
N 值的選擇是「快慢」的取捨:N 小 → 訊號早,但假訊號多;N 大 → 假訊號少,但進場慢、單筆虧損可能更大。經驗上多數市場慢系統優於快系統——但仍須以實證測試為準。

Figure 14.5:「快」突破系統訊號(IBM)

Figure 14.6:「慢」突破系統訊號(IBM)
趨勢跟隨系統的十大問題#
施瓦格列出趨勢跟隨系統共通的弱點:
- 太多相似系統:眾多系統訊號相近,可能在同 1–5 日內共同下單,造成滑點
- 多重假訊號(Whipsaws):典型的順勢假突破連環反轉,極為挫折
- 無法放大主趨勢:固定單位部位,再大的趨勢也只是一個單位
- 慢系統會吐回大量浮盈:等到反向訊號才出場,獲利可能已被吐掉一半
- 盤整中無法獲利:盤整中最好的結果是不交易;最常見的結果是 whipsaw 連環損
- 暫時性大幅回檔:對剛開始跟單的人特別致命
- 最佳系統往往波動最大
- 回測漂亮、實單潰敗
- 參數漂移(Parameter Shift):歷史最優參數,下一段時間表現未必好
- 滑點(Slippage):紙上獲利、實單虧損

Figure 14.7:盤整市場中的突破訊號(黃金連續期貨)

Figure 14.8:系統未能掌握主行情並吐回獲利(美光科技)
改進趨勢系統的常見手段#
確認條件(Confirmation Conditions)#
要求訊號滿足額外條件後才進場:
- 穿透:收盤穿越訊號水位達指定百分比(例:2%)
- 時間延遲:訊號日後 6 日仍維持原方向
- 型態:訊號後出現 N 個同向 thrust 日
確認條件會讓有效訊號的進場價變差,但能大幅降低 whipsaw 損失。整體上「減少的損失 > 延遲帶來的少賺」時就值得加入。

Figure 14.10:以時間延遲作為確認條件(可可連續期貨)
篩網(Filter)#
在訊號產生當下就篩除可能成為敗筆的訊號。例:只接受與主要趨勢方向一致的均線交叉訊號(用同一條均線的方向作篩網)。
市況調整(Market Characteristic Adjustments)#
讓參數隨市況變動。例:依過去 50 日平均區間把市場分為 5 個波動度等級,N 值依等級切換——把靜態系統轉為動態系統。
區別買進賣出條件#
頂部下跌通常比底部上漲急。因此賣出訊號的條件可以較買進敏感。但要小心過度擬合(overfitting)。
加碼(Pyramiding)#
在主趨勢中允許部位變大。書中規則範例:
- 淨多單時若收盤跌破前 10 日低 → 定義「修正」
- 修正後再創 10 日新高且加碼價高於上一筆建倉、總部位 < 3 單位 → 加碼
- 賣出鏡像
加碼的核心三原則(前章已述):
- 既有單位必須獲利中才能加
- 預設停損後不能變成整體淨虧損
- 加碼單位不超過初始基礎單位

Figure 14.12:加碼訊號(1992 年 9 月咖啡)
出場規則(Trade Exit)#
可在反向訊號到來前先平倉,但必須搭配重新進場規則,否則會錯過大趨勢。
逆勢系統的本質#
趨勢系統具有自我修正性質(順勢做對才能賺),但逆勢系統潛在虧損無上限——若不設停損,下跌中可能整段被多單吃光。逆勢系統必須含停損,除非與趨勢系統並用。
常見逆勢方法:
- Fading Minimum Move:價格自上一逆勢買訊以來反彈超過特定幅度即賣出,反之亦然
- 震盪指標:用 RSI、Stochastics 等抓超買超賣
- 逆向意見指標

Figure 14.13:逆勢系統訊號(黃金連續期貨)
逆勢系統表現最好的市況,正是趨勢系統表現最差的市況——這正是把它們組合起來的價值所在。
多元化(Diversification)#
三個層次:
- 跨市場:最重要的多元化(前提是資金充足)
- 跨系統:同一市場用多個系統交易
- 跨參數:同一系統用不同參數同時交易
書中以 SMSV(單一市場系統變體)作為比較單位。三大好處:
- 權益曲線更平滑:不同 SMSV 的虧損期不同步
- 保證參與主要趨勢:避免錯過巨幅行情,多空雙向都能站到位
- 壞運氣保險:避免單一參數因市場跳空、漲跌停而被巨虧砸到
實際測試:必須使用「實際的」假設#
紙面績效與實單績效的差距叫做 滑點(slippage)。常見元凶:
- 手續費以外的成本:理論成交價與實際成交價的差距。實務上可用「每筆 100 美元」的高估假設來涵蓋
- 漲跌停(limit days):訊號出現時市場可能根本無法成交,需在程式中模擬。書中以咖啡為例:訊號顯示 +42.44 點,實際成交是 −16.2 點

Figure 15.2:訊號價與實際進場價的差距——漲跌停的衝擊(1994 年 12 月咖啡)
寧可在測試階段就揭露這些「假設不真實」的問題,也不要等到真錢虧光才發現。
優化(Optimization)的真相#
優化 = 找出歷史上表現最好的參數組合。施瓦格的實證結論:
- 任何系統都能在歷史上優化得很漂亮——不能優化得漂亮的系統反而值錢(取反就是搖錢樹)
- 優化結果一定會高估未來績效,且高估幅度可能極大
- 多數系統中,優化對未來績效的改善頂多很小
- 優化真正有用的地方,是排除明顯爛的參數區段,而非微調出最佳值
- 複雜的優化程序是浪費時間——簡單方法已能提供大致同等資訊
隨機選參數的長期績效,和「優化後選最佳」的長期績效,可能沒有想像中的差距。盲信優化是新手最常見的災難。
「測試」與「擬合」的區別#
把優化後的參數績效當作未來預期,是最致命的錯誤——這叫擬合(fitting),不是測試。施瓦格提供兩個有效的測試方法:
1. 盲樣模擬(Blind Simulation)#
- 用較早的歷史段做優化(例如 1985–1992)
- 把選出的參數套用到之後的時段(例如 1993–1994)測效果
- 重複多次(滾動)
- 關鍵:優化期與模擬期不能重疊
2. 平均參數組績效#
- 預先列出所有要測試的參數組
- 對全部都跑模擬
- 取全部參數組的平均作為系統潛力的估計(不能只取賺錢的子集)
盲樣模擬最貼近真實交易;平均參數組計算量小但同樣保守。在廣告中看到的「Simulated Results」往往是優化結果而非盲樣模擬——應視為「值零元」。
模擬績效如何被扭曲?#
書中列出系統廣告常見的「失真手法」:
- 精心挑選的範例:在 25 市場 × 15 年 × 100 參數組 = 37,500 組結果中,挑出最漂亮的一組
- 拼湊式(Kitchen Sink):用後見之明加參數規則,補上每段歷史虧損
- 忽略風險:以保證金為基數計算報酬率,數字膨脹數倍
- 遺漏虧損訊號:圖表上只標賺錢訊號,相同條件下產生虧損的訊號不畫出
- 無止盡優化:測試愈多參數,能挑出來的「最佳值」愈漂亮
- 不寫實的成本:忽略滑點
- 直接造假
「不可能有任何系統的模擬績效會把你放在 1987 年 10 月 16 日(黑色星期一前)收盤的多頭部位。」——施瓦格
觀察與經驗法則#
施瓦格列出 16 點實務觀察,重點摘錄:
- 趨勢系統中,「如何辨認趨勢」往往是最不重要的部分——關鍵在於濾網、確認規則、加碼規則、停損規則
- 複雜本身不是美德——使用最簡單的版本,除非有顯著績效落差
- 多市場交易的另一個關鍵理由是避免錯過稀少的巨型行情(例如 1994 咖啡、1979–1980 白銀)
- 資金允許下,多系統 + 多參數比單一系統 + 單一最優參數更穩健
- 負面結果有價值:分析系統表現不佳的條件,常能找到改進方向;若整體都壞但壞得有規律,反向操作可能就是答案
- 建構與除錯都應只用一小段資料,全部資料留給最終驗證
- 修正系統錯誤時,不能因為某個修正會降低樣本內績效就拒絕——一致性比表現更重要
- 用**通用基準系統(generic system)**比較績效;自有系統若沒有顯著優於 breakout / 雙均線交叉,就不算真正的系統
建構與測試系統的步驟#
- 取得測試所需的全部資料
- 定義系統概念
- 撰寫產生交易的程式
- 選定少量市場與時段子集
- 用某參數組在子集產生訊號
- 為這些市場與時段產出圖表(多印幾份;期貨用連續期貨)
- 在圖上標註訊號(與測試資料一致)
- 目視檢查訊號是否符合預期;偏差通常來自程式錯誤或規則未涵蓋的情境
- 修正後重做 7、8
- 確認系統行為一致後,才在完整參數組 + 完整資料上跑
- 用「平均參數組」或「盲樣模擬」評估
- 與通用基準系統比較——必須顯著較好或在多元化下能等量齊觀,才算有價值
多數系統會在第 12 步被淘汰。設計出「真的更好」的系統,比一般人想得困難得多。