2011/10/29
Asymmetrical RSI(非対称RSI)
Sylvain Vervoortによって開発されたRSIの派生指標です。
WilderRSIに似た計算式で、Asymmetrical RSIは値上り幅、値下り幅を計算する修正移動平均のそれぞれの平滑化定数を
前日比プラスの日数、計算区間から前日比プラス日数を除外した日数からそれぞれ計算するため、Asymmetrical RSI(非対称RSI)と呼ばれます。
使用する関数
ここでは任意の日数ののAsymmetrical RSIを計算するためにOFFSET関数を使っています。
L4セルはAsymmetrical RSIの計算日数を指定するセルとします。
G列、H列は前日比を計算します。
G列は前日比プラスの場合に前日比(値幅)を計算し、マイナスの場合は0を代入するようにしています。
H列は前日比マイナスの場合に前日比(値幅)を計算し、プラスの場合は0を代入するようにしています。
I列で区間内の前日比プラスの日数を数えます。
計算部分は
J列でI列の値から値上り幅の修正移動平均で使う平滑化定数を計算します。
平滑化定数は1÷(2×count-1)で計算されるので
計算部分は
K列でI列の値から値下り幅の修正移動平均で使う平滑化定数を計算します。
平滑化定数は1÷(2×(L4セルの値-count)-1)で計算されるので
計算部分は
L列で値上り幅の修正移動平均を計算します。平滑化定数はJ列の値を使うので
計算部分は
M列で値下り幅の修正移動平均を計算します。平滑化定数はK列の値を使うので
計算部分は
N列でL列、N列の値を使ってAsymmetrical RSIを計算します。
計算式部分は赤枠内赤字部分
RSIそのものを計算している部分は
IF文を使っています。
G6〜N6セルをコピーしG7以下のセルにペーストすればAsymmetrical RSIを計算することができます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
WilderRSIに似た計算式で、Asymmetrical RSIは値上り幅、値下り幅を計算する修正移動平均のそれぞれの平滑化定数を
前日比プラスの日数、計算区間から前日比プラス日数を除外した日数からそれぞれ計算するため、Asymmetrical RSI(非対称RSI)と呼ばれます。
計算式
count = N日間の前日比がプラスの日数
px = 1 ÷ (2 × count - 1)
nx = 1 ÷ (2 × (N - count) - 1)
pos = 値上り幅の平滑化定数をpxとしたN日修正移動平均
neg = 値下り幅の平滑化定数をnxとしたN日修正移動平均
Asymmetrical RSI = pos ÷(pos + neg) × 100
px = 1 ÷ (2 × count - 1)
nx = 1 ÷ (2 × (N - count) - 1)
pos = 値上り幅の平滑化定数をpxとしたN日修正移動平均
neg = 値下り幅の平滑化定数をnxとしたN日修正移動平均
Asymmetrical RSI = pos ÷(pos + neg) × 100
![]() |
日経平均終値とAsymmetrical RSIの図
![]() |
日経平均 Asymmetrical RSI度数分布図(14日)
Asymmetrical RSIの度数分布についてはAsymmetrical RSIの度数分布を参照してください。ExcelでAsymmetrical RSIを計算する
Excelを使ってAsymmetrical RSIを計算する手順を説明します。使用する関数
COUNTIF(範囲,検索条件)
範囲から検索条件に合致するセルの数を返します。AVERAGE(数値1,数値2,…)
指定した数値や範囲内の数値の平均値を計算する。空白セルや文字列は無視して計算します。OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。![]() |
L4セルはAsymmetrical RSIの計算日数を指定するセルとします。
G列、H列は前日比を計算します。
G列は前日比プラスの場合に前日比(値幅)を計算し、マイナスの場合は0を代入するようにしています。
H列は前日比マイナスの場合に前日比(値幅)を計算し、プラスの場合は0を代入するようにしています。
I列で区間内の前日比プラスの日数を数えます。
計算部分は
COUNTIF(OFFSET(G6,0,0,-$L$4,1),">0")
です。J列でI列の値から値上り幅の修正移動平均で使う平滑化定数を計算します。
平滑化定数は1÷(2×count-1)で計算されるので
計算部分は
1/(2*I6-1)
となります。K列でI列の値から値下り幅の修正移動平均で使う平滑化定数を計算します。
平滑化定数は1÷(2×(L4セルの値-count)-1)で計算されるので
計算部分は
1/(2*($L$4-I6)-1)
となります。L列で値上り幅の修正移動平均を計算します。平滑化定数はJ列の値を使うので
計算部分は
IF(ROW()-ROW($A$4)=$L$4+1,AVERAGE(OFFSET(G6,0,0,-$L$4,1)),L5+(G6-L5)*J6)
となります。M列で値下り幅の修正移動平均を計算します。平滑化定数はK列の値を使うので
計算部分は
IF(ROW()-ROW($A$4)=$L$4+1,AVERAGE(OFFSET(H6,0,0,-$L$4,1)),M5+(H6-M5)*K6)
となります。N列でL列、N列の値を使ってAsymmetrical RSIを計算します。
計算式部分は赤枠内赤字部分
IF(L6+M6=0,0,L6/(L6+M6)*100)
です。RSIそのものを計算している部分は
I6/(I6+J6)*100
なのですが、分母が0になる可能性を否定出来ないので(この場合L6+M6=0)、この場合は0を返すようにするためにIF文を使っています。
G6〜N6セルをコピーしG7以下のセルにペーストすればAsymmetrical RSIを計算することができます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
↑ TOP PAGE