【エクセル配布有】RSIの計算式2種類を完全解説!設定の意味を理解し検証してみよう
トレードで利益を出したいあなたにおすすめのFX会社
マネーパートナーズ|当サイトで口座開設するとFX特別戦略がもらえる!!→24時間365日のサポートで初心者も安心|業界最狭水準のスプレッドで利益を最大化!
GMOクリック証券|100万口座突破!業界最安の手数料で始めよう
→高機能チャートとスマホアプリで快適トレード|新規口座開設で最大100万円キャッシュバック
FXTF|豊富な通貨ペアで多様な投資戦略を実現!
→独自の分析ツールで勝率アップ|取引量に応じた段階的キャッシュバックで利益の出しやすさ抜群
【FXツール】TradingView|次世代ツールを無料体験!
→TradingViewと連携してリアルトレードできる証券会社|高機能チャートで快適に取引
無料で最強チャートツールを手に入れよう
TradingViewは、トレード仲間とつながるSNS機能を有した次世代型チャートツールです。初回限定で、機能が豊富な有料プランを1ヶ月無料で利用可能。ぜひ最高のトレード環境を体験してください。
「RSIってどんな計算式で算出されているの?」
「RSIには2種類の計算式があるらしいけど、自分が使っているのはどっち?」
RSIを使ってチャート分析をしているけれど、こういった疑問を抱えたままの人も多いのではないでしょうか。
計算式まで遡ってRSIを正しく理解していないと、誤ったチャート分析をしてしまっているかもしれません。
【この記事で分かること】
- RSIの一般的な計算式(カトラー式)
- RSIのもうひとつの計算式(ワイルダー式)
- 2種類のRSI計算式の違いと見分け方
- RSI計算式における設定項目の影響
この記事を読めば、RSIを計算式レベルから理解できるようになり、自信を持ってRSIを使えるようになるはずです。
RSIを使っている、興味があるという人は、最後までチェックして今後のチャート分析に生かしていただければと思います。
目次
最強のテクニカル分析は?
TradingViewは、トレード仲間とつながるSNS機能を有した次世代型チャートツールです。初回限定で、機能が豊富な有料プランを1ヶ月無料で利用可能。ぜひ最高のトレード環境を体験してください。
RSIは過去の相場における上昇と下落のバランスを示す指標
RSIは上の画像のサブチャートに示したオシレーター系インジケーターです。
正式名称は「Relative Strength Index(相対的力指数)」ということで、過去の相場の上昇と下落のバランスを示す指標です。
後ほど詳細に説明しますが、RSIの数値は過去の上昇・下落幅の合計における上昇幅の割合であり、0~100%を推移して動くことになります。
また、RSIが70〜80%を上回ると買われ過ぎ、20〜30%を下回ると売られ過ぎという形で使うのが最も一般的です。
今回は、このRSIの計算式にスポットを当てて、細かいところまで丁寧に解説を行っていきます。
RSIの基本となる計算式
RSIの計算式を正確に書くと、以下のようになります。
RSI = n期間の値上がり幅の単純移動平均 ÷ ( n期間の値上がり幅の単純移動平均 + n期間の値下がり幅の単純移動平均 ) × 100
n:パラメータ
単に「平均」と表現されることも多いですが、ここではより正確に「単純移動平均」と表現しています。
単純移動平均は、指定した期間のデータを単純に合計して期間の長さで割るという最もシンプルに平均を計算する方法です。
では、実際に計算をシミュレーションしてみましょう。
計算式のシミュレーション
nには「14」が使われることが多いですが、ここでは仕組みを理解することが目的なので「5」を使って計算していきます。
計算のもととなる価格データは以下です。
日数 | チャート | 方向 | 値幅 |
1日目 | 100 | 下落 | 1 |
2日目 | 102 | 上昇 | 2 |
3日目 | 103 | 上昇 | 1 |
4日目 | 101 | 下落 | 2 |
5日目 | 102 | 上昇 | 1 |
6日目 | 104 | 上昇 | 2 |
7日目 | 105 | 上昇 | 1 |
まずは5日目の時点のRSIからですが、1~5日目のデータを使って計算を行うと以下のようになります。
5日間の値上がり幅の単純移動平均 = ( 0 + 2 + 1 + 0 + 1 ) ÷ 5 = 0.8
5日間の値下がり幅の単純移動平均 = ( 1 + 0 + 0 + 2 + 0 ) ÷ 5 = 0.6
5日目のRSI = 0.8 ÷ ( 0.8 + 0.6 ) × 100 = 57.14%
続いて、6日目の時点のRSIは、2~6日目のデータを使って同様に計算を行います。
5日間の値上がり幅の単純移動平均 = ( 2 + 1 + 0 + 1 + 2 ) ÷ 5 = 1.2
5日間の値下がり幅の単純移動平均 = ( 0 + 0 + 2 + 0 + 0 ) ÷ 5 = 0.4
6日目のRSI = 1.2 ÷ ( 1.2 + 0.4 ) × 100 = 75%
最後に、7日目の時点でのRSIも、3~7日目のデータを使って同様に計算を行います。
5日間の値上がり幅の単純移動平均 = ( 1 + 0 + 1 + 2 + 1 ) ÷ 5 = 1
5日間の値下がり幅の単純移動平均 = ( 0 + 2 + 0 + 0 + 0 ) ÷ 5 = 0.4
7日目のRSI = 1 ÷ ( 1 + 0.4 ) × 100 = 71.43%
値上がり幅の平均を取る際におけるチャート下落時の値幅は0として扱った上で、値上がりした日数に関わらず5日間の平均を取っているのがポイントです。
値下がり幅の平均も同様に、チャート上昇時の値幅は0として扱った上で、値下がりした日数に関わらず5日間の平均を取っています。
このように、今回であれば5日間ですが、nに設定した期間だけのデータだけを見て、シンプルに平均を取っていく形になっています。
計算式の意味を詳しく解説
RSIの計算式は、分母は過去の上昇・下落幅の単純移動平均の合計、分子が過去の上昇幅の単純移動平均という形です。
仮に計算期間において上昇がずっと続いていた場合には下落幅がゼロとなり、これを計算式に当てはめると以下のようになります。
RSI = n期間の値上がり幅の単純移動平均 ÷ ( n期間の値上がり幅の単純移動平均 + 0 ) × 100
= n期間の値上がり幅の単純移動平均 ÷ n期間の値上がり幅の単純移動平均 × 100
=100%
逆に計算期間に置いて下落がずっと続いていた場合には上昇幅がゼロとなり、これを計算式に当てはめると以下のようになります。
RSI = 0 ÷ ( 0 + n期間の値下がり幅の単純移動平均 ) × 100
= 0 ÷ n期間の値下がり幅の単純移動平均 × 100
= 0%
以上から、過去に上昇の動きが多いとRSIも100%を上限として上昇し、過去に下落の動きが多いとRSIも0%を下限として下落していくことが分かります。
また、過去の上昇と下落の動きがイコールであった場合、「n期間の値上がり幅の単純移動平均 = n期間の値下がり幅の単純移動平均」となり、これを計算式に当てはめたのが以下です。
RSI = n期間の値上がり幅の単純移動平均 ÷ ( n期間の値上がり幅の単純移動平均 + n期間の値上がり幅の単純移動平均 ) × 100
= 1 ÷ 2 × 100
=50%
RSIが50%ということからは、過去の上昇・下落の動きがイコールだった状態を示していることが読み取れるわけです。
さらには、RSIが50%超であれば過去に上昇の動きの方が多い、RSIが50%未満であれば過去に下落の動きの方が多いということもいえるでしょう。
このように、RSIが意味しているのは、過去の上昇・下落幅の単純移動平均の合計における上昇幅の単純移動平均の割合です。
一般的に「RSIが70~80%を上回ると買われ過ぎ」といわれますが、実際にRSIの値が意味しているのは「過去における上昇の割合が70~80%よりも多かった」ということだけです。
同様に、「RSIが20~30%を下回ると売られ過ぎ」といわれますが、実際にRSIの値が意味しているのは「過去における上昇の割合が20~30%よりも少なかった」ということだけです。
RSI自体が買われ過ぎ・売られ過ぎを示しているわけではなく、そういった相場の状態から買われ過ぎ・売られ過ぎと判断できることがあるというのが、より正確な表現といえるでしょう。
RSIのもう一つの計算式(ワイルダー式)
RSIには、先ほど紹介したものとは少し異なる計算式もあります。
最初に紹介した計算式はカトラー式と呼ばれるのに対し、こちらはワイルダー式と呼ばれるものです。
RSIを開発したのはJ.W.ワイルダー氏であり、実は今から説明するワイルダー式の方が元祖です。
ただ、最近のFX会社のツールではカトラー式の方が多い印象で、かつ、計算式もシンプルで分かりやすいこともあり、カトラー式から紹介しました。
MT4/MT5やTradingViewなどの有名ツールにおけるデフォルトのRSIはワイルダー式なので、どちらも頭に入れておいた方がいいでしょう。
ワイルダー式の計算式は以下のような形です。
RSI = A ÷ ( A + B ) × 100
A:n期間の値上がり幅の指数平滑移動平均
B:n期間の値下がり幅の指数平滑移動平均
指数平滑移動平均における平滑化係数(α):1/n
n:パラメータ
カトラー式と同じ計算構造ですが、値上がり幅と値下がり幅の平均を取るところが、単純移動平均ではなく平滑化係数(α)が 1/n の指数平滑移動平均になっています。
これは指数平滑移動平均を知らないと理解できない表現なので、上の計算式におけるAとBを分かりやすく書き換えてみましょう。
A:
1期間目のRSIにおけるA:n期間の値上がり幅の単純移動平均
2期間目以降のRSIにおけるA:{ 前期間のRSIにおけるA × ( n – 1 ) + 当期間の値上がり幅 × 1 } ÷ n
B:
1期間目のRSIにおけるB:n期間の値下がり幅の単純移動平均
2期間目以降のRSIにおけるB:{ 前期間のRSIにおけるB × ( n – 1 ) + 当期間の値下がり幅 × 1 } ÷ n
この計算は、平均を出すときの当期間データの影響度を1とすると、前期間以前のデータの影響度を「 ( n – 1 ) / n 」を乗じて薄めるということを行っています。
時間が経つにつれて、過去のデータの影響度はこの割合でどんどん薄められていくというイメージです。
計算式だけでは分かりにくいと思いますので、シミュレーションを通して見ていきましょう。
計算式のシミュレーション
先ほどと同様、nには「5」を使います。
また、計算のもととなる価格のデータも先ほどと同じです。
日数 | チャート | 方向 | 値幅 |
1日目 | 100 | 下落 | 1 |
2日目 | 102 | 上昇 | 2 |
3日目 | 103 | 上昇 | 1 |
4日目 | 101 | 下落 | 2 |
5日目 | 102 | 上昇 | 1 |
6日目 | 104 | 上昇 | 2 |
7日目 | 105 | 上昇 | 1 |
まずは5日目の時点のRSIからですが、1~5日目のデータを使って単純移動平均を出す形なので、カトラー式と全く同じようになります。
A:5日間の値上がり幅の平均 = ( 0 + 2 + 1 + 0 + 1 ) ÷ 5 = 0.8
B:5日間の値下がり幅の平均 = ( 1 + 0 + 0 + 2 + 0 ) ÷ 5 = 0.6
5日目のRSI = 0.8 ÷ ( 0.8 + 0.6 ) × 100 = 57.14%
続いて6日目のRSIですが、ここから少しずつ変化が現れてきます。
A: ( 0.8 × 4 + 2 × 1 ) ÷ 5 = 1.04
B: ( 0.6 × 4 + 0 × 1 ) ÷ 5 = 0.48
6日目のRSI = 1.04 ÷ ( 1.04 + 0.48 ) × 100 = 68.42%
最後に7日目のRSIも同様に計算していきます。
A: ( 1.04 × 4 + 1 × 1 ) ÷ 5 = 1.032
B: ( 0.48 × 4 + 0 × 1 ) ÷ 5 = 0.384
7日目のRSI = 72.88%
ワイルダー式では、AやBの計算を行う際に前日のRSIにおいて算出したAやBを使うのがポイントです。
複雑そうに見えた計算式ですが、計算のパターンが分かれば意外と簡単なんじゃないでしょうか。
ワイルダー式計算方法の意味を詳しく解説
ここで、計算シミュレーションを見ながら、データの影響度を紐解いていきましょう。
6日目のAの計算では、「 ( 0.8 × 4 + 2 × 1 ) ÷ 5 」となっていますが、これを書き換えると以下のようになります。
(1~5日目の値上がり幅の合計 × ⅕ × 4 + 6日目の値上がり幅 × 1 ) ÷ 5
= 1~5日目の値上がり幅 × ⅕ × ⅘ + 6日目の値上がり幅 × ⅕ ( =1.04 )
さらに翌日の7日目の計算は、「 ( 1.04 × 4 + 1 × 1 ) ÷ 5 」となっていますが、これも上の計算式を使って書き換えてみましょう。
{(1~5日目の値上がり幅の合計 × ⅕ × ⅘ + 6日目の値上がり幅 × ⅕ ) × 4 + 7日目の値上がり幅 × 1 } ÷ 5
= 1~5日目の値上がり幅の合計 × ⅕ × ⅘ × ⅘ + 6日目の値上がり幅 × ⅕ × ⅘ + 7日目の値上がり幅 × ⅕
ここで、6日目のAの計算を見てみると、1~5日目の値上がり幅に「 × ⅘ 」が1つ付いています。
次に7日目のAの計算を見てみると、1~5日目の値上がり幅に付いている「 × ⅘ 」が1つ増えて2つになり、6日目の値上がり幅にも「 × ⅘ 」が1つ付いています。
この先も時間の経過とともに、それぞれの日の値上がり幅に「 × ⅘ 」が1つずつ増えていくようになっているわけです。
この「 ⅘ 」の正体は「 ( n – 1 ) / n 」です。
このような形で、ワイルダー式では時間が進むとともに、過去の値上がり幅や値下がり幅に「 × ( n – 1 ) / n 」が付けられて、少しずつ影響が減る仕組みになっています。
逆にいうと、計算を開始して以降のデータが全て、直近のRSIにも残るようになっているということです。
最初に紹介したカトラー式では、期間を外れたデータの影響度は完全にゼロとなる仕組みだったので、これはワイルダー式の大きな特徴といえるでしょう。
上の画像は、計算対象の過去データが100個だった場合の過去データの影響度合いを、カトラー式とワイルダー式で比較した図表( n = 14 )です。
カトラー式(青)は四角い形をしているのに対して、ワイルダー式(赤)は裾が広がっていることが分かります。
ワイルダー式のRSIでも、過去の上昇・下落の動きにおける上昇の割合を示しており、意味合いはカトラー式と基本的には同じです。
ただし、カトラー式のように設定した期間の中で単純に計算するのではなく、上の図表のように過去のデータの影響度を調整した上での計算結果であることも、頭に入れておくようにしましょう。
なお、ワイルダー式の場合、計算の開始時期によって含まれる過去のデータの範囲(上の図表における裾の部分)が変わるため、算出される値も異なってきます。
そのため、過去のデータの範囲による影響が薄まるように、ある程度の期間の計算をこなしたところで使用する方が良いかもしれません。
原著におけるRSIの計算式も中身は同じ
J.W.ワイルダーの著書『New Concepts in Technical Trading Systems』で紹介されているRSIの計算式は、以下のような形をしています。
RSI = 100 ー 100 ÷ ( 1 + RS )
RS = 14期間の値上がりの平均 ÷ 14期間の値下がりの平均( = A / B )
本記事でワイルダー式として紹介した計算式と比較すると、全く異なっているように見えるかもしれません。
しかし、それは記事では分かりやすくなるように計算式を変形しているからであり、実は両者の中身は全く同じです。
では、計算式を変形する過程も紹介しておきます。
RSI = 100 – 100 ÷ ( 1 + RS )
= { 1 – 1 ÷ (1 + RS )} × 100
= ( RS ÷ ( 1 + RS ) × 100
= { A / B ÷ ( 1 + A / B )} × 100
= [ A / B ÷ {( A + B ) / B )}] × 100
= A ÷ ( A + B ) × 100
このように、ワイルダー式として紹介した計算式と同じ形に変形することができました。
他のトレーダーと差をつけるためのツールを紹介!【セール実施中】
TradingViewは、トレード仲間とつながるSNS機能を有した次世代型チャートツールです。初回限定で、機能が豊富な有料プランを1ヶ月無料で利用可能。ぜひ最高のトレード環境を体験してください。
RSIの2種類の計算式の違いを検証(エクセル配布あり)
カトラー式とワイルダー式の計算式を見てきましたが、実際にどの程度の違いが出るのか検証してみましょう。
くりっく365の2019~2021年の米/ドル円(日足)の終値データを使用して、カトラー式とワイルダー式を比較してみました。
現在のドル円の参考レートはこちらをご覧ください。
引用元:くりっく365のヒストリカルデータを基に筆者が作成
上の画像の赤いラインがカトラー式で、青いラインがワイルダー式です。
カトラー式は上下に跳ねている部分が多く見られ、ワイルダー式の方が滑らかな曲線となっています。
これは、ワイルダー式が過去のデータを幅広く取り入れていることが理由といえるでしょう。
こういった動き方の違いがあることを踏まえると、自分が使っているRSIがどちらの方式なのかは確認しておきたいところです。
なお、上記の計算を行ったExcelファイルは以下で配布していますので、興味のある人は確認してみてくださいね。
カトラー式とワイルダー式の簡単な見分け方
過去のデータの反映させ方が異なるため、カトラー式とワイルダー式では動きに違いが見られます。
そのため、RSIを使う場合、自分のチャートツールでは両者のどちらを採用しているかを把握しておきたいところです。
この点、以下の方法を使えば簡単に確認することができます。
- RSIのnに「2」以上の小さい値を設定する。
- 設定した期間の長さだけ連続して上昇または下落したときのRSIの値を確認する。
- RSIが100%または0%であればカトラー式、そうでなければワイルダー式と判断できる。
注意点は、2において、陽線や陰線が続いたかどうかではなく、終値ベースで上昇または下落が続いたことを確認しないといけない点です。
引用元:DMM FXの「プレミアチャート」のスクリーンショット
上の画像では、DMM FXのプレミアチャートにおけるRSIがカトラー式かワイルダー式かを確認しています。
nは「5」に設定していますが、5期間連続で終値が上昇したタイミング(白丸)のRSIは100%です。
そのため、これはカトラー式と判断することができます。
上の画像では、TradingViewのRSIを使ってカトラー式かワイルダー式かを確認しています。
nは「5」に設定していますが、5期間連続で終値が上昇したタイミング(白丸)のRSIは明らかに100%に届いていません。
そのため、これはワイルダー式と判断することができます。
この方法を使えば、インジケーターのコードを見ることなく簡単に採用されている計算方法を確認することができます。
簡単に確認できるので、自分が使っているRSIがどちらの方式なのか、一度確認してみてはいかがでしょうか。
計算式から分かるRSIの設定項目の影響
RSIの計算式では、値上がり幅と値下がり幅を計算の元データとして使用しています。
この値上がり幅と値下がり幅は、当期間と前期間の終値から計算するのが一般的です。
この点、TradingViewやMT4/MT5など、多くのツールで終値以外のデータを使って計算できるようになっています。
基本的には終値を使用すれば十分と考えられますが、よりRSIを使いこなすという意味で、終値以外の数字を使ったときにどういった影響があるのかにも触れておこうと思います。
まず最初に、終値を使用した場合の弱点ですが、高値や安値がまったく考慮されない点が挙げられます。
そのため、上の画像左側のように長いヒゲが出ているローソク足でも、右側のようにヒゲがほとんど出ていないローソク足でも、終値が一緒であればRSIの計算上違いは何もないということになるわけです。
もしこういったヒゲの部分も考慮したRSIを見る必要があるのであれば、高値や安値が反映される終値以外の価格を使ってみるといいでしょう。
参考ですが、TradingViewのRSIでは、終値以外の価格としては以下のようなものが使えるようになっています。
- 始値
- 高値
- 安値
- 「高値 + 安値」の平均
- 「高値 + 安値 + 終値」の平均
- 「始値 + 高値 + 安値 + 終値」の平均
- 「高値 + 安値 + 終値 × 2」の平均
興味のある人は、終値以外の価格を使うとRSIにどんな影響があるのか試してみてもいいかもしれません。
まとめ:RSIの計算式を理解して使いこなそう!
今回は、RSIの計算式について細かいところまで解説を行ってきました。
RSIについて理解しているつもりだった人でも、意外と知らなかった論点があったのではないでしょうか。
RSIを使う際には、分析対象や時間足、使用目的に合わせてチューニングすることが必要になることもあるかもしれません。
RSIの性質について計算式まで遡って理解して、より自分の思い通りに使いこなせるようになっていただければと思います。
なお、RSIの計算式以外の論点についても知りたいという人は、RSIに関してまとめて解説している以下の記事も併せてチェックしてみてください。