2019年3月30日

用「斜率(LinearRegSlope)」/「角度(LinearRegAngle)」定義趨勢變化

有時我們看分析師的行情稿會有諸如仰角攻擊、均線走平這類的形容,確實,在MultiCharts裏用角度或斜率來定義趨勢是很直觀也容易運用的方法。


首先讀者要稍微回憶一下中學數學--線性回歸(linear regression),可自行GOOGLE相關資料,不想花時間知其所以然,也沒關係,直接往下讀也不難上手應用。

透過線性回歸計算,我們可以把某個區間的價格(例如過去5根K棒收盤價)計算其線性關係,如下圖所示,θ即是這條線與Y軸的角度,m斜率即是度量y與x變動比率。無論角度或斜率,在Powerlanguage都有內建函式可供直接引用計算。


角度(LinearRegAngle)

行情強勢多頭,漲勢就會越接近90度,反之,行情重挫,下跌的角度就會接近-90度,很多人以為是要用斜率來表達價格趨勢的變化,其實用角度更為直觀。我們用LinearRegAngle這個函式可計算出角度:

LinearRegAngle(Price, Len)

例如我們想表達上漲強度變強,也就是角度越來越陡,PowerLanguage我們可以這樣寫:

Value1= LinearRegAngle(close, 5);
Condition1=Value1>Value1[1];

意即,我們計算出最近5根K棒收盤價的線性角度,然後比較前一個角度,變大就代表角度變陡。因為單算收盤價的線性回歸往往變動太大反而難以定向趨勢,可以用均線來平滑取而代之,如下:

Value1=Average(close,5);
Value2= LinearRegAngle(Value1, 5);
Condition1=Value2>Value2[1] and Value2>60;

如上,我們可以再多指定一個閥值,例如60度,角度上升且大於60度,定義出行情為強勢多頭。也有人再深入,就進到微積分的領域了。


斜率(LinearRegSlope)

如前面所言,我們想表達(趨勢)斜率變陡或變平,我們其實想要的是角度而非斜率,或者說採用角度(LinearRegAngle)是比較值觀好用的,當然如果你堅持要用斜率也無不可,用法與上面角度一樣,斜率函式為:

LinearRegSlope(Price, Len)


結論與後記

其實我們都知道市場價格非線性,橫豎也回歸不出來,卻使用從線性回歸得出的角度或斜率似乎有些矛盾弔詭,不過無妨,這樣的運用提供我們一個量化且具體的數字跟邏輯,仍有其價值。在MultiCharts裏尚有Linear Reg Curve這個指標,主要是用到LinearRegValue這個函式,可以根據線性回歸公式算出目前甚至未來的”理論”價格,這類預測價格的做法,實務價值反而就不大了。




歡迎加入LINE@
加入好友
(點擊上方圖示)

沒有留言:

張貼留言

歡迎留言討論!