【Python】株価データをローソク足にして移動平均と一緒にプロットしてみる

この記事は約4分で読めます。

 

 

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()

 

 

 

実行するとこんな感じのローソク足と移動平均線がプロットできます。

 

 

 

 

 

 

 

 

 

 

コメント

タイトルとURLをコピーしました