多條件自動化:價格 AND 新聞 AND 趨勢
單一訊號既擁擠又嘈雜。學會堆疊正交的條件如何砍掉誤報、過度擬合的懸崖坐落在哪裡,以及如何一次只加一條規則來打造。

每一個熱門的交易訊號上,都站著一群人。RSI 下探、移動平均線交叉、整數關卡突破:規則愈簡單、愈廣為人知,就已經有愈多資金在交易它,它也就變得愈嘈雜。一套多條件交易策略,就是那個務實的答案。與其去獵捕一個魔法指標,你把好幾個「以不同方式失效」的普通指標組合起來,這樣一來,一個誤報就得同時溜過每一道閘門。
這篇文章會示範那是怎麼運作的:為什麼單一規則會磨損、什麼讓條件值得組合、一個一次只建一條條件的具體範例、AND/OR 的設計,以及等在結尾的那道過度擬合懸崖。
為什麼單一條件的規則會磨損
一個孤零零的條件有兩個結構性問題,而兩者都不是靠調門檻就能修好的。
第一個是擁擠。任何簡單到能塞進一則推文的規則,都有數千個帳戶在交易它、有更快的帳戶在套它的利。當每個人都在同一個超賣讀數上買進,進場會被搶跑、出場會很擁擠。訊號還是會擊發;但依附在它身上的那筆好賺的錢,早在幾年前就走了。
第二個是對脈絡的盲目。「RSI(14) 低於 30」分不出「一個健康上升趨勢裡的例行回檔」和「一場崩盤的第三天」有什麼不同。兩者印出的是同一個數字。單一條件把一個豐富的市場狀態壓縮成一個維度,而它丟掉的一切,都會回過頭來糾纏那筆交易。
你或許會回應說去找一個更好的單一訊號。數十年的量化研究顯示,那場搜尋以失望告終。更有生產力的一步,是接受每一個廉價訊號都攜帶一點資訊、與大量噪音,然後去堆疊那些噪音彼此不相關的訊號。
正交勝過數量
組合條件時真正重要的那個詞是正交:每一個條件都該回答一個關於市場的不同問題。兩個動能擺盪指標幾乎是由建構本身就會彼此同意;同時要求兩者,是一個條件戴著兩頂帽子。
一個有用的設計方式,是按「家族」來。每一個家族最多挑一個條件:
| 家族 | 它回答的問題 | 範例條件 |
|---|---|---|
| 價格/動能 | 這個資產現在被拉伸了嗎? | 4 小時線的 RSI(14) 低於 30 |
| 趨勢 | 大格局處在什麼樣的行情狀態? | 日線收在 200 日移動平均線之上 |
| 事件/新聞狀態 | 有沒有某件事正在讓模式失效? | 該資產在 12 小時內沒有高嚴重度新聞 |
| 波動 | 盤面有多劇烈? | ATR(14) 低於其 90 日中位數的 1.5 倍 |
動能與趨勢條件是指標驅動的智能體的經典地盤,而基於水位的觸發器則屬於條件單自動化;這篇文章假設你已經懂那些材料,而把焦點放在食譜上。事件家族也是它自己的一門紀律,涵蓋在用 AI 做新聞驅動交易裡。
正交堆疊的回報,是誤報的急遽下降。代價是頻率:你加的每一道閘門,都會丟掉一些交易,好的也一起丟。那個取捨,就是整場遊戲。
一套多條件交易策略,一條條件一條條件地建
假設你想買進 ETH 的回檔。以下所有數字都是示意用的,為了走這一遍而編出來的;你自己的回測會產出它自己的數字。
**條件 1:4 小時線的 RSI(14) 跌破 30。**這是那套論點:短期超賣傾向於彈回。單獨在一個假想的兩年回測上跑,它擊發了 90 次,而結果以一種特定的方式很難看。勝率在擲硬幣附近徘徊,而虧損聚集在持續的下降趨勢裡,在那裡「超賣」超賣了好幾週。這條規則有一個真實的核心,卻沒有脈絡。
**條件 2,加上一個趨勢濾網:價格在其 200 日移動平均線之上。**推理是:均值回歸在較大結構完整時效果最好,所以只在上升趨勢之內買回檔。這一道閘門,把訊號數量從 90 砍到 35,刪掉了每一個在熊市階段擊發的觸發。剩下的看起來不一樣了:交易更少、平均結果更好,而且更重要的是,那條災難性進場的尾巴多半消失了。注意你付出了什麼:這套策略現在會一次閒置好幾個月。那是濾網在運作,儘管感覺起來會像是策略壞了。
**條件 3,加上一個「新聞平靜」的閘門:ETH 在過去 12 小時內沒有高嚴重度新聞。**推理是:有些回檔是技術性的,另一些則是市場在即時地重新定價一次交易所被駭或一次監管行動。RSI 分不出它們;一個新聞嚴重度的資料源可以。這道閘門可能把 35 個訊號修到 28 個。七筆被跳過的交易聽起來微不足道,直到你去看是哪七筆:買進正在展開中的事件的回檔,不成比例地就是那些會衝破停損的進場。你不是在增加預測力。你是在移除一個已知的、會出錯的方式。
**條件 4,抵抗住加上第四個濾網的衝動;改為去塑造那個部位。**波動屬於交易的建構、而不是又一道閘門。用 ATR(14) 來設定進場的大小,讓那個部位不管當前的動盪如何,都承擔你帳戶的一個固定比例的風險,把停損設在同一個 ATR 的某個倍數上,並事先定義好失效條件:如果你持有期間趨勢濾網本身失效就出場。這套規則維持在三道閘門;波動意識則活在部位大小裡。
每一個條件都用一個「你在看到任何回測之前就能說出來的理由」掙到了它的位置:讓短期的拉伸回歸、只在一個健康的行情狀態之內、絕不買進正在爆發的新聞裡。那個「理由先行、回測其次」的順序,是你對付下面隔兩節就會來的東西最好的保護。
設計邏輯:AND、OR 與時間窗口
多條件系統多半是 AND 邏輯:每一道閘門在同一個時刻都為真。AND 會收窄。每加一個子句,都會降低頻率,而且如果那個條件是正交的,還會提高剩下部分的品質。
OR 做的相反:它會拓寬。合理的用法是存在的,主要是進入同一套論點的替代進場(「RSI 低於 30 OR 價格觸及 100 日均線,同時趨勢與新聞閘門都成立」)。不過要用懷疑的眼光看待 OR。你在看過一次回測之後才栓上的每一個 OR 分支,通常都是想去抓住某一個錯過的特定贏家,那是多了些語法的曲線擬合。
有兩個精修,在實盤交易裡做了很多事:
**序列窗口。**有些想法是有順序的、不是同時的:先突破,然後在 48 小時內回測。一個原始的 AND 無法表達「這個、然後那個、在 N 小時內」,所以自動化需要一個窗口子句。把窗口保持得寬鬆一點;一個為了抓住某一個歷史型態而調校出來的 6 小時窗口,是個警訊。
**重新武裝規則。**一個觸發擊發之後,它什麼時候才能再次擊發?沒有一個答案,一個震盪的市場可能在一天內把同一個型態擊發五次,把一筆計畫好的交易,變成一場意外的攤平加碼行動。一條簡單的規則,例如「每個資產每週最多一次進場」,就把這個漏洞堵上了。
把整棵樹保持得淺。一層 AND、最多一個 OR 子句、明確的窗口。如果你需要一張圖才能解釋你自己的進場邏輯,那你就已經不夠理解它、不足以在凌晨三點信任它了。這也是白話自動化划算的地方:在 Obside 上,一句帶三個條件的話變成一個智能體,而副駕會把解析出來的那些閘門複述給你、交你核准,所以邏輯維持得跟創造它的那句話一樣好讀。沒有巢狀的 if 樹要維護。
過度擬合的懸崖:當下一個條件讓事情變糟
回想那個算術:90 個訊號、然後 35、然後 28。每一道閘門都縮小了樣本,而那個縮小,正是讓策略變好的原因。它也正是最終摧毀它的原因。
28 筆交易上的統計是脆弱的。加上第五、第六個條件,你可能會抵達一個有 9 筆交易、全都是贏家的回測,而那將會是你這輩子愛上的最危險的一張圖。在觀測數夠少的情況下,隨機性會例行地產出完美。每一個條件都是一個自由度,而自由度正是回測「背下過去、而不是從中學習」的方式。完整的機制活在回測過度擬合指南裡;這裡是那份可運作的檢查清單:
- **替閘門數量設上限。**兩到三個正交的條件,是一套散戶策略的甜蜜點。超過那個,就要求非比尋常的正當理由。
- **維持一個最小樣本。**如果組合起來的規則產出的歷史訊號少於大約 30 個,你有的是一則軼事,不是證據。在信任它之前,先把資產集或回看期拉寬。
- **測試邊際貢獻。**移除每一個條件、重跑一次。一道幾乎不改變結果的閘門是死重;而一道「移除它就讓一切崩塌」的閘門也值得審視——那個優勢可能是那個濾網與某一個歷史片段互動下的產物。
- **偏好門檻高原。**如果 RSI 30 有效、但 28 和 33 都崩了,那個「優勢」就是一個有著銳利邊界的巧合。健壯的條件,會在你轉動旋鈕時溫和地退化。
這道懸崖在回測本身裡沒有任何警訊。那些數字會一路看起來更好,直到策略不再描述市場、開始描述歷史的那一刻。
接下來該往哪走
照著那個具體範例的方式來建:把論點陳述成一個條件、只在每一道閘門都回答一個關於市場的新問題時才加上它、把波動推進部位大小裡,並在樣本變薄之前停手。然後照正確的順序驗證,回測先、模擬盤交易其次、實盤資金最後也最小。
在 Obside 上,你可以在同一個地方跑完整個迴路:輸入「當 4 小時線的 RSI(14) 跌破 30 時買進 $400 的 ETH,只在價格高於其 200 日均線、且過去 12 小時沒有高嚴重度新聞時,以 ATR(14) 設定大小,每週最多一次進場」,核准那些被複述的條件,並在任何真實委託存在之前,把它當成一個模擬盤智能體對著即時資料運行。在 obside.com 用一句話描述你的三個條件,看看那個智能體聽到了什麼。
僅供教育參考,不構成投資建議。交易存在風險,可能導致本金損失。
FAQ
它是一套進場或出場需要好幾個獨立條件同時為真的策略,例如一個動能觸發、一個趨勢濾網,和一個「新聞平靜」的閘門。目標是砍掉誤報:每一個條件在不同的情況下失效,所以一筆糟糕的交易,得同時溜過每一道閘門。代價是整體訊號更少,這正是為什麼這個設計的核心,是去選擇那些回答不同問題的條件。