2020年3月22日 星期日

在 ATR 後更上一層樓:GARCH

大家知道我是推薦新手習慣看線圖盡量搭 ATR:

1. 習慣去調整 ATR 的參數,4,7 或 14 和 22 等時間參數
2. 盡可能關注他的低點變化趨勢,而非高點

某種程度上 ATR 其實已經夠用,但是如果你今天交易很多個標的,或是在單一標的上面交易很多個時間尺度,ATR 有些反應可能有點滯後,這時候怎麼辦呢?

你可以使用 GARCH 模型,GARCH 模型在大多數程式語言中都有內建數學函數,在 MetaTrader 中也有網路免費的指標下載(下載頁面),大家都可以玩,底下會做示範,同時和 ATR 做簡單比較。

認識 GARCH 模型

很粗糙來說,GARCH 是是一種數學假設,他考慮在一個資料趨勢底下,他的波動率也有一個特徵:


GARCH 模型考慮的波動特徵就是 波動叢聚現象,這個部分無論是短期在日內的週期效應我有錄過的影片)還是在長期的外匯趨勢(我做 PPP 分析的文章)都有呈現出來,除此之外,在以外匯為主的期貨選擇權相關定價,也是一樣。

從造市商的角度來看,一個成熟的交易市場,應該是交易量和波動是呈正比的,而價格變化也應該某種程度和交易量呈正比,當然這不會是嚴格正比,而是一定程度的正相關,否則市場會開始萎縮。



波動叢聚現象描述的一個情景是:當波動率變高的時候,他會維持一段時間,當波動率變低的時候,他會維持一段時間

因為波動的變大變小,會直接影響 MAE/MFE 往某一個分布變化,這通常是你的交易策略要輪換的時間,或是你可能要動態調整 SL/TP,進場大小等的關鍵時刻。

使用 GARCH 模型

廢話不多說,直接來用在 Meta Trader 中,在網路上可以找到最簡單的 GARCH 版本(下載頁面),這是俗稱的 GARCH(1, 1) 一階的 GARCH 模型,經過編譯後可以拉出來變成指標。

一般來說,在 GARCH 指標中有三個參數:

1. Alpha 參數:在 0~1 之間,基本上放 1 就好,粗糙來說是 GARCH 的量級,簡單來說 1 就等於量級是 1 個單位波動,10 就等於 10 個單位的波動,我會建議不要改這個參數,而是在取用 GARCH 值的時候再乘以一個比例常數。

2. Beta 參數:介於 0~1 之間,類似平滑參數,你可以先選用 0.2, 0.5, 0.8 觀察 GARCH 高低點變化,通常高點不動,低點向上滯後收斂。 


3. Shift 參數:由於 GARCH 太敏感,必要情況會做平移,初學者放 0 即可,如果怕太敏感可放 1-5 ,結果會與短期 ATR 類似。

所以唯一需要調整的只有 Beta 而已。



上面的指標是 ATR(14) 下面的指標是 GARCH (0.5) ,應用在 EURUSD 的 H1 時間尺度上面,你可以看到:

1. GARCH 的低點能捕捉到細微時間尺度的波動變化,例如我曾經講過的日內週期效應
2. GARCH 的高點反映和 ATR 是類似的。




從這邊可以發現到 GARCH 對上中長 ATR:

1. GARCH 不會比 ATR 在大波動來臨時反應更快

2. 在波動無法維持原先水準時,會降得比較快

3. ATR 的高峰具有明顯滯後性,GARCH 則是太敏感

那如果 GARCH 對上短期 ATR 呢?



 你可以發現幾乎與 ATR 重合,但是 ATR 有短期滯後,而 GARCH 幾乎當期反應。

那如果我們把 GARCH 參數拉長,看看會發生什麼事情,底下示範 GARCH(0.95):


長週期的 GARCH 某種程度考慮是,波動叢聚的時間會很長,所以短期的影響不大,這會造成在波動反覆大大小小的時候,模型本身會造成累計效果,這不一定是缺點,因為你看 ATR 最後還是上升。

