Pandasを使って株価データの取得する
日経平均の株価データの取得にはPandas-datareaderを使用します。仕様や取得できるデータについては詳しくは↓の記事に書いていますので気になる方は参照してください。
#ライブラリをインポート
import pandas_datareader as web
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
%matplotlib inline
import mpl_finance as mpf
#Pandas-datareaderで株価データを取得する
start = '2018-4-1'
end = '2019-4-1'
nikkei=web.DataReader('^N225', 'yahoo', start, end)
nikkei
mplがない場合はpipでインストールしてください。
#Jupyter上でmplのインストールする !pip install git+https://github.com/matplotlib/mpl_finance.git
株価データからローソク足と移動平均線をプロットする
################ローソク足と移動平均をプロットする########
#日経平均の株価データの一部をdfに格納する
df=nikkei[1:30].copy()
#描画範囲を指定する
fig = plt.figure()
fig = plt.figure(figsize=(12, 4))
ax = fig.add_subplot(1, 1, 1)
# candlestickを使ってローソク足をプロットする
mpf.candlestick2_ohlc(ax, df["Open"], df["High"], df["Low"], df["Close"],
width=0.8, colorup="b", colordown="r")
#最初の月曜日のインデックスを取得する
xtick0 = (5-df.index[0].weekday())%5
#X軸のインデックスを平日のみにする
plt.xticks(range(xtick0,len(df),5), [x.strftime('%Y-%m-%d') for x in df.index][xtick0::5])
#終値の移動平均線をプロットする
plt.plot(df['Close'].rolling(5).mean().values,label='rolling(5)')
plt.tight_layout()
#グラフに格子を入れる
plt.grid(which='both')
#凡例を表示する
plt.legend()
#グラフを表示する
plt.show()
実行するとこんな感じのローソク足と移動平均線がプロットできます。




コメント