外国株式の株価データを触ってみたいなぁとおもい、やってみたので記録に残します。
知人が使っているのをみかけ、yfinanceのパッケージをいれてみました。
参考ページは
Yahoo FinanceAPIを使用したPythonの無料株式データ
Yahoo Finance APIとは何ですか?Yahoo Financeは、財務ニュース、株価に関するデータ、プレスリリース、財務レポートを提供するメディアプラットフォームです。また、YahooFinanceが提供するすべてのデータは無料です。
yfinance
Download market data from Yahoo! Finance API
とりあえず、pipでインストール
$pip install yfinance
公式ドキュメントを見ながら、以下で簡単にデータが取ってこれるらしい。
import yfinance as yf
data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30")
私は、S&P500のデータがほしいので、銘柄を書き換えて、period optionも変えて、以下とした。
import yfinance as yf
data = yf.download("^GSPC", period='1d', start='1990-01-01', end='2020-11-30')
すると、以下のDataframeが得られる。
このDataframeをmatplotlibで図表にプロットしていく。
流れは
・終値でグラフを作成するので、終値だけのSeriesを抽出する
・グラフ描写
コードは以下の通り。
#グラフ用にSeriesを抽出
sp500 = data['Close'].rename('GSPC')
#グラフ描写
import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.subplot(111)
ax.plot(sp500, label='GSPC')
ax.set_yscale('log')
ax.legend()
fig.show()
最終的にきれいにしたのが、以下の通り。
import yfinance as yf
import matplotlib
import matplotlib.pyplot as plt
#データダウンロード
data = yf.download("^GSPC", period='1d', start='1990-01-01', end='2020-11-30')
#グラフ用にSeriesを抽出
sp500 = data['Close'].rename('GSPC')
#グラフ描写
fig = plt.figure()
ax = plt.subplot(111)
ax.plot(sp500, label='GSPC')
ax.set_yscale('log')
#ここでは片対数にしている。
ax.legend()
fig.show()
以下のようなグラフを作成できた。
コメント