今週の日経平均株価は、週初めの 8 月 5 日(月)は 4,451 円安と歴史的大暴落。この反動で翌 6 日(火)は 3,217 円高と、これまた歴代最大の上げ幅。その後も振れ幅が大きく不安定な値動きが続きました。
テクニカル分析というと、証券会社が提供するツールに依存していて、個別に分析したいテーマのみ、自分で計算(プログラミング)していました。
しかし、このような大きな変化を経験すると、自分でもひととおり、一般的なテクニカル分析というものをできるようにして、どんな変化が起きたのかを自分なりにレビューして、今後の戦略を立てるための一助にしたいと思うようになりました。
今回は、取引をしながら聞いているラジオ日経の「マーケットプレス」でよく紹介されているモメンタムおよびボリンジャーバンドをローソク足チャートに追加します。
今回のテーマ
- mplfinance で、日経平均株価の日足データのローソク足チャートを作成し、モメンタムおよびボリンジャーバンドを追加します。
算出方法は、参考サイト [1] [2] のほぼ丸写しになってしまっているので、備忘録ということで紹介させていただきます。
下記の OS 環境で動作確認をしています。
RHEL 9.4 | x86_64 | |
Python | 3.12.1 | |
jupyterlab | 4.2.4 | |
mplfinance | 0.12.10b0 | |
yfinance | 0.2.41 |
以下の作業は JupyterLab 上でおこなっています。
まず、必要なパッケージをインポートします。
import mplfinance as mpf import yfinance as yf
日経平均株価の yf.Ticker インスタンスを生成します。
symbol = '^N225' ticker = yf.Ticker(symbol)
過去6ヶ月の日足データを取得します。
df = ticker.history(period='6mo') df
ローソク足チャートと出来高、モメンタム
# モメンタムの計算 period = 20 df['momentum'] = df['Close'] - df['Close'].shift(period) apd_roscillator = [ mpf.make_addplot( df['momentum'], ylabel='Momentum', color='b', width=0.75, panel=2, ) ] mpf.plot( df, type='candle', style='yahoo', mav=(5, 25, 75), volume=True, addplot=apd_roscillator, title=symbol, figsize=(12, 6), tight_layout=True, #savefig=dict(fname='n225_momentum.jpeg', dpi=100) )
ローソク足チャートとボリンジャーバンド
# ボリンジャーバンド period = 20 r = df['Close'].rolling(period) df['upper3'] = r.mean() + 3 * r.std() df['upper2'] = r.mean() + 2 * r.std() df['upper1'] = r.mean() + 1 * r.std() df['mean'] = r.mean() df['lower1'] = r.mean() - 1 * r.std() df['lower2'] = r.mean() - 2 * r.std() df['lower3'] = r.mean() - 3 * r.std() df_upper3_max=df['upper3'].max() + 10 df_lower3_min=df['lower3'].min() - 10 apd_oscilator = [ mpf.make_addplot(df[['upper3', 'upper2', 'upper1','mean', 'lower1', 'lower2', 'lower3']], width=0.75) ] mpf.plot( df, type='candle', style='yahoo', volume=True, title=symbol, addplot=apd_oscilator, ylim=(df_lower3_min, df_upper3_max), figsize=(12, 5), tight_layout=True, #savefig=dict(fname='n225_bollinger-bands.jpeg', dpi=100) )
今後も、役に立ちそうな分析方法を、備忘録として紹介していく予定です。
参考サイト
- 初心者でもわかる!Pythonでのモメンタム指標の活用方法 - メカタナブログ [2023-04-29]
- 【ボリンジャーバンド】Pythonでの実装方法とコードを紹介 - メカタナブログ [2023-03-06]
にほんブログ村
#オープンソース
0 件のコメント:
コメントを投稿