▶ Pythonで株の分析をするための環境構築がまだの方は以下の記事をどうぞ
▶ PythonでWebページサービスから株価データを取得する方法は以下をどうぞ
はじめに
株価のデータ分析をする際に「ローソク足チャート」は重要な分析ツールの一つです。「ローソク足チャート」は、株価の始値、高値、安値、終値を表す四本値を使って、時系列にそって株価の動きを表現するチャートです。「ローソク足チャート」は、株価の傾向を把握するために非常に有用です。今回は「ローソク足チャート」の描画方法について基本から解説します。
環境
- Windows11
- Python 3.9.7
- pandas 1.5.0
- numpy: 1.23.3
- matplotlib: 3.6.1
ローソク足チャートを描画する
ライブラリのインストール
「ローソク足チャート」を描く際にはmplfinanceというライブラリを利用します。このライブラリはOHLCV(始値/高値/安値/終値/出来高)形式のデータを可視化することができます。pipでこのライブラリをインストールしましょう。
▶ Pythonで株の分析をするための環境構築はこちらの記事にあります。
ローソク足チャートの描画
さっそく、ローソク足チャートを描画してみましょう。簡単なので株価データの取得するところからやってみましょう。
# ライブラリのインポート
import japanize_matplotlib
import mplfinance as mpf
import pandas as pd
import pandas_datareader.data as pdr
# データの取得
df_3397 = pdr.DataReader('3397.JP','stooq').sort_index()
df_3397.head()
うまくデータが取れていますね。7行目のsort_index()はインデックスでソートするメソッドです。ここではインデックスで昇順としています。
▶ PythonでWebページサービスから株価データを取得する方法は以下をどうぞ
では、「ローソク足チャート」を描いていきましょう。まずは書式を確認します。
mpf.plot()にデータフレームを指定するだけです。optionの部分は実際に描きながらみていきましょう。
# fontfamilyの設定(日本語表示できるようにしています)
cs = mpf.make_mpf_style(rc={"font.family":'IPAexGothic'})
# ローソク足チャートの描画
mpf.plot(df_3397.tail(100), type='candle',figratio=(2,1),style=cs,
title='トリドールホールディングス:ローソク足チャート',
xrotation=90)
はじめにタイトルやxラベルに日本語が使えるようにfontfamilyの設定をしています。5,6行目がローソク足チャートの描画です。df_3397tail(100)の部分がデータフレームですね。今回は直近100日間の部分だけ抽出して描いています。
- typeでチャートの種類を指定しています。「ローソク足チャート」の場合は「candle」を指定します。
- figratioはチャートの横:縦の比を指定します。今回は横:縦=2:1としています。
- styleで細かな設定をすることができますが、ここでは日本語が使えるようにfontfamilyの設定のみおこなっています。styleについては以下のブログが参考になります。
- titleはこのローソク足チャートのタイトルを指定します。
- xrotationはxラベルの表示を回転することができます。ここでは90度を指定します。
このようにデータがあれば、mplfinanceライブラリで簡単に「ローソク足チャート」を描画することができます。このローソク足チャートに「出来高」も合わせて描画してみましょう。
出来高も合わせて描画する
実はめっちゃ簡単に出来高を表示することができます。先ほどのコードにvolume=Trueを指定するだけです。
cs = mpf.make_mpf_style(rc={"font.family":'IPAexGothic'})
mpf.plot(df_3397.tail(100), type='candle',figratio=(2,1),style=cs,
title='トリドールホールディングス:ローソク足チャート',
xrotation=90,
volume=True)
簡単ですね!出来高が株価の予測の参考になるときもあります。常に合わせて表示しておくとよいでしょう。
まとめ
今回は株価をローソク足チャートで描く方法をご紹介しました。普段、証券会社のサイトで見るのはこのチャートですね。折れ線による時系列の傾向だけでなく、データの取得単位(日だったり集だったり)での株価の上昇下降がひとめでわかりますね。
コメント