自訂指標的撰寫技巧~以Q指標為例

By | 2016-04-18

操作策略的形成,往往來自電光火石間,乍現的靈感,這些靈感,必須經過實證的研究,才能成為真正的交易策略,而自訂指標,就是實證研究的方法之一,經過研究,尋找及歸納出指標的應用方式,是交易策略的起點。

很多操作的策略,其成形的靈感,往往來自看盤的體驗上,例如我們總是想知道,現在是

1.上昇趨勢(up trend)

2.下降趨勢(down trend)

3.沒有趨勢( no trend)

那該如何判斷呢?

有人想到,如果把一定期間每天的漲跌累積起來,如果是上昇趨勢,這數字應該會是正的,如果是上降趨勢,這數字應該是負的,如果是盤勢,這數字應該是在零上下波動。

於是,就有人想出了一個叫作價格累積變化的指標(cumulative price change),我們簡稱為CPC

它的計算方式如下:

input:t1(10,"計算累積價格變動的bar數");
value1=close-close[1];//價格變化
value2=summation(value1,t1);//累積價格變化
plot1(value2,"累積價格變化");

這個指標跟加權指數的對照圖如下:

041801

 

當我們在自訂指標的時候,這種計算出一個時間序列,然後觀察這個時間序列與商品價格的對應關係,從而訂出交易策略,是一種最直覺的方法,但有的時候,這個指標的變動過於劇烈,有的時候這個指標的數字視商品價格而定,因為不大容易形成一個放諸各種商品皆適用的策略規則。

這時候我們最常運用的,就是長短天期移動平均線的方式,以上述的CPC指標為例,我們可以把上述的腳本改成以下的樣子

input:t1(10,"計算累積價格變動的bar數");
input:t2(5,"短期平均天期");
input:t3(10,"長期平均天期");
value1=close-close[1];//價格變化
value2=summation(value1,t1);//累積價格變化
value3=average(value2,t2);//短期平均
value4=average(value2,t3);//長期平均
plot1(value3,"短期累積價格變化平均");
plot2(value4,"長期累積價格變化平均");

這樣子的指標,對照大盤的圖如下:

041802

從上圖來看,我們大致可以發現,當短天期移動平均與長天期黃金交叉時,是個買進訊號,但如果是死亡交叉時,就是個賣出訊號。

很多大家耳熟能詳的指標所對應的交易訊號,基本上的概念都是用兩條不同天期的移動平均線去尋找黃金交叉或死亡交叉的點,以上面的腳本為例,如果我們要改寫成作多的交易策略,只要把plot1及plot2拿掉,改成以下的敘述即可

if value3 cross over value4 then ret=1;

兩條不同天期均線的對應關係,不是僅有那條線在那條線上面或下面而已,有的時候,兩條線的距離也很有意義。

這時候我們可以把 那條不同天期移動平均線相減,然後畫成柱狀線,這樣不僅可以看出那條線的高低比較,也可以看出那者間是愈拉愈近還是愈拉愈遠,基至連轉折點也可以一目了然。

例如上圖,我們只要再加下面這一行

plot3(value3-value4,"短期減長期");

下圖就是對應的圖

041803

對照上面的圖,有一個弱點,那就是我們用黃金交叉及死亡交叉來形成決策時,不是做多就是做空,那盤整的時候怎麼辦呢? 或者說,這類的交易策略在趨勢成形時可能極有效,但如果盤整時會不會就很容易出現一下子買進一下子賣出的錯誤訊號呢?

為了解決這個問題,很常被拿來使用的作法就是"去噪音" ,把盤整的因素考量進來,以這個CPC指標為例,如果我們認為CPC的移動平均線可以真正代表價格波動的趨勢,那麼每一個CPC的點到其移動平均線之間的距離,則是單一點偏離趨勢的值,這些偏離值的絕對值就是這個趨勢的噪音,噪音愈大,代表這個趨勢愈不明顯,噪音愈小,代表價格的波動主要是沿著趨勢在跑,這樣的趨勢代表性及持續性會較顯著。

所以我們可以試著算出噪音的移動平均線,然後再把CPC趨勢與噪音相除,如此就可以計算出考慮過噪音大小後的CPC的值,這個值就是所謂的Q指標

它的腳本如下:

input:t1(10,"計算累積價格變動的bar數");
input:t2(5,"計算價格累積變化量移動平均的期別");
input:t3(20,"計算雜訊的移動平均期別");

value1=close-close[1];//價格變化
value2=summation(value1,t1);//累積價格變化
value3=average(value2,t2);
value4=absvalue(value2-value3);//雜訊
value5=average(value4,t3);//把雜訊移動平均
variable:Qindicator(0);
if value5=0
then Qindicator=0
else
Qindicator=value3/value5*5;
plot1(Qindicator,"趨勢值");

這個Q指標與加權指數的對照圖如下:

041804

這個指標是過濾掉噪音後的趨勢

根據它的計算原理,我們可以訂出明確的交易訊號如下:

1.  -1到1: No trend

2.    1到2與-1到-2: Weak trending

3.    2到5與-2到-5: Moderate trending

4.    大於5與小於-5: Strong trending,當數值遠遠超過此數值,表示超買與超賣

 

從 Q指標這個例子,我們可以學習到,自訂指標的設計及移動平均線的計算,長短天期平均線的差值,以及去除噪音的方式,這些技巧學會後,可以讓我們把自訂指標的應用,做的更得心應用。

 

 

 

 

回應