FX基本用語

RSIを算出する方法

RSIを算出する方法
株の分析手法にはテクニカル分析とファンダメンタルズ分析の2種類があります。過去の値動きから考えるのがテクニカル分析、企業業績等を使って分析するのがファンダメンタルズ分析です。

コナーズRSI (CRSI)

コナーズRSI (CRSI) は、ラリー・コナーズが作成したテクニカル分析指標であり、実際には別個の3つの構成要素を複合したものです。J・ウエルズ・ワイルダーによって開発された相対力指数 (RSI) が、コナーズRSIに不可欠な役割を果たしており、実際ワイルダーのRSIは、3つの構成要素の内の2つで使用されています。3つの構成要素 - RSI、連続騰落期間のRSI、ROC - を組み合わせて、モメンタムオシレーターを形成します。コナーズRSIは、0から100の値を出力し、買われすぎや売られすぎの状態を識別する為に利用されます。

  • RSI = ワイルダーが開発した標準のRSIです。これは通常短期のRSIで、この例では3期間のRSIです。
  • 連続騰落期間 = 銘柄の価格が終値で上昇(前日より高い)、または終値で下落(前日より低い)のいずれかの連続した日数です。終値で上昇した場合の値は正の数で表され、終値で下落した場合の値は負の数で表されます。銘柄が連続して同じ価格でクローズする場合には連続騰落期間は0です。コナーズRSIは短期RSIを連続騰落期間に適用します。この例では2期間のRSIです。
  • ROC = 変化率です。ROCはユーザー定義の期間を取得し、その期間内で現在の価格変動率を下回る値の数の割合を計算します。

コナーズRSI (CRSI) は上記の計算式を利用して0から100の値を生成し、主に買われすぎと売られすぎのレベルを識別する為に用いられます。コナーズのオリジナルの定義では、それらの水準は、買われすぎと見なされる値は90を超える値、売られすぎは10未満とされています。時折、トレンドの僅かな押し戻りの際にシグナルが発生します。例えば、市場が上昇トレンドの時に、コナーズRSIが短期の売りシグナルを生成する場合や、市場が下降トレンドの時に買いシグナルを生成する場合があります。

コナースRSIインジケーターは、確立された指標である相対力指数 (RSI) を取得し、それを独自の理論に適用するツールで、買われすぎと売られすぎのレベルを定義し、トレード期間を識別する為の良い方法です。とは言え、コナーズRSIは誤ったシグナルを生成する傾向があります。その為、鋭敏なテクニカルアナリストは、取引する銘柄に最適なパラメーターをテストする必要があります。またコナーズRSIを他のインジケーターと組み合わせる事で、潜在的にその効果が向上します。

RSI には2つの計算式があるけれど違いは何か


これはUSDJPYの1時間足で、Wilder RSIの期間を分かりやすく4とした場合の例です。

Close[]:前の終値と比較して差分を出します。

Up, Down:上昇したか下降したかを判断して分けます。

A: n期間の平均上昇幅、nは4にしたのでupから4つ分を加算して4で割り平均、下降したところは0としてスキップ
具体的には、(0+0+0.RSIを算出する方法 004+0.028)/4=0.008
B: n期間の平均下降幅、downから4つ分を加算して4で割り平均、上昇したところは0としてスキップ
具体的には、(0.052+0.02+0+0)/4=0.018

AとBが算出されたので、最初の1本目のRSIは
RSI RSIを算出する方法 = A / (A + B) x 100 [%]
30.77% です。

Cutler RSI はこれを繰り返すだけの単純な移動平均です。

Wilder RSI は2本目から修正移動平均、一種の指数平滑になり、

A’: (前の平均上昇幅 x (n-1) + 今回の上昇幅) / n期間
具体的には、(0.00800 x 3 + 0.0070000)/4 = 0.00775

B’:(前の平均下降幅 x (n-1) + 今回の下降幅) / n期間
具体的には、(0.01800 x 3 + 0)/4 = 0.01350

