本節整合 Ch16 後段「順勢系統的十大問題與可能修正」和 Ch17「三個原創交易系統範例」。重點在「怎麼把陽春的系統變成實戰可用的系統」以及「示範如何把圖形概念轉成自動化規則」。

順勢系統的十大常見問題#

編號問題
1太多人用相似系統:訊號集中爆量時,市價/停損單可能成交在離預期很遠的價位
2洗盤(whipsaw):價格剛好走到觸發訊號就反轉,反覆發生
3沒抓住大行情:定額單口部位,趨勢再大也只押一單
4慢速系統會吐回大量未實現獲利
5盤整市賺不到錢:最好情況打平,常見情況是被洗盤虧損
6暫時性大幅虧損:對剛開始追單的人尤其致命
7最好的系統波動最劇:報酬高但回撤難以承受
8回測強、實盤崩:機械式系統最常見的劇本
9參數漂移:歷史最佳參數在後續期間不一定最佳
10滑價(slippage):紙上賺錢、實盤輸

Figure 16.6: Breakout Signals in Trading Range Market

對應的修正手段#

確認條件(Confirmation Conditions)#

只在訊號被「再次驗證」後才接受。三種常見方式:

  • 價格穿透(Penetration):要求收盤價超過參考價一定比例(如 3%)。
  • 時間延遲(Time Delay):訊號出現後等 N 天,期間或之後仍滿足條件才進場。
  • 型態確認(Pattern):要求 N 個推進日、寬幅日、其他指定型態出現才確認。

Figure 16.9: Penetration as Confirmation Condition

共同代價:所有有效訊號的進場價會變差。確認條件能不能淨賺,看「減少的虧損」是否超過「延後進場犧牲的利潤」。

過濾規則(Filter)#

在訊號當下立即篩選,而非事後驗證。差別在於 filter 不依賴後續資料。例:

  • 把基本面模型分類為多/空/中性,只接受跟基本面方向一致的技術訊號。
  • 「只接受與移動平均方向一致的穿越訊號」可大幅減少 SMA 系統的假訊號。

把「反向訊號」當「順勢加碼點」往往更聰明:當 MA 仍在上升而價格暫時跌破 MA,把它當成回測買點而非反轉賣訊。

市場特性調整(Market Characteristic Adjustments)#

讓參數隨市場狀態動態調整。例如以「過去 50 日兩日平均區間」分為五個波動度等級,套用不同的 N。

  • 二日區間比一日區間更能反映波動——一日區間在漲跌停日會等於零,反而失真。

買賣不對稱#

不必預設買賣訊號使用相同條件——歷史顯示頂部下跌通常比底部反彈更急,可以為賣訊號設較靈敏的條件,但要小心過度擬合。

加碼(Pyramiding)#

順勢系統內建假設「永遠單口」。在大趨勢中加碼能放大利潤。範例規則(買案):

  • 凈部位多時,跌破前 10 日低為「定義一次反應」。
  • 反應定義後,再次突破前 10 日高且滿足下列條件 → 加碼:
    • 加碼價高於前一張多單的進場價。
    • 凈部位 < 三單(最多兩張加碼)。

Figure 16.12: Pyramid Signals: Gold

加碼增加風險,停損條件要比一般反向訊號更嚴格:例如「收盤穿越最近一次反應後的高/低點」就出場全部加碼倉。

出場規則(Trade Exit)#

在收到反向訊號之前先出場。優點是降低虧損與保護利潤;代價是可能提早出場好單,必須搭配「回場」規則。

如果出場規則對績效有利,把它升級為「反向訊號」(同時翻倉)通常更有利。

逆勢系統#

為什麼逆勢系統危險#

順勢系統內建自我修正——錯了就被反向訊號翻倉;逆勢系統如果無停損,虧損理論上無上限——可能整個趨勢都站在錯邊。

任何單獨運作的逆勢系統都必須加上停損條件

逆勢的價值在於與順勢的負相關#

即便逆勢系統本身小幅虧損,只要與順勢系統負相關,組合的整體報酬/風險可能更好

常見逆勢手法#

  • 回吐最小幅度(Fading minimum move):自上次逆勢買訊以來,價格反彈一定幅度就賣,反之亦然。
  • 加上確認延遲:要求例如一根推進日反向確認。
  • 震盪指標:盤整市可用,趨勢市災難。
  • 逆向意見(contrary opinion):當市場情緒過度一面倒時搭配技術訊號操作。

