テクニカル分析の解説サイト テクニカルブック

RSIの計算式を徹底解説!2種類を検証したExcel配布あり

公開日:2022年2月18日 更新日:2022年4月25日

RSIの概要

RSIをチャートに表示

RSIは上の画像のサブチャートに示したオシレーター系インジケーターです。

正式名称は「Relative Strength Index(相対的力指数)」ということで、過去の相場の上昇と下落のバランスを示す指標です。

後ほど詳細に説明しますが、RSIの数値は過去の上昇・下落幅の合計における上昇幅の割合であり、0~100%を推移して動くことになります。

また、RSIが70〜80%を上回ると買われ過ぎ、20〜30%を下回ると売られ過ぎという形で使うのが一般的です。

この他にもさまざまな使い方がありますが、詳細については以下の記事をご覧ください。

今回は、このRSIの計算式にスポットを当てて、細かいところまで丁寧に解説を行っていきます。

RSIの基本となる計算式

RSIの計算式を正確に書くと、以下のようになります。

RSIのカトラー式の計算式

RSI = n期間の値上がり幅の単純移動平均 ÷ ( n期間の値上がり幅の単純移動平均 + n期間の値下がり幅の単純移動平均 ) × 100

n:パラメータ

単に「平均」と表現されることも多いですが、ここではより正確に「単純移動平均」と表現しています。

単純移動平均は、指定した期間のデータを単純に合計して期間の長さで割るという最もシンプルに平均を計算する方法です。

では、実際に計算をシミュレーションしてみましょう。

計算のシミュレーション

nには「14」が使われることが多いですが、ここでは仕組みを理解することが目的なので「5」を使って計算していきます。

計算のもととなる価格データは以下です。

日数1日目2日目3日目4日目5日目6日目7日目
チャート10010210199100102103
方向下落上昇上昇下落上昇上昇上昇
値幅1212121

まずは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のワイルダー式の計算式

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日目2日目3日目4日目5日目6日目7日目
チャート10010210199100102103
方向下落上昇上昇下落上昇上昇上昇
値幅1212121

まずは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でも、過去の上昇・下落の動きにおける上昇の割合を示しており、意味合いはカトラー式と基本的には同じです。

ただし、カトラー式のように設定した期間の中で単純に計算するのではなく、上の図表のように過去のデータの影響度を調整した上での計算結果であることも、頭に入れておくようにしましょう。

なお、ワイルダー式の場合、計算の開始時期によって含まれる過去のデータの範囲(上の図表における裾の部分)が変わるため、算出される値も異なってきます。

そのため、過去のデータの範囲による影響が薄まるように、ある程度の期間の計算をこなしたところで使用する方が良いかもしれません。

原著の計算式は少し違う?

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

このように、ワイルダー式として紹介した計算式と同じ形に変形することができました。

カトラー式とワイルダー式の違いを検証(Excel配布あり)

カトラー式とワイルダー式の計算式を見てきましたが、実際にどの程度の違いが出るのか検証してみましょう。

くりっく365の2019~2021年の米/ドル円(日足)の終値データを使用して、カトラー式とワイルダー式を比較してみました。

2019~2021年の米ドル/円でカトラー式とワイルダー式を比較したグラフ

引用元:くりっく365のヒストリカルデータを基に筆者が作成

上の画像の赤いラインがカトラー式で、青いラインがワイルダー式です。

カトラー式は上下に跳ねている部分が多く見られ、ワイルダー式の方が滑らかな曲線となっています。

これは、ワイルダー式が過去のデータを幅広く取り入れていることが理由と言えるでしょう。

こういった動き方の違いがあることを踏まえると、自分が使っているRSIがどちらの方式なのかは確認しておきたいところです。

なお、上記の計算を行ったExcelファイルは以下で配布していますので、興味のある人は確認してみてくださいね。

Excelアイコン

comparison_rsi.xlsx

カトラー式とワイルダー式の簡単な見分け方

過去のデータの反映させ方が異なるため、カトラー式とワイルダー式では動きに違いが見られます。

そのため、RSIを使う場合、自分のチャートツールでは両者のどちらを採用しているかを把握しておきたいところです。

この点、以下の方法を使えば簡単に確認することができます。

  1. RSIのnに「2」以上の小さい値を設定する。
  2. 設定した期間の長さだけ連続して上昇または下落したときのRSIの値を確認する。
  3. RSIが100%または0%であればカトラー式、そうでなければワイルダー式と判断できる。

注意点は、2において、陽線や陰線が続いたかどうかではなく、終値ベースで上昇または下落が続いたことを確認しないといけない点です。

DMM FXのプレミアチャートのRSIがカトラー式であることを確認

引用元:DMM FXの「プレミアチャート」のスクリーンショット

上の画像では、DMM FXのプレミアチャートにおけるRSIがカトラー式かワイルダー式かを確認しています。

nは「5」に設定していますが、5期間連続で終値が上昇したタイミング(白丸)のRSIは100%です。

そのため、これはカトラー式と判断することができます。

TradingViewのRSIがワイルダー式であることを確認

上の画像では、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の性質について計算式まで遡って理解して、より自分の思い通りに使いこなせるようになっていただければと思います。

新しいトレード練習アプリ-デモトレードの進化版-


タグを選択
オシレーター分析

現在のトレンドの強さや過熱感など変化の大きさや兆しを察知するときに活用します。

トレンド分析
オシレーター分析
トレード理論
トレード用語
チャートパターン分析
トレード心理
ツール

【免責事項】

本サイトに掲載されている情報は、情報提供のみを目的としたものであり、投資勧誘や投資助言を目的としたものではありません。当該情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねます。投資に関する判断は、リスクを理解した上でご自身の責任で行ってください。また、当社は万全を期して情報を掲載していますが、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。万一、当該情報の欠落・誤謬等が生じた場合にも、当社は責を負いかねますのでご了承ください。

Copyright © 2022 Technical-book. All rights reserved