テクニカル分析で相場の流れをつかもう!具体的な分析手法を紹介

テクニカル分析とは株の分析手法のひとつ

株の分析手法にはテクニカル分析とファンダメンタルズ分析の2種類があります。過去の値動きから考えるのがテクニカル分析、企業業績等を使って分析するのがファンダメンタルズ分析です。

2種類の株の分析手法

テクニカル分析は過去の値動きから考える

ファンダメンタルズ分析は企業業績等を使う

テクニカル分析で使う指標には2種類ある

テクニカル分析で使う指標にはトレンド系とオシレーター系の2種類あり、相場の流れや方向性を判断するために使うのがトレンド系テクニカル指標、買われ過ぎや売られ過ぎを判断するために使うのがオシレーター系テクニカル指標です。

1.トレンド系テクニカル指標

移動平均線

一目均衡表とは、相場が買い方と売り方の均衡が崩れたときに大きく動くことに着目して、どちらが優勢なのか均衡関係を一目でわかるようにしたテクニカル指標です。

2.オシレーター系テクニカル指標

MACD

RSI

テクニカル分析3つのメリット

テクニカル分析のメリット

1.株価チャートは視覚的で分かりやすく分析しやすい

2.経済や財務諸表の知識がなくても分析できる

3.プロと個人投資家で情報量の差が小さい

テクニカル分析3つのデメリット

テクニカル分析のデメリット

  1. 事象に対応できない
  2. 複数の指標で違うシグナルが出る場合がある
  3. 分析結果が常に正しいとは限らない

1.株価の急落など突発的な事象に対応できない

2.複数の指標で違うシグナルが出る場合がある

3.分析結果が常に正しいとは限らない

テクニカル分析を実際に使う場合の注意点

テクニカル分析の注意点

テクニカル分析を活用して投資銘柄を探そう

テクニカル分析を活用して投資銘柄を探そう

【株初心者向け】株式投資の始め方や勉強しておきたい3つのことなどを解説

株の売り時の見極めポイント4つや注意点、分析ツールを解説

株の買い方や証券会社選びのポイント、注文方法の種類や違いを解説

MONEY HUB PLUS 編集部

未来につながる投資情報メディア「Money Hub Plus(マネハブ)」の編集部です。
みなさまの資産形成に役立つ情報を日々発信しております。

資産運用セミナー オンラインでも開催!投資信託相談プラザ

資産運用に役立つ情報配信中!投資信託相談プラザ Youtube公式チャンネル

限定セミナーや最新情報をお届け!メールマガジン登録受付中!|ご相談無料の投資信託相談プラザ

AIが株の買い時・売り時をサポート!アルパカロボはこちら

AIが株の買い時・売り時をサポート!アルパカロボはこちら

商号等:株式会社Fan 金融商品仲介業者 RSIを算出する方法 登録番号:北陸財務局長(金仲)第35号
当社は所属金融商品取引業者の代理権は有しておりません。
当社は金融商品仲介業に関してお客様から直接金銭や有価証券のお預かりをすることはありません。

【所属金融商品取引業者等】
株式会社SBI証券 金融商品取引業者 登録番号:関東財務局長(金商)第44号
加入協会:日本証券業協会、一般社団法人金融先物取引業協会、一般社団法人第二種金融商品取引業協会、一般社団法人日本STO協会
楽天証券株式会社 金融商品取引業者 登録番号:関東財務局長(金商)第195号
加入協会:日本証券業協会、一般社団法人金融先物取引業協会、日本商品先物取引協会、一般社団法人第二種金融商品取引業協会、一般社団法人日本投資顧問業協会 RSIを算出する方法
ウェルスナビ株式会社 金融商品取引業者 登録番号:関東財務局長(金商)第2884号
加入協会:日本証券業協会、一般社団法人日本投資顧問業協会
AlpacaJapan株式会社 金融商品取引業者 登録番号:関東財務局長(金商)第3024号
加入協会:日本証券業協会、一般社団法人日本投資顧問業協会
ソニー銀行株式会社 登録金融機関 登録番号:関東財務局長(登金)第578号
加入協会:日本証券業協会、一般社団法人金融先物取引業協会、一般社団法人第二種金融商品取引業協会

