唐奇安通道突破:規則、參數設定與測試方法
唐奇安通道標示最近 N 根 K 棒的最高價與最低價,突破策略就是交易價格突破這兩條線之後的走勢。測試時要納入交易成本並以下一根 K 棒成交,用一大片表現良好的週期範圍而非單一最佳參數來判斷,並預期在趨勢之間會出現許多小額虧損。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
唐奇安通道是如何運作的?
唐奇安通道畫出最近 N 根 K 棒的最高價與最低價。突破策略在價格突破上軌時買進,跌破下軌時放空,再以較短的反向通道或停損出場。測試時要納入交易成本、以下一根 K 棒成交,並測試一整個範圍的週期長度,而不是只測一個。
唐奇安通道是一條價格區間帶,上軌是最近 N 根 K 棒的最高價,下軌是最近 N 根 K 棒的最低價。名稱來自早期的趨勢追蹤者 Richard Donchian。中軌位於兩者的正中間。這裡沒有任何平均或平滑的計算,只有在新的極值進入視窗,或舊的極值移出視窗時,線才會移動。唐奇安通道指標頁面會把這些線畫在圖表上。本文要談的是如何把它們變成規則,並測試這些規則。
突破是指價格超出所選回看期間的最高價或最低價。當價格交易到上軌之上,代表市場處於 N 根 K 棒以來的最高水準。趨勢追蹤的想法很簡單:這類走勢必須夠常延續、也延續得夠遠,才足以支付它們多次失敗的代價。
唐奇安突破策略需要哪些明確規則?
可測試的唐奇安策略,在第一次執行前必須先寫下七項決定,因為每一項都會改變結果。
- K 棒與交易時段。選擇 K 棒週期,以及是否納入夜盤 K 棒。只用日盤與使用全時段資料,高低點並不相同。另外,60 分鐘 K 棒的 20 根只涵蓋幾天,而不是 20 天。
- 進場長度 N。這是決定突破價位的 K 棒數量。
- 通道參照。通道以前 N 根 K 棒建立,不含當前這根 K 棒。
- 進場觸發。一種做法是在下一根 K 棒內於通道線掛停損單進場;另一種是等收盤突破通道線後,在下一根 K 棒的開盤進場。
- 出場。選項包括較短長度 M 的反向突破、穿越中軌、停損或時間限制。
- 初始停損。這是突破立刻失敗時的虧損價位。
- 方向與大小。選擇只做多、只做空或多空皆做;選擇固定口數,或依波動度決定的部位大小。
在通道線掛停損單,模擬起來是合理的,因為下一根 K 棒開盤前就已知道這個價位。如果該 K 棒開盤就已超過這個價位,真實的測試應以開盤價成交,而不是以通道線成交。收盤確認的進場方式在 K 棒收盤時決定,並於下一根 K 棒成交。這就是下一根 K 棒成交,可避免以你實際上無法取得的價格交易。
該測試哪些進出場變化版本?
測試少數幾個明確不同的版本即可。在突破系統中,出場決定了你能留住多少趨勢,重要性往往不亞於進場長度。
| 版本 | 進場 | 出場 | 測試重點 |
|---|---|---|---|
| 停損反轉 | 突破 N 根 K 棒高點買進,跌破 N 根 K 棒低點放空 | 反向訊號使部位反轉 | 永遠在場內。這是最簡單的版本,在盤整區間中假突破最多。 |
| 不對稱通道 | N 根 K 棒突破 | 反向 M 根 K 棒突破,M 短於 N | 回吐的趨勢獲利較少。兩筆交易之間是空手。 |
| 收盤確認 | 收盤突破通道線,於下一根 K 棒開盤進場 | 上述任一種出場 | K 棒內的假突破較少,但進場價格較晚。 |
| 中軌出場 | N 根 K 棒突破 | 收盤穿越中軌 | 同一個通道下較緊的出場。 |
| 波動度停損 | N 根 K 棒突破 | 距進場價 ATR(平均真實波幅)某個倍數的停損,再加上通道出場 | 限制失敗突破的虧損。 |
| 趨勢濾網 | 僅在較長期通道或移動平均線的方向上突破 | 上述任一種出場 | 逆著大趨勢的交易較少。 |
海龜交易法的唐奇安規則是什麼?
海龜交易員在日線上使用兩套唐奇安系統。他們是由 Richard Dennis 與 William Eckhardt 訓練的一批學員。
- 系統 1在 20 日突破時進場,在反方向 10 日突破時出場。如果前一次 20 日突破本來會是一筆獲利交易,就略過這次 20 日訊號。
- 系統 2在 55 日突破時進場,在 20 日突破時出場。
- 停損與部位大小。兩套系統都使用 2N 的初始停損。N 是真實波幅的 20 日平均,與 ATR 類似。部位大小的設定,是讓一個 N 的波動使帳戶變動約 1%。
要測試海龜式規則,應複製其結構,而不是照搬數字。日線上的「天」與你所用 K 棒週期上的「根」是不同的東西,所以在 15 分鐘 K 棒上用 20/10 是另一套系統。前一筆獲利就略過的濾網也要小心處理:它取決於前一個訊號的結果,即使那筆交易並未實際進場。要持續把每個被略過的訊號當作模擬交易來追蹤,否則這個濾網無法依設計運作。
唐奇安通道的好參數設定是什麼?
好的唐奇安通道參數設定,位於一大片結果相近的範圍之內,目標不是測試中單一最佳的長度。想想挑選營地:即使山峰頂端稍微高一點,平坦的空地還是比狹窄的山頂安全。
假設範例
某交易者測試 20 到 70 根 K 棒的進場長度,每個都搭配進場長度一半的出場,交易一口期貨,並納入交易成本。獲利因子是總獲利除以總虧損。在下方結果中,30 到 60 的長度構成一片高原。第二次測試則出現尖峰:長度 37 達到 1.45,但長度 35 與 40 都接近 1.00。即使高原的最佳值較低,它仍是比較好的候選策略。
| 進場長度 | 20 | 30 | 40 | 50 | 60 | 70 |
|---|---|---|---|---|---|---|
| 獲利因子 | 1.05 | 1.25 | 1.30 | 1.28 | 1.22 | 1.10 |
用以下步驟找出並檢查高原:
- 從較粗的間距開始,例如 10、20、30 依此類推。像 37 與 38 這樣的細間距只會帶來虛假的精確度。
- 分開調整進場與出場。海龜規則的出場長度大約是進場長度的三分之一到一半,這是合理的起始範圍。
- 在其他市場與 K 棒週期上重複同一組網格。只在某一個商品、某一個長度上有效的突破想法,證據薄弱。
- 執行推進分析。推進分析是在一段期間內選擇參數,然後在下一段期間原封不動地交易這些參數的測試。請見推進分析:為什麼單一回測不夠。
在 AlphaPrime(Valynox)中,策略生成以參數範圍、進出場條件與搜尋限制作為輸入。因此,一組長度網格與多個出場版本,可以用相同的設定一併評估,而不必一次只做一個回測。
為什麼唐奇安突破輸的交易比贏的多?
趨勢突破系統常常賺錢的交易不到一半,因為許多突破會反轉。只要獲利交易的幅度是虧損交易的數倍,它們仍可能有正的期望值。假突破(whipsaw)是指進場後不久就反轉的突破,使交易以虧損被停損或反轉。在橫盤市場中,假突破會接連出現。
期望值是指在許多筆交易中,你預期每筆交易的平均結果。它是唯一能同時結合勝率與交易大小的數字:
期望值 =(勝率 × 平均獲利)−(虧損率 × 平均虧損)
勝率是獲利交易的占比,虧損率是虧損交易的占比。平均獲利與平均虧損,則是一般獲利交易與一般虧損交易的大小。勝率與期望值計算器可以用你自己的回測數字算出來。
假設範例
某突破系統的勝率為 35%。平均獲利為 3.0R,平均虧損為 1.0R,其中 R 是單筆交易的初始風險。期望值為 0.35 × 3.0 − 0.65 × 1.0 = 1.05 − 0.65 = 每筆 0.40R。連續八次虧損的機率是 0.65 的 8 次方,約為 0.03。因此在數百筆交易中,連續八次虧損很可能至少出現一次。
從你自己的結果中,讀取三個數字:平均獲利與平均虧損的比率、最長連續虧損,以及從權益高點到創下新高所經過的最長時間。然後判斷你是否能在那些期間內持續遵守規則。
交易成本與假突破會從唐奇安系統拿走多少?
交易成本從較短通道長度拿走的比例大得多,因為它們交易更頻繁,每筆交易捕捉的波動也更小。滑價是回測所假設的價格,與你實際會成交價格之間的差距。突破的停損單所在位置,也是許多其他交易者掛單的地方,因此在通道線上的成交價往往比通道線本身更差。
假設範例
兩個版本在同一商品、相同年份上執行。版本 A 使用 10 根 K 棒進場與 5 根 K 棒出場,共 400 筆交易,平均每筆毛利為 3 個跳動點,合計毛利 1200 個跳動點。版本 B 使用 50 根 K 棒進場與 25 根 K 棒出場,共 80 筆交易,平均每筆毛利為 14 個跳動點,合計毛利 1120 個跳動點。一買一賣(來回)的成本為 2 個跳動點。扣除成本後,A 每筆留下 1 個跳動點,合計 400 個跳動點;B 每筆留下 12 個跳動點,合計 960 個跳動點。A 在扣除成本前看起來較好,扣除後則明顯較差。
- 把滑價加倍再測試一次。無法通過這項測試的系統,依賴的是低廉的成交價。
- 跳空以開盤價成交。當交易時段開盤就已超出通道或停損價位,成交價是開盤價,而不是通道線。
- 搜尋時就納入交易成本。不含成本就為長度排名,會偏好那些短而頻繁的版本,而它們之後會被成本抹掉。關於如何設定手續費與滑價,請見回測中的交易成本。
趨勢突破何時會失效?
趨勢突破在長期橫盤的市場中不再獲利。當少數幾段大趨勢撐起整個結果時,回測可能會掩蓋這一點。以下四項檢查可以讓它顯現出來:
- 逐年結果。突破系統可能連續好幾個月虧損。逐年或逐季的結果,能顯示在你的測試中這些虧損期持續了多久。
- 集中度。移除最好的三到五筆交易,再看一次結果。如果轉為負值,代表系統依賴罕見事件。要判斷你的測試期間是否包含足夠多這類事件。
- 選擇偏誤。測試許多長度、出場與市場,然後只留下最好的一個,會使這個最佳結果被誇大。Sullivan、Timmermann 與 White 測試了大量技術規則,其中包括通道突破。他們指出,搜尋中得到的最佳規則,必須對照嘗試過多少規則來評斷。White 的 reality check 就是處理這件事的正式方法。
- 波動度變化。固定 N 根 K 棒的通道在平靜市場中很窄,在波動大的市場中很寬。這會同時改變交易次數與每筆虧損的大小。像海龜規則那樣依波動度決定部位大小,能讓每筆交易的風險較為穩定,但不會改變訊號。
這些檢查都無法消除虧損期。它們讓你看到過去那些虧損期有多大、多長,而這正是你在交易這些規則之前需要知道的。
如果你使用 AlphaPrime,這代表:把唐奇安的想法寫成帶有參數範圍的進出場條件,並在每一次評估中都保留手續費、滑價與下一根 K 棒成交。然後用高原與推進分析的各段期間來判斷結果,而不是看單一最佳的一次執行。
常見問題
最佳的唐奇安通道參數設定是什麼?
沒有哪一個設定適用於所有市場與 K 棒週期。海龜規則在日線上使用 20 日進場搭配 10 日出場,以及 55 日進場搭配 20 日出場。這些是合理的起點。在你自己的資料上,要測試一整個範圍的長度,並從相鄰長度結果相近的區域中段選擇一個。
唐奇安通道與布林通道有什麼差別?
唐奇安通道只使用最近 N 根 K 棒的最高價與最低價。布林通道則是在移動平均線上下各畫若干個標準差。唐奇安的線會保持水平,直到新的極值進入視窗,或舊的極值移出視窗。布林通道則隨每一根 K 棒而移動。
唐奇安突破應該用停損單進場,還是用收盤價進場?
兩者都有效,但它們是不同的系統。在通道線掛停損單進場較早,但會被更多短暫的突破觸發。收盤確認的進場會等 K 棒收盤突破通道線,並在下一根 K 棒成交,假訊號較少,但進場價格較差。用相同的交易成本測試兩者並加以比較。
用唐奇安通道的海龜交易法現在還有效嗎?
過去的結果無法回答未來的問題。你能做的,是在自己的市場與 K 棒週期上,納入交易成本與下一根 K 棒成交,測試海龜式的結構。要觀察各種長度與市場上的結果、最長的虧損階段,以及推進分析的各段期間。
唐奇安通道可以用在日內 K 棒上嗎?
可以。這時 N 計算的是 K 棒根數而不是天數,因此 15 分鐘 K 棒上的 20 根通道,大約涵蓋五小時的交易。日內版本交易更頻繁,所以交易成本與滑價占每筆交易的比例更大。交易時段的設定也很重要,因為只用日盤與使用全時段的 K 棒,高低點並不相同。
參考文獻
- Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
- White, H. (2000). A Reality Check for Data Snooping. Econometrica, 68(5), 1097–1126.
AlphaPrime 在這裡能幫上什麼
AlphaPrime 的策略生成會把突破的想法轉成可測試的規則,包含參數範圍與進出場條件。AlphaPrime 的回測則以手續費、滑價、下一根 K 棒成交與你的交易時段來評估每一個候選策略。