對於專業一點的朋友,你可以發現這類似於 ADX,所以其實 ADX 也可以用長週期的 GARCH 來修正與取代。


但是如果你的 SL/TP 或進場大小是依賴於長週期的 GARCH 值, 可能會發生持續的變化,這對於你來說可能是好事也是壞事,對於新手來說壞事居多,所以推薦:

1. 選定一個短周期的 ATR 和長週期的 ATR

2. 尋找合適的 beta 讓 GARCH 能符合長短周期變化

3. 將你的 SL/TP 或進場大小,大方依賴於 GARCH 值的一個比例

比較常見的做法還有:

1. 把 GARCH 放在大一到兩個時間尺度

2. 用 GARCH 值在小一到兩個周期做參考依據

例如 ATR 放 Daily 可能會滯後,滯後 1 天其實對 2-3 天就 close 的交易影響很大的話,你可以放 Daily GARCH ,然後用 Daily GARCH 指導你在 H1, H4 做交易參考。

6 則留言:

  1. 藍大好,想請問觀察一個指標時你判斷選用那些參數的依據是甚麼?例如 ATR,選用 的參數,4,7 或 14 和 22 等時間參數的參考依據是甚麼?另外選用不同的k棒周期與指標的參數調整是否有相關?

    回覆刪除
    回覆
    1. 嗯嗯! 通常來說 ATR 我用短會習慣用 3 或 4, 我通常習慣上用 4
      這沒有什麼特別的邏輯, 就是看一個時間尺度短期的波動情況,
      可能會 3-4 切一切, 通常 1 或 2 都太小太敏感, 大概是這樣
      例如我在日內週期波動效應中有示範的, 就是在小時間尺度放 ATR(3-4)

      ATR 我會用 7 和 14 首先有一個原因是, 我有時會也會看 RSI, 這沒有牽涉到程式邏輯, 就是稍微看看, 抓抓, 通常技術指標搭配的時候, 尤其是震盪指標和波動相關的指標搭配的時候, 我通常習慣是放一樣的參數, 因為滯後的情況會比較一致, 純粹是技術分析的習慣

      如果要搭到交易邏輯裡面, 我會用 7 的原因大概是這樣:
      1. 在 M15, M30 中, ATR(7) 大概是對一個時間區間(例如亞洲區間)從開盤到收盤的一個波動概況, 通常來說開盤波動大的話, 收盤也會波動大, 歐美時間的收盤波動大還有一個原因是將要隔夜
      2. 在 H1 中, 7 大概是一整個時間區間(例如亞洲時間, 歐洲時間) 的平均波動情況, 在 H4 中, 7 大概是一整天平均的波動變化, 在 Daily 中 7 大概是一整周的平均波動情況

      在這邊可能有人會問為什麼不放整除的 4, 6, 8, 純以 ATR 來說, 通常會希望能蓋到一點前後, 就是有一點重疊(overlap) 而不是剛好切一天/切一個時間區間, 這樣數值會比較連續, 也有不少技術分析愛好者認為, 技術指標的參數用奇數和質數較好, 避免計算結果太離散 (意思相似)

      用 14 大概就是往 7 在向上一層抓, 就是 2 個盤(亞+歐, 歐+美...), 兩天 (較常包到隔夜), 兩週 (較常包到隔週), 也比較不敏感

      一般來說 3-4, 7, 14 大概就是這些時間意義, 那 22 比較特殊, 22 是在 Daily 的月變化, 因為一個月可交易日大概在 20-22 天, 在 Daily ATR 我就會切到剛好一個月, 而不會考慮在月上面的 overlap, 因為看 Daily ATR 主要是看一個 trend, 一個波動變化情況大概在月內就會發生/改變, 不太會剛好切在月初和月尾, 除非是特殊事件 (選擇權結算的波動不算做趨勢)

      有時候如果市場剛好突發有些情況, 例如最近波動劇烈, 14 看得有點花的話, 我也會在 H1, H4, M30 等考慮用 22 代替 14, 但這只是習慣, 沒有特別意義, 也沒有特別融入交易邏輯中~~

      刪除
  2. 藍大你第一張圖是 ATR(22)但你內文說 ATR(14)。 XD
    另外我也想知道上面網友問的問題。
    我還有額外的問題如下:
    1.我記得你在影片中曾示範用ATR(70)使用在H1的圖表裡面。請問這個選用的調整是什麼?(問題同前一個網友)
    2.你說ATR的調整參數是要重視低點的位置,請問低點大致上要跟價格的什麼位置相對應,我們才知道ATR的參數沒有太快或滯後呢?
    3.假設我們選定做H1時框,請問用日線的ATR(1)跟用小時線的 ATR(24),這個涵蓋的都是過去1天的波動,他們在使用上都是一樣的嗎?

    4.假設我們做EURUSD H1時框,ATR參數選14,在倫敦剛開盤的那一個小時,因為過去14小時是亞洲時間,所以此時選到的ATR倍數來做SL/TP一定比較小,但市場的波動通常在開盤時都會變大,如果因為這個原因我們是不是要選用ATR(22)可以比較平滑的涵蓋過去一天的波動週期呢?

    看似很多問題但都是同一個,就是不知道ATR參數怎麼樣去針對商品跟要分析的時框做調整....

    回覆刪除
  3. 原來如此, 感謝Power眼尖發現 XD
    關於前面問題在前一個回復有大概答, 可以再聊

    1. 在小時間尺度 ATR 放到很大, 主要是不想在 Daily 抓短期的波水準, 當把 ATR 在較小的時間尺度放很大的時候, 他其實呈現出來的是一個【量級】,這個量級和在大時間尺度放小週期的 ATR 是接近的,但是趨勢可能不同(大時間尺度的小週期 ATR 噪音較大,或是反過來講小時間尺度的大週期 ATR 太緩)

    2. 低點其實不需要特別對時間, 但如果你想對時間, 你可以參考我在【日內波動週期效應】中的一些波動低點,例如亞洲盤轉歐洲盤的前後,歐洲盤轉美國盤的前後, 對這些時點可以幫助你檢查波動是否有持續到下一個週期

    低點的看法是這樣, 是看低點是否有逐漸向高點收斂, 如果低點逐漸向高點收斂, 我們就有理由相信市場波動開始增加,所以我們應該考慮準備在之後出場,或是在此之前趕快掛單

    另外如果低點逐漸向高點收斂,市場波動開始增加,代表你的新掛單 SL/TP 等應該要開始調整, 甚或你的模型可能需要輪換, 或是比例上更多投注在適應高坡動的模型(平常低波動他只是會沒開到,我有示範過,你可能平常會把它停掉,因為 trade 太少)

    3. 不同, 這其實要觀察 ATR 指標計算的公式, 基本上如果是設定 SL/TP 等, 應該始終考慮長週期, 這樣開的 lot size 或是 SL/TP range 才會穩定, 不然你的 MAE/MFE 會變成有很多不同聚集

    但是如果是考慮在訊號產生的過程中使用他, 例如波動不超過多少不交易, 或是交易訊號會產生相應調整, 那我會鼓勵你用上一個時間尺度的短周期來當參考,比較不會滯後

    4. 很接近, 但不是同尺度喔!!! 我會考慮放更大的時間尺度例如拿 Daily 的 ATR(22) 而不是拿 H1 的 ATR(22) 來做 SL/TP 參考, 你拿同尺度的波動變化, 你就要放很長的周期, 否則你的 MAE/MFE 分布會很亂, 因為 SL/TP 太敏感, 這部分我會再寫一篇文

    嗯.......
    感覺我可以來好好寫 ATR, 大家有興趣的話我會開始寫~~



    回覆刪除