pythonのpandasで株価情報を取得してplotlyでローソクチャートを描く方法
pythonを使って株価取得からローソクチャート図作成までのメモ。
超簡単なのですぐにできるはず。
今回はplotlyを使って書いて見た。が、ドキュメントが古いらしく最新の説明が少なかったのであとでmatplotlibで書き直す予定。
plotlyのドキュメント→Python Candlestick Charts | plotly
まずは必要なライブラリーをインポート。
import pandas as pd from pandas import Series, DataFrame import numpy as np %matplotlib inline
pandasのdatareaderを使って株価のデータフレームを作る。
今回は株価取得のAPIとしてIEXを使ったがなんでもいいと思う。yahooやらgoogleやらは株価取得のAPIが使えなくなってる?的な記事をちらほら見た。datareaderの書き方はこちらにあるが、下のコードを真似すればいいと思う。今回はアップルの株価を取得しているが、銘柄の名前を入れれば(米国株ならなんでも出てくる。ちなみに最長取得期間は5年なので長期的な株価分析には使えないだろう。
import pandas_datareader.data as web from datetime import datetime start = datetime(2018, 11, 9) end = datetime(2019, 1, 5) f = web.DataReader('AAPL', 'iex', start, end) f = f.reset_index()
作ったデータフレームからろうそくチャートを作成。
plotlyの情報少なくて下のコードの書き方しか分からなかったが、一応目的は達成した。
# plotly モジュール from plotly.offline import init_notebook_mode, iplot from plotly import figure_factory as FF # Jupyter notebook用設定 init_notebook_mode(connected=True) # ローソクチャートの設定 fig = FF.create_candlestick(f.open, f.high, f.low, f.close, dates=f.date) iplot(fig)
output>
資産運用に興味あるエンジニア必見↓
dorei-kaiho.hatenablog.com