【コード解説】Pythonで株価データから主要なテクニカル分析を計算して可視化する【移動平均線、MACD、RSI】

【コード解説】Pythonで株価データから主要なテクニカル分析を計算して可視化する【移動平均線、MACD、RSI】

(おさらい)株価データを取得する

まずはおさらいとして、計算に必要な 株価データ を取得します。

今回はpandas_datareaderを使ってトヨタ(7203)株価データを取得します。

【コード解説】Pythonで株価データを取得する!【ライブラリやスクレイピングを活用】

【Pythonコード解説】yahoo_finance_api2で日本株の株価データを取得する

【Pythonコード解説】yahoo_finance_api2で日本株の株価データを取得する

移動平均線

まずはテクニカル分析で最も基本となる 移動平均線 です。

【シンプルだけど奥深い!】「移動平均線」について 徹底解説します!

コードを公開

移動平均線は、pandasrolling関数 を使えば一瞬で計算できます。

終値で計算するので、Close列を指定してrolling関数を適用します。

そして引数のwindowで期間を指定します。

最後に平均値を指定するmean()をつければおしまいです。

ここをmax()とかmin()にすると、その期間のおける最高値あるいは最安値を計算することもできます。

計算結果を確認

グラフに描く

算出した 移動平均線をグラフ化する ときちんと計算できていることが確認できます。

plt . xticks ( [ x for x in range ( len ( df ) ) ] , [ x . strftime ( '%Y-%m-%d' ) for RSIを算出する方法 x in df . index ] )

このチャートを書くためにindexというコラムを追加しています。

【コード解説】Pythonで株価チャートを描く【mpl_finance編】

次に MACD をご紹介します。

MACDは2種類の指数平滑移動平均(通常は12と26)の差分を計算して、さらにその差分の移動平均(通常は9)を求めることで算出できます。

MACDは トレンド系とオシレーター系の両方の特徴を併せ持つ人気のテクニカル分析手法 です。

【最も人気なツールの1つ】 「MACD」について徹底解説!

コードを公開

それではコードをどうぞ。今回はMACDを計算する関数を作ってみました。

df [ "MACD" ] = df [ "Close" ] . ewm ( span = RSIを算出する方法 FastEMA_period ) . mean ( ) - df [ "Close" ] . ewm ( span = SlowEMA_period ) . mean ( )

関数内でMACDに使う変数を自由に設定できるようにしました。

ewa関数を使うと指数平滑移動平均を一瞬で計算できるので便利です。

計算結果を確認

グラフに描く

計算したMACDをグラフで確認します。

mpl_finance . candlestick_ohlc ( ax [ 0 ] , df . values , width = 0.5 , colorup = 'r' , colordown = 'b' )

plt . xticks ( [ x for x RSIを算出する方法 in range ( len ( df ) ) ] , [ x . strftime ( '%Y-%m-%d' ) for x in df . index ] )

【コード解説】Pythonで株価チャートを描く【mpl_finance編】

最後に RSI を見ていきます。

RSIはオシレーター系の代表的なテクニカル分析手法で、 株価の上がりすぎや下がりすぎを判断するため に使われます。

一般的に期間は14が用いられ、この期間で平均上がり幅と平均値下がり幅の比で算出されます。

0〜100の数値で示され、50を超えると上昇平均の方が大きいことを意味します。

一般的に70で買われすぎ30で売られすぎと判断され、 逆張りに利用されることが多い です。

【オシレーター系の定番!】RSIについて徹底解説!【僕の独自活用法も公開】

コードを公開

