さて、米国ETFの分配金を受け取ることができる時期ですね。
今期も分配金が増えていそうでありがたいです。(前年同時期比較)
今回は、分配金情報を取得し増配率を計算するpythonコードをchatGPTに作成してもらおうかと思います。
コードとしては簡単ですが、プログラミングに慣れていない人からすると有り難いかもしれません。
- 実現したいこと:VOOの分配金情報の取得と増配率の計算
- chatGPTにpythonコード作成を依頼してみる
- VOOの今期(2023年3月期)の分配金と増配率は!?
- Google Colaboratoryを利用してpythonコードを実行してみる
- まとめ
実現したいこと:VOOの分配金情報の取得と増配率の計算
題材として、私が保有している VOO:Vanguard S&P 500 ETF を利用したいと思います。
非常に有名なETFで、米国のS&P500指数に連動するETFです。
年に4回(3,6,9,12月)分配金が支払われます。VOOは株価指数の成長に期待しているわけですが、合わせて分配金も増えていくことも多いです。非常に優秀な商品だと思います。
chatGPTにpythonコード作成を依頼してみる
VOOの情報をYahoo Financeから取得する
よし、お願いしてみましょう。まずはVOOの情報を取得するところからです。
特にソースに関して指定しなければ、chatGPTはYahoo Financeから情報を取得するようです。今回の用途としては充分でしょう。
import yfinance as yf # vooのティッカーシンボルを設定 symbol = "VOO" # Yahoo Financeからデータを取得 stock = yf.Ticker(symbol) # 分配金履歴を取得 dividend_history = stock.dividends # 分配金履歴を出力 dividend_history.tail()
出力結果は以下の通り。
Date 2022-03-24 00:00:00-04:00 1.374 2022-06-29 00:00:00-04:00 1.432 2022-09-28 00:00:00-04:00 1.469 2022-12-20 00:00:00-05:00 1.672 2023-03-24 00:00:00-04:00 1.487 Name: Dividends, dtype: float64
増配率の計算
分配金の情報が取得できましたので、増配率を計算します。
import yfinance as yf import pandas as pd # vooのティッカーシンボルを設定 symbol = "VOO" # Yahoo Financeからデータを取得 stock = yf.Ticker(symbol) # 分配金履歴を取得 dividend_history = stock.dividends # 分配金の合計を計算 total_dividends = pd.Series(dividend_history).sum() # 増配率を計算 current_year_dividend = dividend_history[-1] # 現在の年度の分配金 last_year_dividend = dividend_history[-5] # 前年の分配金(過去5四半期の平均) dividend_growth_rate = (current_year_dividend / last_year_dividend - 1) * 100 # 結果を出力 print("Total dividends: ${:.2f}".format(total_dividends)) print("Dividend growth rate from last year: {:.2f}%".format(dividend_growth_rate))
あー、これだと直近1回分の増配率だけ計算していますね。このあたりは正確に依頼をする必要がありますね。
というわけで修正を依頼します。以下、2回くらいやり取りをして無事にコードが完成しました。
2回目のやり取りですが、最初forループでリストに増配率を格納するコードが提示されました。pandasを利用した方がコード量が減りますし、扱いやすいですので修正してもらいました。
最終的に作成してもらったコード
で、作成されたコードがこちらです。
import yfinance as yf import pandas as pd # vooのティッカーシンボルを設定 symbol = "VOO" # Yahoo Financeからデータを取得 stock = yf.Ticker(symbol) # 分配金履歴を取得 dividend_history = stock.dividends # DataFrameに変換して、shiftを使って前年同四半期の分配金を取得 df = pd.DataFrame(dividend_history, columns=["Dividends"]) df["Last Year Dividends"] = df["Dividends"].shift(4) # 増配率を計算 df["Growth Rate"] = (df["Dividends"] / df["Last Year Dividends"] - 1) * 100 df["Growth Rate"].tail()
出力結果は以下の通り。
Date 2022-03-24 00:00:00-04:00 8.788599 2022-06-29 00:00:00-04:00 7.426857 2022-09-28 00:00:00-04:00 12.308869 2022-12-20 00:00:00-05:00 9.067189 2023-03-24 00:00:00-04:00 8.224163 Name: Growth Rate, dtype: float64
VOOの今期(2023年3月期)の分配金と増配率は!?
ということで、chatGPTにpythonコードを作成してもらいました。
少しchatGPTへの依頼の仕方に注意が必要ですが、簡単にコードを作成してくれます。
出力結果から明らかですが、今回は+8.2%の増配になっています。(前年同時期比較です)
分配金も増えておりいい感じです!
Google Colaboratoryを利用してpythonコードを実行してみる
ちなみにpythonの実行環境は「Google Colab」というサービスを利用しています。
Jupyter NotebookをベースとしたGoogleのサービスです。Googleアカウントがあれば無料で利用でき、作成したコードもGoogle Driveに保存しておくことができるのでどこからでも利用できて便利ですよ。
まとめ
ということでpythonコードをchatGPTを利用して作成し、米国ETFの分配金情報を取得してみました。
同じ要領で、分配金以外の分析も可能ですので色々と利用方法を考えてみると面白いかもしれません。