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()
実行するとこんな感じのローソク足と移動平均線がプロットできます。
コメント