Ccmmutty logo
Commutty IT
4 min read

Python(TA-Lib)で株価のテクニカル分析(その2) モメンタム、RSI、ストキャスティクスを算出する

https://cdn.magicode.io/media/notebox/ea4887af-05ce-4206-879d-b2d7f299a348.jpeg
前の記事で、移動平均とMACDを算出し、ロウソクチャートと併せて表示しました。
今回は、以下の3つの指標を算出し可視化したいと思います。
  • モメンタム
  • RSI(相対力指数)
  • ストキャスティクス・オシレーター 今回も前回に引き続き colab にて、TA-Lib を使っていきたいと思います。
    TA-Lib のインストール方法などは前の記事を参照ください。
また、使用するデータ nikkei225 は2021年1月から2022年4月の日経平均株価です。
python
nikkei225

High Low Open Close Volume Adj Close
Date
2021-01-04 27602.109375 27042.320312 27575.570312 27258.380859 51500000 27258.380859
2021-01-05 27279.779297 27073.460938 27151.380859 27158.630859 55000000 27158.630859
2021-01-06 27196.400391 27002.179688 27102.849609 27055.939453 72700000 27055.939453
2021-01-07 27624.730469 27340.460938 27340.460938 27490.130859 98900000 27490.130859
2021-01-08 28139.029297 27667.750000 27720.140625 28139.029297 84900000 28139.029297
... ... ... ... ... ... ...
2022-04-22 27205.830078 26904.380859 27197.800781 27105.259766 58500000 27105.259766
2022-04-25 26764.480469 26487.839844 26692.480469 26590.779297 62700000 26590.779297
2022-04-26 26808.990234 26592.990234 26743.210938 26700.109375 64300000 26700.109375
2022-04-27 26406.619141 26051.039062 26313.140625 26386.630859 97300000 26386.630859
2022-04-28 26876.949219 26348.359375 26430.279297 26847.900391 86700000 26847.900391

324 rows × 6 columns

モメンタム

モメンタムはその名の通りで、トレンドの勢いを図るために使われる指標です。
詳細については割愛しますが、知りたい方は IG証券の解説記事をご参照ください。
TA-Lib を使うと以下の様に算出できます。
import talib as ta
mom = ta.MOM(nikkei225.Close)
グラフにしてみます。
import plotly.graph_objects as go
from plotly.offline import iplot 
plotly.offline.iplot(fig)

fig = go.Figure(go.Scatter(x=mom.index ,y=mom, name= 'Momentum',))

iplot(fig)

RSI(相対力指数)

買われすぎや売られすぎの判断に使われる指数です。
RSI が70を以上で買われすぎ、30以下で売られすぎなどと判断されたりします。
詳細はau じぶん銀行のチャートの見方をご参照ください。
TA-Lib を使うと以下の様に算出できます。
今回は、算出期間を9日と14日で算出します。
rsi9 = ta.RSI(nikkei225.Close, timeperiod=9)
rsi14 = ta.RSI(nikkei225.Close, timeperiod=14)
グラフにしてみます。
fig = go.Figure(go.Scatter(x=rsi9.index ,y=rsi9, name= 'RSI9',))
fig.add_trace(go.Scatter(x=rsi14.index ,y=rsi14, name= 'RSI14', ))
iplot(fig)

ストキャスティクス・オシレーター

ストキャスティクスも RSI と同様に買われすぎや売られすぎの判断に使われる指数です。
ざっくりストキャスティクスが80を以上で買われすぎ、20以下で売られすぎなどと判断されたりします。
ストキャスティクスは
では TA-Lib を使い %K , %D, Slow%D を算出します。
%K , %DSTOCHF を、 Slow%DSTOCH を使います。
fast_k, fast_d = ta.STOCHF(nikkei225.High, nikkei225.Low, nikkei225.Close, fastk_period=5, fastd_period=3)
slow_k, slow_d = ta.STOCH(nikkei225.High, nikkei225.Low, nikkei225.Close, fastk_period=5, slowk_period=3, slowd_period=3)
グラフにしてみます。
fig = go.Figure(go.Scatter(x=fast_k.index ,y=fast_k, name= '%K', ))
fig.add_trace(go.Scatter(x=fast_d.index ,y=fast_d, name= '%D', ))
fig.add_trace(go.Scatter(x=slow_d.index ,y=slow_d, name= 'Slow%D',))

iplot(fig)
今回は、以下の3つの指標を算出し可視化しました。
  • モメンタム
  • RSI(相対力指数)
  • ストキャスティクス・オシレーター 次回はまた別の指標を算出・可視化したいと思います。

Discussion

コメントにはログインが必要です。