株価の取得と表示
株価の取得
株価の取得をpandas_datareaderを使って行います。
まずは、必要なモジュールのインポート
import pandas as pd
import pandas_datareader.data as web
import datetime
株価を取得する開始日と終了日を変数に代入します。現在は2020年以降のデータは取得できるようです。
start = datetime.datetime(2000,1,1)
end = datetime.datetime(2021,11,19)
NTT, KDDI, ソフトバンク, 楽天の株価を順番に取得します。
ntt = web.DataReader("9432.T", 'yahoo', start, end)
kddi = web.DataReader("9433.T", 'yahoo', start, end)
softbank = web.DataReader("9984.T",'yahoo',start,end)
rakuten = web.DataReader('4755.T','yahoo',start,end)
データの取り込みの相応の時間がかかるので、今後のためにデータをCSVに保存
ntt.to_csv('NTT_Stock.csv')
kddi.to_csv('KDDI_Stock.csv')
softbank.to_csv('softbank_Stock.csv')
rakuten.to_csv('rakuten_Stock.csv')
データを取り込むとこんな感じ
High(高値), Low(安値), Open(始値), Close(終値), Volumeの数字は、分割が考慮されている値のようです。
Adj Close(調整後終値)は配当も考慮されている金額のようです。
ntt.head()
株価の表示
株価を表示するために、4銘柄の調整後終値を結合します。
adj_close_price = pd.concat([ntt['Adj Close'],kddi['Adj Close'],softbank['Adj Close'],rakuten['Adj Close']],axis=1)
列名がすべて同じになってしまうので、銘柄名に変更します。
adj_close_price.columns = ['NTT','KDDI','ソフトバンク','楽天']
adj_close_price
グラフを表示します。
日本語で表示するために必要なライブラリも取り込んでます。
こうやって見るとソフトバンクは大きく伸びていることがわかりますね。配当金が大きいことも関連していると思いますが。楽天はこうやって見ると大して伸びてない。
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
from matplotlib import rcParams
from matplotlib import cm
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meirio', 'Takao', 'IPAexGothic', 'IPAPGothic', 'VL PGothic', 'Noto Sans CJK JP']
import matplotlib.dates as dates
adj_close_price.plot(figsize=(12,4))
fig.autofmt_xdate()
plt.tight_layout()
NTTの終値と調整後終値の推移をグラフ化
NTTは後述の通り、何度か株式分割していますが、終値がその時に大きく変動していないので、先に述べた通り、分割に関しては、終値等の値に反映されているようです。
ntt[['Close','Adj Close']].plot(figsize=(12,4))
fig.autofmt_xdate()
plt.tight_layout()
その他のデータ取得
yahoo-acitonsをパラメータで指定すれば、株式分割や配当の情報も取得できます。
ntt_action = web.DataReader('9432.T','yahoo-actions',start,end)
ntt_action
yahoo-dividendsをパラメータで指定すれば、配当の情報だけ取得できます。
rakuten = web.DataReader('9432.T','yahoo-dividends',start,end)
rakuten
ディスカッション
コメント一覧
まだ、コメントがありません