Pythonコード集 マーケット分析の記事

【Pythonコード集】配当利回りとEPS成長率で有望な銘柄をピックアップしてみよう! 前編

ーこの記事は5分で読めますー

ーこの記事は2022年2月25日に一部の内容更新しましたー

興味深い2つの記事

ジェイは仕事柄、マーケットに関する記事を色々と読んでいます。

その中で、最近気になった2つの記事があります。

2つの記事

  • WSJ:高配当株に投資殺到 荒れ相場の影で
  • 日経新聞:逆行高の高配当株ファンド ディフェンシブ、本領発揮

上の記事で共通するキーワードはー

キーワード

高配当株

です。

 

先が読めない

なぜ今、日米の株式市場では高配当株に資金が殺到しているのでしょうか?

その答えのひとつがー

キーワード

今のマーケットが先の読めない状況に陥っている

からだと思われます。

落としどことろが見えないロシアーウクライナ情勢、100ドルへ到達した原油価格、上昇基調が続くコモディティ市場、これらの状況でも米連邦準備制度理事会(FRB)は金融引き締めを加速させる可能性がある...

これほど不透明な要因が重なる年は珍しいです。

このような状況を考えるならば、

キャピタルゲイン(値上がりによる利益)が得られない可能性が高い...

ならば、せめてインカムゲイン(配当)だけでも得たい...

と考える投資家が増えることは自然なことです。

そしてこのような投資家の心理が、今の高配当投資の土台となっているのでしょう。

 

テーマ

そこで今回は、ダウ平均に採用されている銘柄の中から高配当株を厳選してみます。

条件が高配当だけではつまらないので、前回の記事で取り上げたEPSの成長も条件に加えて有望な銘柄をピックアップしてみます。

もちろんプログラミング言語の『Python』を使って。

今回のテーマ

Pythonで高配当かつEPSの成長が期待できる銘柄をピックアップ

なお今回の記事は、Pythonコードの紹介と分析の結果にフォーカスします。

次回の記事で、今回ご紹介したコードを詳しく解説します。

 

意外な結果?

個人的には『お!この銘柄か!?』という結果でした。

ぜひ最後までご覧ください!


Pythonを学ぶなら

・独学でガンガンやれる人は『Udemy』へ
 初心者の方におすすめのコースがこちら おすすめ度
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
Pythonに興味がある人、学ぶことをためらっている人には、このコースをおすすめします。
タイトルにあるとおり、現役のエンジニアの方がPythonの基礎から応用までを丁寧に教えてくれるコースです。
このコースを学習しながら、同時にアウトプットの練習もしていけば、効率よくプログラミングのスキルをアップさせることができます。

 

・独学が苦手な人は『テックアカデミー』へ
 まずは無料カウンセリングで適正を確かめよう おすすめ度
無料キャリアカウンセリング
独学が苦手な人は、迷わずプログラミングスクールに行くことをおすすめします。
メンターが的確に指導してくれるからです。
しかしスクールは、人によって合う合わないがあります。
まずは、無料カウンセリングのあるテックアカデミーで『プログラミングの学習ってこんな感じか』ということを体感してください。

Pythonコース
テックアカデミーのスタイルが自分に合うと思った方は、Pythonコースを受講してください。
このコースでは、Pythonに関するすべての基本が学べます。
学ぶ期間は、学生 / 社会人を問わず4週間(1ヶ月)がおすすめです。
それ以上だと間伸びして、学習するモチベーションが下がる可能性があるからです。

 

・機械学習まで視野に入れているならオンラインPython学習サービス『PyQ』へ
 基本から機械学習まで体系的に学ぼう おすすめ度
オンラインPython学習サービス「PyQ™(パイキュー)」
Udemyと同じく独学でOK!という人は、PyQをおすすめします。
PyQはPythonの基本から統計学、さらには機械学習まで学べる豊富なコースを提供しています。
問題を解く形式で勉強するスタイルなので、インプットとアウトプットのバランスが絶妙なカリキュラムとなっています。

【PyQ】いよいよ、誰でも機械学習を学べる時代へ
Pythonの基本→統計学の順で学んだあと、機会学習にチャレンジすると効率的に『データ分析の何たるか』を学ぶことができます。


今回のサマリー

  • pandasで株価のデータを取得する方法
  • pandasで株価のデータを処理する方法
  • 高配当かつEPS成長が期待できる銘柄のピックアップ
  • 効率的なPythonの学び方について

今回の記事の対象者

こんな方におすすめ

  • 米国株の高配当投資に興味がある人
  • 有望な米高配当銘柄を探している人
  • プログラミング言語『Python』に興味がある人
  • Pythonで株価の分析がしたい人
  • Pythonを学んでみたいけどためらっている人

ピックアップの条件

Pythonで分析を始める前に、まずは銘柄をピックアップする条件を設定しました。

条件

  • 配当利回りが2.5%以上
  • ESP成長率がプラス

配当利回りの条件

配当利回りとは、一株当たりの配当額を株価で割ることで計算されます。

・配当利回りの計算式

