2024年から始まる新NISAの話の追い風もあり、米国のETF(上場投資信託)は、多くの投資家にとって人気の投資対象になっています。
その中でも、米国株式市場全体をトラックするS&P 500指数に連動する「VOO(Vanguard S&P 500 ETF)」は特に人気なETFですよね。
今回はそんな人気ETFである「VOO」の価格推移をPythonで取得し、グラフ化する方法を紹介します。
Pythonコードのティッカーシンボルを変更すれば、
VYMやQQQなどの別のETFの推移も可視化できるので、ぜひ参考にしてみてください。
コード
必要なライブラリのインストール
Pythonのパッケージ管理ツールであるpipを使用して、必要なライブラリ「yfinance」「seaborn」「matplotlib」「japanize_matplotlib(日本語のグラフの場合必要」をインストールします。
pip install yfinance seaborn matplotlib japanize_matplotlib
コードの記述
import yfinance as yf
import seaborn as sns
import matplotlib.pyplot as plt
import japanize_matplotlib
# VOOのデータを取得(2013年からのデータ)
def main():
#ティッカーシンボル設定
voo = yf.Ticker("VOO")
#ドルでデータ取得
voo_data = voo.history(start="2013-01-01", end="2023-07-04")
voo_data.index = voo_data.index.tz_localize(None)
# 日本円での価格データを取得(為替レートのデータも必要)
jpyusd = yf.Ticker("JPY=X")
jpyusd_data = jpyusd.history(start="2013-01-01", end="2023-07-04")
jpyusd_data.index= jpyusd_data.index.tz_localize(None)
# 終値のデータを日本円に換算
merged_data = voo_data.merge(jpyusd_data, how="inner", left_index=True, right_index=True)
closing_prices_jpy = merged_data["Close_x"] * merged_data["Close_y"]
# Seabornのグラフスタイルを設定
sns.set_style("darkgrid")
# # グラフを作成
plt.figure(figsize=(12, 6))
sns.set(font='IPAexGothic')
sns.lineplot(data=closing_prices_jpy)
plt.title("VOOの価格推移")
plt.xlabel("日付")
plt.ylabel("価格(円)")
plt.show()
plt.close()
if __name__=="__main__":
main()
このコードのポイントは2点あります。
タイムゾーン情報の削除
voo_data.index = voo_data.index.tz_localize(None)
jpyusd_data.index= jpyusd_data.index.tz_localize(None)
の2つでタイムゾーン情報を削除してます。
これは、次のデータのマージのために、日付だけ一致させています。
日本円への換算
おそらくこの記事を読んでくださる方は、日本人の方が多いと思うので
ドルではなく日本円に換算してます。
merged_data = voo_data.merge(jpyusd_data, how=”inner”, left_index=True, right_index=True)
closing_prices_jpy = merged_data[“Close_x”] * merged_data[“Close_y”]
でVOOの価格(ドル)に1ドルの円価格を掛け合わせています。
実行できると下のようなグラフが描画できると思います。
おわりに
今回はVOOを例に取り上げさせてもらいましたが、
Pythonのyfinance
パッケージを使用することで、他の米国ETFの価格データを取得し比較することも可能です。
また取得したデータをグラフ化する際には、seaborn
やmatplotlib
などのグラフ描画ライブラリを活用することで、良い感じのグラフを作成することができます。
最近は日本株の調子が良かったり、今回作成したグラフからわかるようにETFの価格も上昇傾向にあります。
株価が調子が良いと、ついつい持ち金を株に回しがちになるかもしれませんが
ほどほどに楽しみましょう。
それでは。