2014年1月5日 星期日

★ATR進出場邏輯

     看了很多老美的策略,大概有80%的策略都有用到ATR (Average True Range),今天又看到了一個美股的停利策略是用ATR出場,所以我把ATR拿出來特別說明一下。我直接用網路上現成的圖片說明一下,一般我們認知的Range(振幅)就是每一根K棒的高點到低點的距離,而True Range(真實振幅)則有考慮到前一根K線的收盤價如下圖所示。


     程式交易很重視的市場波動,當近期市場波動被放大時,其所對應K棒的平均Range或平均True Range也會被放大,因此有一些人會統計最近一段時間的Range平均值(AR)或True Range平均值(ATR),作為市場波動特性的判別,又因為True Range有包含跳空,所以ATR更適合用在日K上面。以台指期為例,在2008年波動劇烈,每日振幅都超過1.5%;而2013年波幅減小,每日平均振幅往往不到0.8%。2008年及2013年的K棒平均振幅有明著的差異,因此設定「固定停損利點」似乎有失公平。

     於是開始有人覺得要把ATR加到策略中,在我看過的策略中,老美很多都會加入下列的邏輯:

(1) 加在突破的進出場策略的語法:

If ○○○○○○ then buy next bar at 某突破進場的高點 + αATR stop;
If ○○○○○○ then sellshort next bar at 某跌破進場的低點 - βATR stop; 

其中
α=隨便一個係數(通常是用最佳化找出來的)
β=隨便一個係數(通常是用最佳化找出來的)
ATR=過去一段時間的AverageTrueRange

會使用這個邏輯,主要是克服假性突破,通常如果是真的趨勢行情,漲破或跌破關鍵價位,應該會有一段噴出行情,因此利用ATR犧牲一些利潤,以換取更高的勝率。

(2) 停利的語法:

If marketposition>0 then sell next bar at entryprice(0) + αATR limit;
If marketposition<0 then buytocover next bar at entryprice(0) - βATR limit; 

我今天看到的這個美國策略,就有提到類似的做法。原文中提到股票進場作多之後,經過統計最好的短線停利點為4倍的ATR,原文如下所示。

而原文作者也建議,多單的移動停利點的點可以使用最近的高點扣掉3倍的ATR,在統計上來說,這樣表現還算不錯。



後記:

我個人覺ATR用在進場及停利就好了,停損最好還是設定固定停損點,因為心臟的尺吋是固定的,不會因為市場ATR升高就變大顆。


0 留言:

張貼留言

如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!

----------------------------------------------------------------------------------------------------
網站聲明(Disclaimer)
本教學網站內所提供之程式碼(包括函數、指標、訊號)屬開放程式碼,用意在於讓使用者學習程式語法之撰寫,使用者可以任意修改語法內容並調整參數。本網站所有之內容(包括文章、影片、歷史紀錄、程式碼、教材)限用於個人學習使用,請勿轉寄、濫用,嚴禁私自串接帳戶交易。
-------------------------------------------------------------------------------------------------