2013年8月21日 星期三

LinearRegValue 以線性回歸做波動率指標


程式交易小學堂─期貨投機事業的王道
緣由來自"程式交易俱樂部"上,飛天象大發表的感想。

接下來我就想,線性回歸其實是"靜態"的一種統計方式,如果要應用到交易來,盤中的報價不斷進來,我要如何去計算這個線性回歸後的價格變動程度呢?

以下是飛天象發表的內容,Facebook 的社團文章我不知道如何拉連結出來。



在 MultiCharts 中內建有計算線性回歸的函數,也有繪製線性回歸線的指標,我們先劃一條最近 5 根收盤價的線性回歸線出來。


因為要計算樣本內線性回歸線與收盤價間的距離總和,我們會需要知道這個線性回歸在每根K棒時的數值,你想自己去計算 Y=a X + b 的話我也不會反對,不過 MultiCharts 裡有計算線性回歸"值"的函數 LinearRegValueFC( Close, length, N) 可以取用。函數內的三個參數,依序是要做線性回歸的數值(也就是不一定要是收盤價)、樣本長度、最近第 N 根的線性回歸值。

我們做個指標來看一下就可了解了。
input:len(55);
var:j(0);

value5=0;
for j=0 to len-1 begin
  value5= value5 + absvalue( C[j]-LinearRegValueFC(C,len,j) );
end;

plot1(value5,"");


這可以把如下圖的最近幾根K的收盤價到線性回歸線的距離加起來,並且是每根K棒都做當時的線性回歸距離和計算。這樣就可以是一種市場最近一段時間的波動率觀察指標了。


至於要怎麼使用這樣的工具...嗯,請發揮個人的想像力吧^^
這可以做成函數(_heatINDEX)方便以後取用。
input:len(Numeric);
var:j(0);

value5=0;
for j=0 to len-1 begin
  value5= value5 + absvalue( C[j]-LinearRegValueFC(C,len,j) );
end;

_HeatIndex= value5;

熱門文章