分散化的三層次#

  • 跨市場(標準分散):交易多種商品。
  • 跨系統:同一市場用多種系統。
  • 跨參數(同系統不同變體):例如同樣的突破系統,N 用 20、40、60 各跑一份。

「單一市場系統變體(SMSV, single market system variation)」 = 一個系統的特定參數套用在單一市場。

分散化的三大效益:

  • 平滑權益曲線:不同 SMSV 不會同時虧損。
  • 保證參與大趨勢:每年只有少數市場走出大行情,全押少數市場可能錯過。
  • 降低運氣風險:作者用 1981 年 12 月咖啡為例,僅 0.01¢ 的差異就造成兩個幾乎相同的系統相差 18,750 美元/口。

十大問題與對應解法總表#

問題對策
1. 系統太相似1a. 開發原創系統;1b. 多口時分批進場
2. 洗盤2a. 確認條件;2b. 過濾規則;2c. 分散化
3. 沒吃到大行情3. 加碼
4. 慢速系統吐回利潤4. 出場規則
5. 盤整賺不到錢5. 同時用順勢與逆勢系統
6. 暫時大虧6a. 多系統分散;6b. 半途進場時用較小部位
7. 最好的系統波動劇7. 用分散化把它納入組合,不單獨重押
8. 回測好實盤崩8. 嚴謹測試(見下一節)
9. 參數漂移9a. 分散參數變體;9b. 用市場特性調整
10. 滑價10. 用真實假設(見下一節)

三個原創系統範例#

作者用 Ch9 介紹的型態當原料,示範如何寫成自動化系統。重點不在「跟著用」,而在「體會圖形概念怎麼變成規則」。

寬幅日系統(Wide-Ranging-Day System)#

概念:寬幅日(VR 大於 k)通常具有方向性意義;以寬幅日定義一個價格觸發區間(PTR),收盤穿越邊界即翻倉。

參數

  • k:寬幅日的 VR 門檻(例:1.6、2.0、2.4)。
  • N1:PTR 起點往前推幾天。
  • N2:PTR 終點往後推幾天(PTR 須等 N2 天後才能定義)。

訊號

  • 收盤 > PTR 高 → 翻多。
  • 收盤 < PTR 低 → 翻空。

每日檢查順序

  1. 若空且收盤 > PTR 高,翻多;若多且收盤 < PTR 低,翻空。
  2. 若距最近一次寬幅日已過 N2 天,重新定義 PTR。

順序很重要:先檢查訊號,再重定義 PTR,否則新寬幅日當天就會吞掉訊號。

N1、N2 設零最靈敏,進場價最佳但假訊號最多;放寬可過濾錯訊但延後進場。多數情況下,寬鬆參數的整體淨利反而更好——因為避開虧損的累積效益超過延後進場的代價。新手往往被「進場價漂亮」吸引而選靈敏參數。

Figure 17.1: Wide-Ranging Day System Chart 1

Run-Day 突破系統#

概念:當市場收盤越過最近 N2 個下 run day 的最高真實高(或上 run day 的最低真實低),且最近一個 run day 方向已逆轉,視為趨勢反轉

參數

  • N1:定義 run day 的天數視窗。
  • N2:用於比較的 run day 數量。

注意:run day 必須等 N1 天後才能確認;單一 run day 在不同方向 run day 出現前,可能觸發多次翻倉。

Figure 17.6: Run-Day Breakout System Chart 1

Run-Day 連續計數系統#

概念:自上次反向訊號以來,**累積出現 N2 個同方向 run day(中間沒有反向 run day)**就翻倉。

參數

  • N1:定義 run day 的天數視窗。
  • N2:連續計數門檻。

連續是指「中間沒被反向 run day 打斷」,不是字面上的連續日期

Figure 17.10: Run-Day Consecutive Count System Chart 1

作者強調,這些範例特意挑選混合趨勢與盤整的真實市場,而非「精挑細選」的好結果。許多書籍/網站/廣告會挑出最完美的圖示,誤導讀者高估系統能力——這個陷阱在 Ch19「精挑範例」一節會詳細討論。