皆さんこんにちは!SEふじたけです。
前回の記事では、「yahoo_finance_api2」を使用する事でLINE証券のグループA銘柄の始値・終値・高値・安値を取得しました。
一覧で見られる事を目的にしておりますので、今回は選択した銘柄の日足チャートを表示していこうかと思います。
ライブラリ「matplotlib」で簡単に描画しよう!
Pythonにはグラフを描画するライブラリがいくつか提供されております。
今回は簡単に「matplotlib」を活用して描画していこうかと思います。
「matplotlib」って何?
グラフを描画する際によく使われているライブラリです。Pythonの参考書とかでもよく使われます。
引数を指定するだけで簡単にグラフを描画してくれます。
以下の公式サイト様に使用例が色々書いてあります。
なんと3次元の描画までいけるそうです。難易度は高いと思いますが。。。
描画に必要な処理も簡単!
今回「yahoo finance API」のデータをcsv出力しましたが、pandas.read_csvにて読み出し、matplotlibで描画します。
import pandas as pd
import matplotlib.pyplot as mplt
import mplfinance as mfin
stock_csv = pd.read_csv(filepath_or_buffer="C:/WorkDir/Python/line_stock/grpA/1332.T.csv", index_col=0, parse_dates=True, encoding="utf-8", delimiter="\t")
frame = pd.DataFrame({'open':stock_csv["open"], 'high':stock_csv["high"], 'low':stock_csv["low"], 'close':stock_csv["close"], 'volume':stock_csv["volume"]})
mfin.plot(frame, type='candle')
列名をopen、high、low、close、volumeで定義すればmatplotlib.plotで自動的に描画してくれます。
plotする際に、type=’candle’で自動的に日足チャートを描画してくれます。
matplotlibのgithubに詳しく説明が記載されています。

![[AI]BOTさん](https://awsgcp.go-cloudpro.com/wp-content/uploads/2020/12/6e9811b92a277141a27037d6ef857498.png)
簡単で便利だね!
更に、styleを指定する事でそれっぽいチャートのデザインに変更できます。
以下のようにstyleを指定すると、、、
mfin.plot(frame, type='candle', style='yahoo')

![[AI]BOTさん](https://awsgcp.go-cloudpro.com/wp-content/uploads/2020/12/6e9811b92a277141a27037d6ef857498.png)
styleは色々な種類があるので、お気に入りのデザインを見つけてね!
出来高を表示するには?
出来高を表示するにはvolumeをtrueに変更します。
mfin.plot(frame, type='candle', style='yahoo', volume=True)
描画した場合、以下のように表示されます。

このように引数を指定するだけで出来高の表示も可能です。
移動平均線を表示するには?
移動平均線を表示するにはmavで平均日数をカンマ区切りで指定します。
下のコードは7日と25日の移動平均線を指定しています。
mfin.plot(frame, type='candle', style='yahoo', volume=True, mav=(7,25))
描画した場合、以下のように表示されます。

描画した図は日数の関係で25日線が途中から表示されております。
カンマ区切りするだけで日数も指定できます。非常に便利!
さいごに
今回は、LINE証券のグループAの銘柄を「yahoo_finance_api2」を使用して出力したcsvファイルを
matplotlibを使用して日足チャートを表示しました。
出来高や移動平均線は引数を指定するだけで表示する事ができます。
非常に簡単ですね!
今後はゴールデンクロスやデッドクロス銘柄を検索できるようにしてみたいです。
最後までお読み頂きありがとうございました。
コメント