どの程度の配当利回りが、高配当のカテゴリーに分類されるのか?については、投資家の考え方によります。

今回はー

配当利回りの条件

配当利回りが2.5%以上

の銘柄を高配当銘柄とします。

ちょっと低い配当利回りですが、今回はあくまでも一例ということでご理解ください。

 

EPS成長率の条件

前回の記事では、過去12ヶ月のEPSと12ヶ月先に予想されるEPSの差分を軸に、有望なバリュー株をピックアップしてみました。

未読の方は、以下のリンク先からご覧ください。

前回の記事:EPS編
第3回:EPS編
【Pythonコード集】第3回 Pythonを使って優良なバリュー株の銘柄を見つけてみよう!EPS編

続きを見る

 

今回は、配当利回り(%)との比較になります。

よってEPSも額($)ではなくー

EPSの条件

成長率を計算して数値のスケールを合わせる

ということをします。

配当利回りとEPS成長率はともに『』で表記されます。

EPSが金額ベース($)だと、配当利回り(%)との差が大きすぎて単位がそろいません。

なので今回は、お互いの単位を揃える=『数値のスケールを合わせる』ために、EPS成長率(%)を計算します。

 

EPS成長率の条件は以下です。

EPS成長率の条件

成長率がプラスの銘柄

この点は、前回の条件と同じです。

 

注意すること

・注意点1
2つの条件が両方とも当てはまらない銘柄、そしてどちらかひとつしか当てはまらない銘柄は、データフレームから削除します。今回は、かなりの銘柄が削除されます。

・注意点2
今回は、Yahoo!finance USが提供しているデータを使います。情報ソースの違いで他のサイトのデータと差異が生じる可能性がある点はご留意ください。

・注意点3
まだ、2022年に更新されていないデータがあります。よって、最新のデータが載っている他のサイトと比べる場合、配当利回りやEPSの額に差が生じています。

・注意点4
今回の分析結果は、2022年2月22日時点となります。その後の株価の動向により、結果が変わります。

 

条件と注意事項の説明は終わりました。

では、Pythonコードを見てみましょう!

 

Pythonコード

今回は有望な銘柄のピックアップが目的なので、コードの全体像をザッとご紹介します。

コードの全体像

#ライブラリのインポート
import pandas as pd
import pandas_datareader as web
import matplotlib.pyplot as plt

#ダウ平均のティッカーコードを取得
ticker_list = pd.read_html('https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average')

#ティッカーコードのみを抽出
tickers = ticker_list[1].iloc[:, 2]

#配当データを取得
div_data = web.get_quote_yahoo(tickers)[['trailingAnnualDividendRate', 'trailingAnnualDividendYield']]

#見やすくするため、配当利回りのカラムを改めて作成
div_data['Dividend_Yield'] = div_data['trailingAnnualDividendYield']*100

#見やすくした配当利回りのみをピックアップ
div_data = div_data['Dividend_Yield']

#配当利回りが2.5%以下の銘柄(インデックス)を抽出
drop_index = div_data.index[div_data<=2.5]

#配当利回りが2.5%以上の銘柄のみをピックアップ
div_data = div_data.drop(drop_index)

#EPSのデータを取得
eps_data = web.get_quote_yahoo(tickers)[['epsTrailingTwelveMonths', 'epsForward']]

#EPS成長率を計算し、新しいカラムにデータを格納
eps_data['EPS_Growth_Rate'] = ((eps_data.epsForward / eps_data.epsTrailingTwelveMonths - 1) )

#EPS成長率のカラムをピックアップ
eps_data = eps_data['EPS_Growth_Rate']

#EPS成長率がマイナスの銘柄(インデックス)のみを抽出(成長率0%も含む)
drop_index = eps_data.index[eps_data<=0]

#EPS成長率がプラスの銘柄(インデックス)のみをピックアップ
eps_data = eps_data.drop(drop_index)

#データを統合し、NaNとなっている銘柄を削除
#ピックアップされたデータを変数『data』に格納
data = pd.concat([div_data, eps_data], axis=1).dropna()

 

データの確認

上のコードを実行して、結果を確認しましょう。

・配当利回りベースでの結果を表示(降順でソート)

# 配当利回りでソート(降順)
data.sort_values(by = 'Dividend_Yield', ascending=False)

2022年2月22日時点

 

・EPS成長率ベースでの結果を表示(降順でソート)

# EPS成長率でソート(降順)
data.sort_values(by = 'EPS_Growth_Rate', ascending=False)

2022年2月22日時点

 

分析の結果

上の配当利回りのデータとEPS成長率のデータを分析してわかることはー

わかること

アイビーエム(IBM)が共にランクの上位に位置している

ということです。

IBM

・配当利回りベースでの結果(降順でソート)

2022年2月22日時点

 

・EPS成長率ベースでの結果(降順でソート)

2022年2月22日時点

『え?今さらIBM?!』...と思った方もいると思います。

配当利回りは5%超なので、この点はダウ平均の中でもトップクラスのカテゴリーに入ります。

