一目均衡表:五條線、訊號與回測方法
一目均衡表是由區間中點組成的五條線,其中兩條在時間上平移。要在期貨上回測,須把每個訊號寫成明確規則、只用當時已知的資料讀取平移後的線、納入交易成本,並測試 9、26、52 附近的設定。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
什麼是一目均衡表(雲帶),可以回測嗎?
一目均衡表是由五條線組成的圖表指標:轉換線(Tenkan)、基準線(Kijun)、先行帶 A(Senkou Span A)、先行帶 B(Senkou Span B)與遲行線(Chikou)。交易人從價格突破雲帶、轉換線與基準線交叉(TK 交叉)以及雲帶顏色取得訊號。要在期貨上測試,須把每個訊號寫成明確規則、正確對齊平移後的線、納入交易成本,並測試鄰近的設定。
一目均衡表(全名 Ichimoku Kinko Hyo)是順勢系統,在同一個畫面中呈現趨勢方向、支撐與壓力以及動能。它由日本記者細田悟一(Goichi Hosoda)開發,並於 1969 年發表。它的大多數線都在回答一個簡單的問題:近期價格區間的中間在哪裡?想像一條河,如果標出過去幾週最高與最低的水位,中間那一點就能告訴你今天的水位以當季來說偏高還是偏低。一目均衡表就是針對三種不同的時間長度畫出這條中間線。
一目均衡表的五條線如何計算?
一目均衡表有三條線是區間中點,一條是兩個中點的平均,另一條則只是把收盤價往回平移。基本的計算單元如下:
中點 =(最近 N 根 K 棒的最高價 + 最近 N 根 K 棒的最低價)÷ 2
其中 N 是回看的 K 棒數量,「最高價」是這些 K 棒中到達的最高價格,「最低價」是這些 K 棒中到達的最低價格。以預設設定來說,五條線如下:
| 線 | 別稱 | 計算方式 | 繪製位置 |
|---|---|---|---|
| Tenkan-sen | 轉換線 | 最近 9 根 K 棒的中點 | 當前 K 棒 |
| Kijun-sen | 基準線 | 最近 26 根 K 棒的中點 | 當前 K 棒 |
| Senkou Span A | 先行帶 A | 轉換線與基準線的平均 | 往前 26 根 K 棒 |
| Senkou Span B | 先行帶 B | 最近 52 根 K 棒的中點 | 往前 26 根 K 棒 |
| Chikou Span | 遲行線 | 當前收盤價 | 往回 26 根 K 棒 |
雲帶(日文為 kumo)是先行帶 A 與先行帶 B 之間的陰影區域。圖表通常在先行帶 A 高於先行帶 B 時標示為綠色,在先行帶 B 高於先行帶 A 時標示為紅色。雲帶厚表示兩條先行帶相距較遠,雲帶薄則表示兩者靠得很近。
哪些一目均衡表訊號可以轉成測試規則?
一目均衡表的訊號必須寫成每次都得到相同答案、不需要主觀判斷的規則,才能測試。「價格在雲帶上方看起來很強」無法測試;「收盤價向上突破先行帶 A 與先行帶 B 中較高者」則可以。常見訊號寫成規則如下:
| 訊號 | 做多規則 | 做空規則 | 常見用途 |
|---|---|---|---|
| 雲帶突破 | 收盤價向上突破雲帶上緣(該 K 棒先行帶 A 與先行帶 B 中較高者) | 收盤價向下跌破雲帶下緣(兩者中較低者) | 進場 |
| TK 交叉 | 轉換線向上穿越基準線 | 轉換線向下穿越基準線 | 進場 |
| 雲帶顏色 | 最新往前繪製的雲帶為綠色 | 最新的雲帶為紅色 | 過濾條件 |
| 遲行線確認 | 收盤價高於 26 根 K 棒前的收盤價 | 收盤價低於 26 根 K 棒前的收盤價 | 過濾條件 |
| 基準線出場 | 收盤價跌破基準線時多單出場 | 收盤價漲過基準線時空單出場 | 出場 |
TK 交叉是指轉換線穿越基準線的那一刻。傳統一目均衡表的做法認為,看多的 TK 交叉發生在雲帶上方時為強,在雲帶內為中性,在雲帶下方則為弱,看空的交叉則相反。這種評級本身就是可以測試的規則:單獨跑 TK 交叉,再只在價格位於雲帶上方時跑,然後比較兩者。
建立一目均衡表策略時,請一次加一層:
- 單獨測試一個進場訊號,搭配簡單的固定出場,看它扣除成本後是否有任何優勢。
- 加入一個過濾條件(例如雲帶顏色),檢查它剔除的虧損交易是否多於獲利交易。
- 把簡單出場換成一目均衡表出場,例如基準線出場,並進行比較。
- 當新增的條件改變不大時就停止加入。每多一個條件就多一些可能被擬合到雜訊的設定。
這種分層方式與 AlphaPrime(Valynox)處理策略生成的做法一致:研究想法會變成可測試的規則,並附有明確的進場與出場條件、參數範圍與搜尋限制。
如何避免平移線造成的前視偏誤?
要避免前視偏誤,就要讓第 t 根 K 棒上的每條規則只使用由第 t 根(含)以前的 K 棒所算出的數值。前視偏誤是回測中的一種錯誤:規則使用了下單當時尚不存在的資訊。一目均衡表容易引發這種錯誤,因為圖表把數值放在並非計算出該數值的 K 棒上。
- 今天價格下方的雲帶使用的是 26 根 K 棒前算出的先行帶 A 與先行帶 B。當規則問「價格是否在雲帶上方?」時,應拿今天的收盤價與這些較舊的數值比較,因為那才是你在今天 K 棒下方看到的雲帶。
- 往前繪製的雲帶使用的是今天算出的先行帶 A 與先行帶 B。這些數值現在已知,所以以它們為基礎的雲帶顏色過濾條件是安全的。
- 遲行線絕不能在它繪製的位置上讀取。繪製在今天 K 棒上的遲行線數值,是 26 根 K 棒之後那根 K 棒的收盤價。應改把規則寫成「今天的收盤價與 26 根 K 棒前的收盤價比較」。
- 尚未走完的 K 棒會讓轉換線與基準線在 K 棒收盤前不斷變動,因為當前 K 棒的最高價與最低價是區間的一部分。請在 K 棒收盤時做決定,並在下一根 K 棒進場。
- 暖機 K 棒是第一個有效訊號之前所需要的。今天價格下方的雲帶需要 52 根 K 棒計算先行帶 B,再加上 26 根 K 棒的平移,所以應忽略資料最前面約 78 根 K 棒內的訊號。
各平台在計算 26 根 K 棒的平移時,可能相差一根 K 棒。如果你把規則拿去和交易平台上的圖表比對,請確認該平台採用哪種慣例。AlphaPrime 的 回測涵蓋下一根 K 棒成交、手續費與滑價以及交易時段,可處理第 4 點,也處理測試中的成本面。
該保留 9、26、52 的設定嗎?
請把 9、26、52 當作起點,而不是正確數值,並以鄰近設定的表現來評斷任何一組設定。預設值常見的解釋是當時日本每週交易六天:9 天約一週半,26 天約一個月,52 天約兩個月。在期貨的日內 K 棒上,這種與日曆的關聯就消失了。以 15 分鐘 K 棒來說,26 根 K 棒是六個半小時的交易時間,52 根 K 棒則是十三小時。
交易時段的選擇也會改變這一點。如果你的 K 棒包含夜盤,52 根 K 棒的視窗涵蓋的時間就與只含日盤的 K 棒不同,雲帶看起來也會不一樣。請在比較設定之前先決定交易時段。同一條規則在不同的 K 棒上會得到不同的一目均衡表雲帶,所以每種 K 棒都要分別測試。
要測試設定的穩定性,可以在預設值周圍跑一個小型網格,並讓三個長度之間的比例大致維持不變,例如 7/22/44、9/26/52 與 11/30/60。結果穩定,代表鄰近設定給出類似的結果。若只有一組孤立的最佳設定,周圍都是表現不佳的設定,通常表示搜尋擬合到了雜訊。
假設範例
某位交易人在指數期貨的 15 分鐘 K 棒上測試雲帶突破規則,並納入手續費與滑價。獲利因子是總獲利除以總虧損。九組設定組合中有八組的獲利因子介於 1.05 與 1.20 之間,每組各有 300 到 400 筆交易。有一組顯示 1.60,但只有 40 筆交易。1.60 這個結果才是該懷疑的。八個相近的結果更能描述這條規則,而它們偏溫和的水準才是應該帶著往下走的誠實估計。
關於回測過度配適的研究顯示,多次試驗中的最佳結果會向上偏誤,且偏誤隨試驗次數增加而擴大(Bailey et al., 2014;Harvey & Liu, 2015)。因此請計算你試過多少組組合,並在未經調校的資料上確認所選的設定。推進分析的做法是在一個視窗上調校、在下一個視窗上測試,並在整段歷史中重複進行。
一目均衡表在哪些地方吃力?
一目均衡表在兩個可預期的地方吃力:對轉折反應偏慢,以及在盤整時給出許多假訊號。這兩點都是設計上就有的,所以要去量測它們,而不是寄望它們不存在。
落後。每條線都以過去的 K 棒為基礎,而今天價格下方的雲帶是 26 根 K 棒前算出的。雖然雲帶畫在前方,但它不包含任何預測。在劇烈反轉之後,52 根 K 棒的中點可能要好幾根 K 棒才會移動。因此雲帶突破往往出現在大部分行情已經發生之後。
依賴趨勢。在區間盤整中,價格在薄雲帶裡進進出出,轉換線與基準線也來回交叉。每一次交叉都是一筆交易,而每筆交易都要付手續費與滑價。
請在結果中檢查這幾點:
| 檢查項目 | 結果偏弱時的樣子 |
|---|---|
| 逐年結果 | 一兩個強勢趨勢年貢獻了幾乎所有獲利 |
| 平均每筆損益與一買一賣(來回)成本 | 扣成本前的平均每筆損益只比成本大一點點 |
| 在薄雲帶內或附近進行的交易 | 多數虧損交易都集中在那裡 |
| 多方與空方分開看 | 其中一方撐起整個結果,另一方虧損 |
如果虧損集中在盤整期間,可以測試略過薄雲帶或低趨勢環境的過濾條件,並且只有在它於未見過的資料上依然有效時才保留。回測中的交易成本指南說明了如何把平均每筆損益與每次一買一賣(來回)的成本做比較。AlphaPrime 的策略檢驗會以基本、標準或完整檢驗搭配你自訂的門檻執行推進分析,讓只在單一市場階段有效的規則,能在你投入更多時間之前就被找出來。
如果你使用 AlphaPrime,這代表:把一目均衡表的想法寫成只使用第 t 根 K 棒已知數值的明確規則,替設定給出 9、26、52 附近的範圍並在搜尋中納入交易成本,然後保留位於高原上、且在未見過的資料上通過檢驗的候選策略。
常見問題
當沖期貨最適合的一目均衡表設定是什麼?
沒有哪一組設定適合所有市場與 K 棒週期。先從 9、26、52 開始,再測試維持相似比例的鄰近組合,例如 7/22/44 與 11/30/60。優先選擇鄰近設定也給出類似結果的設定,並在未經調校的資料上確認。
一目均衡表的雲帶是領先指標還是落後指標?
一目均衡表的所有線都是由過去的價格算出,所以全部都落後。雲帶雖然畫在前方 26 根 K 棒處,但它是過去區間的投影,不是預測。請把它視為對近期趨勢與區間的描述。
回測時遲行線會用到未來資料嗎?
遲行線本身只是往回畫 26 根 K 棒的收盤價,所以在圖表上它不會改變。問題出在規則於今天的 K 棒讀取遲行線的數值時,因為那個數值是 26 根 K 棒之後的未來收盤價。請把規則寫成今天的收盤價與 26 根 K 棒前的收盤價比較。
可以把一目均衡表與其他指標搭配使用嗎?
可以,交易人常加入趨勢強度或波動度的過濾條件來略過盤整期間。每多一個條件就多一些可能被擬合到雜訊的設定。請把這個組合當作一個策略來測試,並確認它在未見過的資料上依然有效。
參考文獻
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
- Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.
AlphaPrime 在這裡能幫上什麼
AlphaPrime 的策略生成會把雲帶突破、TK 交叉這類想法變成附有參數範圍的可測試規則。AlphaPrime 的回測以下一根 K 棒成交、手續費與滑價分批評估這些規則,策略檢驗則以推進分析與你自訂的門檻來檢查留下來的策略。

