pythonでmplfinanceを使用して株価のチャートを作成する
目的
株価チャートを手元で作成します. mplfinanceを使用します. 基本的には以下にすべて記載されているが,株価のチャートの作成に絞って本記事に記載しています.末尾にすべてまとめたコードを載せています.
必要なもの
- pandas
- mplfinance
- matplotlib.pyplot
mplfinanceのインストール
以下をコマンドプロンプトなどに記入
pip install --upgrade mplfinance
株価チャートの作成
モジュールのインポート
import pandas as pd import mplfinance as mpf
株価の取得と読み込み
株価のデータを取得する.取得方法はググってください.スクレイピングが禁止されているサイトもあるので注意してください. 例として,以下のサイトで取得した豊田自動織機の2019年度csvファイルを使用します.(更新2019年で止まってしまっていますが)
6201 (株)豊田自動織機 2019年度の株価データ・株価データ、CSVダウンロード | 株式投資メモ・株価データベース
ファイル名は「6201_2019.csv」となっています.以下のコードで読み込みます. 一行目に余分な情報があるため,header = 1として読み飛ばしています engine="python"は文字コードエラーが表示されたので入力しています.
data = pd.read_csv('6201_2019.csv',header = 1,engine="python")
以下のように読み込まれます.
株価のデータ整形
データ整形を行います.mplfinanceを使用するためにはcolumn名の「始値,高値,安値,終値,出来高」を英語で「"Open,High,Low,Close,Volume」とし,indexに日付を指定する必要があります. カラム名はこのまま記入してください.これが重要です. 以下のコードで上記の処理を行います.
#カラム名を英語に変更 data.columns = ["date","Open","High","Low","Close","Volume",""] #必要なカラムのみ取り出し data = data[["date","Open","High","Low","Close","Volume"]] #dateをdatetime型に変更 data["date"] = pd.to_datetime(data["date"]) #dateをindex名に data = data.set_index('date')
グラフ化
ローソクチャートは以下のコードで表記できます.
mpf.plot(data)
下のようなグラフが作成されます.
拡大するとちゃんとローソク足になっています.
売買株高の追加
plotのオプションでvolume=Trueを追加するだけです.
mpf.plot(data,volume = True,type = 'candle')
移動平均線の追加
mav = (5,20,50)というように移動平均を取る期間を指定すれば良いです.
mpf.plot(data,volume = True,type = 'candle',mav = (5,20,50))
以上で株価チャートの作成が終わりました.
ソースコード
以下においています.