重要なのは、将来も業績を伸ばせるかどうか?です。

この点をEPS成長率で確認すると、IBMのそれは『66%(0.664829)』。

Yahoo!finance USのデータに従うならば、ダウ平均採用銘柄の中でも4番目に高い成長率です。

・ダウ平均採用銘柄のEPS成長率ランク

2022年2月22日時点

しかも、今年の1月24日に発表した四半期決算も売上高とEPSでともに市場予想を上回っています。

高配当銘柄であり、かつ今後も業績の拡大が予想され、ちゃんと決算もクリアしている... 投資の候補として、IBMは最低限の条件をクリアしています。

さらに、2018年からのトレンドを週足チャートで確認すると、100ドルから150ドルを中心としたレンジで安定的に推移しています。

IBMの週足チャート

出所:TradingView 週足(2018年〜)

グロース株のような急騰は期待できないけれど、グロース株のように暴落するリスクも低い。

株価が安定的に推移している銘柄は、高配当投資にとって魅力的です。

意外な伏兵、現る!といった感じですね(ジェイの個人的な感想)。

 

またこの2銘柄がピックアップ

そして、さらに興味深い銘柄が2つあります。

2つの銘柄

・アムジェン(AMGN)
・メルク(MRK)

です。

2月12日の分析記事でも登場したこの2銘柄が、再びピックアップされました!

・配当利回りベースでの結果(降順でソート)

2022年2月22日時点

 

・EPS成長率ベースでの結果(降順でソート)

2022年2月22日時点

今の状況を考えるならば

現在、短期的なリスク要因は、いうまでもなく緊迫化するロシア−ウクライナ情勢です。

しかし、中長期でのリスク要因はー

中長期のリスク要因

・インフレの高止まり
・行き過ぎた中銀の金融引き締め政策

です。

これらは、いずれも景気の先行き不透明感を高める要因として意識しておく必要があります。

だとするならば、景気の動向に左右されないー

景気に左右されない銘柄

ディフェンシブセクターのヘルスケア銘柄

をポートフォリオに組み込むことは、2022年を乗り切る投資戦略のひとつだとジェイは考えています。

 

Pythonを効率よく学ぶ方法

Pythonって便利だな!

私もPythonを学んでみたい!

今回の記事を読んでそう思われた方は、以下のリンク先をご覧ください。

Pythonを学ぶメリットがわかります。

そして、『これがPythonを効率的に学ぶ方法だ!』と自信をもっておすすめする学習方法について解説しています。

本気でPythonを学びたいなら

Pythonを学ぼう


独学OKの人は迷わずUdemyで学ぼう!

Udemyのサイトより

以下では、オンライン学習プラットフォームの『Udemy』が提供している数多くのPythonコースの中でも、実際にジェイが受講して『これはよかった!』と思うコースをピックアップしました。

なおUdemyでは、受講したコースにあなたが満足しない場合、30日以内なら返金を申請することができます。

このため、安心していろんなコースを受講することができます。

ぜひチャレンジしてみてください!

Udemy おすすめのPythonコース ▼
・Pythonの基礎から応用まで一気に学ぶならこのコース おすすめ度
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
この記事の冒頭でも紹介しましたが、Pythonに興味がある人、学ぶことをためらっている人には、このコースをおすすめします。
タイトルにあるとおり、現役のエンジニアの方がPythonの基礎から応用までを丁寧に教えてくれるコースです。
このコースを学習しながら、同時にアウトプットの練習もしていけば、効率よくプログラミングのスキルをアップさせることができます。

 

・Python、ファイナンス、英語を一気に学ぶ ”欲張りコース” おすすめ度
Python for Finance: Investment Fundamentals & Data Analytics
Python、ファイナンスそして英語の力を同時にレベルアップするコースとしては、Udemy最高のクォリティーです。
ジェイもこのコースで学び、今も復習で使っています。
英語ができない?安心してください。このコースには日本語の字幕が付いています。
なので、英語の勉強もできる『欲張りコース』とジェイは思います。

どうしても日本語がいい!という方は、日本語バージョンもありますよ!
世界で8万人が受講:Python for Finance】Pythonを使って学ぶ現代ファイナンス理論と実践


まとめ

まとめ

・pandasを使えばYahoo!finance USから簡単に情報を取得できる
・pandasを使えば簡単にデータの処理ができる
・2つの条件をクリアした銘柄は以下の3つ

3つの銘柄

  • アイビーエム(IBM)
  • アムジェン(AMGN)
  • メルク(MRK)

今回は以上です。

次回は、今回ご紹介したPythonコードの解説編となります。

最後までお読みいただき、ありがとうございました!


注記事項

ジェイの米国株投資ブログ(以下当サイト)に掲載されている記事は、投資の助言を目的としたものではありません。当サイトに掲載されたコンテンツの正確性については、可能な限り注意を払っています。しかし、意図せず誤情報が紛れ込む可能性や情報そのものが古くなっている可能性があり、その正確性を完全に保証するものではありません。
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください

-Pythonコード集, マーケット分析の記事