線形回帰は、価格データに対して以下のような直線の方程式を当てはめます:
y[x] = y0 + b*x
ここで:
- xはバーの番号(x=1..n);
- y[x]は対応する価格(始値、終値、中間値など);
- bは比例定数;
- y0はバイアスです。
この指標によって示される線形回帰スロープは、係数bの正規化バージョンに相当します。
bの計算式は次の通りです:
b = (n*Sxy - Sx*Sy)/(n*Sxx - Sx*Sx)
ここで:
- Sx = Sum(x, x = 1..n)= n*(n + 1)/2;
- Sy = Sum(y[x], x = 1..n);
- Sxx = Sum(x*x, x = 1..n) = n*(n+1)*(2*n+1)/6;
- Sxy = Sum(x*y[x], x = 1..n);
- nはLRSの期間(入力パラメータPer)です。
bの分母は次のように簡略化できます:
n*Sxx - Sx*Sx = n*n*(n-1)*(n+1)/12
最終的に、bの全体の計算式は次のように簡略化されます:
b = 6*(2*Sxy/(n + 1) - Sy)/n/(n - 1)
係数bは正規化されていません。異なる通貨ペアに対してLRSがほぼ同じ範囲を持つためには、bを単純移動平均(SMA)または線形加重移動平均(LWMA)で割ることで正規化するのが便利です。これらは次のように表されます:
SMA = Sy/n
LWMA = 2*Sxy/n/(n + 1)
LRSの対応するバージョンは次のようになります:
LRS_SMA = b/SMA = 6*(2*Sxy/Sy/(n + 1) - 1)/(n + 1)
LRS_LWMA = b/LWMA = 6*(1 - (n + 1)*Sy/Sxy/2)/(n + 1)
これらの二つの正規化バージョンはほとんど区別がつきません。したがって、指標にはSMAの正規化が選ばれました。また、LRSの値が非常に小さいため、指標の値は大体-100から+100の範囲に収めるために、10万分の1単位で計算され、プロットされます。