それではRSIを計算するPythonコードをどうぞ。

ちょっとややこしいので解説しておくと、まずは前日との差分を計算してdf_diffに格納します。

これをcopyしてdf_updf_downを定義します。

あとは平均値を計算して比を算出すれば完成です。

計算結果を確認

【オシレーター系の定番!】RSIについて徹底解説!【僕の独自活用法も公開】

グラフに描く

最後に算出したRSIをグラフで確認します。

mpl_finance . candlestick_ohlc ( ax [ 0 ] , df . values , width = 0.5 , colorup = 'r' , colordown = 'b' )

plt . xticks ( [ x for x in range ( len ( df ) ) ] , RSIを算出する方法 [ x . strftime ( '%Y-%m-%d' ) RSIを算出する方法 for x in RSIを算出する方法 df . index ] )

【コード解説】Pythonで株価チャートを描く【mpl_finance編】

データの分析・可視化にはPythonが最適!

本記事で紹介したコードは、全て Python を使って書いています。

Pythonデータの分析や可視化を得意とするプログラミング言語 で、さらにAI関連のライブラリーも豊富で昨今のAIブームで需要が急拡大しています。

また、Python比較的学びやすい言語 でもあります。

実際、僕は 社会人になってからPythonを独学で習得して転職にも成功し、 Python独学をきっかけに人生が大きく変わりました。

Python学習方法についてはいろいろな方法があります。

僕は Udemy を選びましたが、書籍プログラミングスクールも選択肢になります。

今回は「 【コード解説】Pythonで株価データから主要なテクニカル分析を計算して可視化する【移動平均線、MACD、RSI】 」というテーマで、移動平均線・MACD・RSIの計算方法について紹介しました。

これらは僕が普段の株式投資でよく利用しているものです。

Pythonはデータ分析に最適な言語 で、株価データの分析も容易に実装できます

【シンプル】RSIの期間はどの数値にすべき?おすすめの期間と理由について解説

RSIの期間はどの数値にすべき?

RSIは、J.W.ワイルダー氏が1978年に発表したテクニカルです。J.W.ワイルダー氏はアメリカの投資インストラクターで、著書「New Concepts In Technical Trading Systems(邦題 ワイルダーのテクニカル分析入門) 」の中でRSIを発表した他、パラボリック、ボラティリティ・インデックス、DMI、ADX、ATRなど複数のテクニカルを用いた手法を記しています。
J.W.ワイルダー氏は、著書の中で、RSIについて、以下のように述べています。

”For the first calculation of the Relative Strength Index, RSI, we need the previous 14 day’s close prices. ”
(訳:RSIの最初の計算には14日間の終値が必要)

2-1. RSIの初期設定が14である理由

日柄を数える

一目均衡表には「変化日」と言われるものがあり、簡単に説明すると 「押しや戻りが完了して、新しい潮目が出る場所だから気をつけてね」 というものです。

その変化日が 「9」「17」「26」 なのです。
一方の、RSIの設定は 「9」「14」「28」 となっており、非常に似ていることに気付きますよね?

3. (比較)RSIの期間を変えてチャートに反映してみる

3-1. RSIの概要のおさらい

RSIが9の場合のチャート

RSIが14の場合

RSIが28のチャート

RSIが50のチャート

RSIのタッチした回数表

4. RSIの期間設定によってチャートが変わるカラクリとは?

4-1. RSIの計算式とは?

RSI計算式

この式の中で大事なのは、 「動いた値幅」 です。動いた値幅を計算するために「RS」を求めていますが、「前日」と比較して「当日」が上回っているか、下回っているか、そしてその大きさにより「RS」の値が大きく左右されます。

RSIの値幅の計測

数式にすると難しく神秘的に見えますが、簡単に言うと 指定した期間で上げた値幅の平均と、下げた値幅を平均を比べて買いと売りとドッチが強いのか? を比べているだけの話なんです。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる