本サイトは広告・プロモーションが含まれています
Python

【yfinance】Pythonで米国ETFの価格推移を取得

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の価格データを取得し比較することも可能です。

また取得したデータをグラフ化する際には、seabornmatplotlibなどのグラフ描画ライブラリを活用することで、良い感じのグラフを作成することができます。


最近は日本株の調子が良かったり、今回作成したグラフからわかるようにETFの価格も上昇傾向にあります。

株価が調子が良いと、ついつい持ち金を株に回しがちになるかもしれませんが
ほどほどに楽しみましょう。

それでは。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA