アンゴウのPython投資でFIREへ

元公務員がPythonと投資を学び、FIRE(早期リタイア)を目指しています。

MENU

【初級】Pythonでダウ30の配当利回りとパフォーマンスの関係を表した散布図を取得する方法について(ChatGPTにも聞いていみた)

どうもアンゴウです。

 

本日は、Pythonでダウ30の配当利回りとパフォーマンスの関係を表した散布図を取得する方法について説明します。今日もChatGPTにはプログラムの評価をしてもらいます。

 

ちなみに、まだ始める準備ができていない人は↓から

angousan.hatenablog.com

では、先に手っ取り早くコードを知りたい方はこちらから

このコードをコピーしてPythonに貼り付けましょう!


#ライブラリのインポート
import pandas as pd
import pandas_datareader as web
import plotly.express as px
import yfinance as yf
import plotly.graph_objects as go
import plotly.io as pio
pio.renderers.default = 'browser'



#ダウ平均のティッカーコードを取得
ticker_list = pd.read_html('https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average')
#ティッカーコードのみを抽出
tickers = ticker_list[1].iloc[:, 2]
#カラム名のチェック
web.get_quote_yahoo(tickers).columns


# Yahoo!finance USから株価のデータ(終値)を取得
df = pd.DataFrame()
for i in tickers:
    df[i] = yf.download(i, start = '2022-12-01')['Close']

#パフォーマンスの計算
df_performance = (df/df.iloc[0]-1)*100
#最後のパフォーマンスデータを取得
performance = round(df_performance.iloc[-1],ndigits=2)
#取得したパフォーマンスデータを降順でソート
performance.sort_values(ascending = False, inplace=True)

#配当利回りの計算
df_div =round(web.get_quote_yahoo(tickers)['trailingAnnualDividendYield']*100, ndigits=2)
df_div = df_div.sort_values(ascending = False)

#データの統合
df_all = pd.merge(right=df_div, left=performance, right_on=df_div.index, left_on=performance.index)

#カラム名の設定
df_all.columns = ('Tickers', 'Performance(%)', 'Div_Yield(%)') 
#降順でソート(配当利回り順)
df_all.sort_values(by = 'Div_Yield(%)', ascending = False)

fig = px.scatter(df_all, x="Performance(%)", y="Div_Yield(%)", color = 'Div_Yield(%)',
                 size = 'Div_Yield(%)', text="Tickers",trendline="ols")
fig.update_traces(textposition='top center')
fig.update_layout(title_text="Dow Jones Industrial Average Performance vs. Dividend Yield")
fig.show()

結果はこちら↓(プラウザに表示)

このように”利回り”と”パフォーマンス”の散布図を取得できました。

 

では、チャートを見ていきます。

2022年12月1日を起点に現在までの状況を見ると、配当はないがボーイング(BA)のパフォーマンスがいいことがわかります。逆にパフォーマンスが悪いのはアムジェン(AMGN)ですが、配当は3%で高配当銘柄の投資先としては高値掴みをする形とはならないので投資先としては要チェックとなります。

 

僕は、FIREを目指すために、今後の資産形成の一つの戦略として高配当銘柄には積極的に投資をしていく予定です。

 

このプログラムを使えば高配当銘柄の投資先のアイデアの一つになるのではないと思います。もしかすると他の分析方法にも使えるかもしれないので今後も研究いたします。

 

今回は、ここまでの説明になります。

では、最後にこのプログラムをChatGPTに聞いてみます。

ChatGPTより

このコードは、Pythonを使用してDow Jones Industrial Average(ダウ平均株価)の各銘柄の株価のパフォーマンスと配当利回りを取得し、それらのデータを統合して散布図を作成するものです。散布図は、株価のパフォーマンスと配当利回りの関係を視覚的に示すものです。

具体的には、まず必要なライブラリをインポートします。その後、ダウ平均の各銘柄のティッカーコードを取得し、Yahoo! finance USから株価のデータ(終値)を取得します。次に、パフォーマンスと配当利回りのデータをそれぞれ計算し、統合して散布図を作成します。

散布図は、株価のパフォーマンスが高く、かつ配当利回りが高い銘柄が右上に位置することを示しています。また、各データポイントには、銘柄のティッカーコードが表示されます。

 

ChatGPTがいい感じにまとめてくれています。

 

それでは、最後まで読んでいただきありがとうございました。

 

投資の勉強に活用中↓(無料体験有です)

amzn.to

オススメ本紹介

アマゾン

楽天