Pandas Yahoo!finance US

【Pythonコード集】第2回 Pythonを使って優良なバリュー株の銘柄を見つけてみよう!

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


止まらないインフレの高進

2022年2月10日に発表された1月のアメリカ消費者物価指数(CPI)は、前年同月比で7.5%上昇しました。

アメリカの消費者物価指数(CPI)

出所:U.S. BUREAU OF LABOR STATISTICS

 

加速するFRBの金融引き締め

インフレの高進を受け短期金融市場では、3月15〜16日の米連邦公開市場委員会(通称FOMC)で連邦準備制度理事会(FRB)が一気に0.5%(50ベーシスポイント)の利上げを強行してくる!ということを、90%以上の確率で織り込んでいます。

FEDウォッチによる3月FOMCの利上げ予想

出所:FED Watch / 2022年2月12日時点の予測

 

高止まりするインフレ、加速するアメリカの金融引き締めペース、そして不安定な米国株...

『2022年の米国株投資は厳しい』と、ジェイは予想していましたが、初っ端からいきなりその状況に直面しています。

そこで当ブログでは、我々のような個人投資家が今年1年、どのような戦略で米国株投資と向き合うべきか?という点に主眼をおき、1月は『2022年の投資戦略シリーズ』と題してジェイが考える投資の戦略記事を書きました(全3回)。

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

シリーズ第1回『米国株はオミクロン後をにらんだ展開に

シリーズ第2回『上昇する米金利  22年の米国株投資はどのような戦略で臨むべきか?

シリーズ第3回『優良バリュー株を見つける方法

 

未読の方のために『2022年の投資戦略シリーズ』の内容を簡単に言っておきますとー

シリーズの内容

今年は ”個別の優良なバリュー株” を丁寧に拾っていけるかどうか

で、投資パフォーマンスがかなり違ってくるとジェイは考えています。

 

そして2月から新たなシリーズがスタート

新シリーズ

PythonでYahoo! finance USからバリュー株投資に必要なデータを取得する方法

をスタートしました。

全3回シリーズの第1回目はPythonコードを紹介しました。

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

ーこの記事は3分で読めますー 2022年は、アメリカの中央銀行にあたる連邦準備制度理事会(FRB)をはじめ、各国の中央銀行はインフレに対抗するため金融政策の大転換 ー金融緩和政策から金融引き締め政策へ ...

続きを見る

シリーズ2回目の今回は、Pythonで取得したYahoo!finance USのデータを使って、優良バリュー株を見つける方法についてご紹介します。

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


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

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

 

Pythonの基本から機械学習まで学びたい人は
・一人でコツコツ型の人はオンラインPython学習サービスの『PyQ』 おすすめ度
オンラインPython学習サービス「PyQ™(パイキュー)」
ひとりでコツコツ&独学でOK!という人は、PyQをおすすめします。
PyQはPythonの基本から統計学、さらには機械学習まで学べる豊富なコースを提供しています。
問題を解く形式で勉強するスタイルなので、インプットとアウトプットのバランスが絶妙です。

【PyQ】いよいよ、誰でも機械学習を学べる時代へ
Pythonの基本や統計学を学んだら、機会学習にチャレンジしてみてください。


第2回目のサマリー

  • 目的に合わせたデータの取捨選択
  • 目的に合わせたデータ項目の追加
  • 優良バリュー株のピックアップ
  • ジェイが保有するバリュー株

 

今回の記事の対象者

こんな方におすすめ

  • プログラミング言語『Python』に興味がある人
  • Pythonで株価分析に必要なデータを取得したい人
  • 取得したデータの処理を学びたい人
  • Pythonを学んでみたいけどためらっている人

データ分析の基本

どんな分野でもそうですが、データの分析にもいくつかの基本があります。

その中でも、初心者の方は2つの基本をおさえてください。

2つの基本

  • データ分析の目的を決める
  • 目的に合わせてデータを処理する

 

さあ!データ分析をしてみよう!

このシリーズの目的は、優良なバリュー株を見つけることです。

そのために、前回の記事ではPythonを使ってYahoo!finance USからバリュー株の投資に必要なデータを取得しました。

取得したデータ

  • 株価収益率(PER)
  • 一株利益(EPS)

 

必要なデータを取得した後にやるべきことはー

次にやるべきこと

目的に合わせてデータの処理する

ことです。

 

データの処理は、目的によります。

今回の目的は『優良なバリュー株を見つける』ことです。

よって、今後も業績の成長が見込まれかつ相対的に低いPERの銘柄が、『優良なバリュー株』と言えるでしょう。

 

データ処理の内容と手順

そこで、今回は以下の手順でデータを処理していきます。

step
1
平均以下の予想PERの抽出と並び替え

 

step
2
予想PERが10以下の銘柄の削除

 

step
3
予想ESPと12ヶ月EPSの差分がマイナスの銘柄を削除

 

step
4
EPS成長率を計算

 

step
5
EPS成長率上位の5位とPER下位の5位の銘柄をピックアップ


STEP1~2:PERデータの処理

優良なバリュー株をピックアップする際、注視すべきは予想PER(forwardPE)の水準です。

PERは 、”相対的に” 使うマルチプル指標です。

なので、今回は相対的に見る基準としてー

基準

ダウ平均採用銘柄の予想PERの平均値

を用います。

ダウ平均に採用されている予想PERの平均値は、この記事を書いている時点で『18.79』です(2022年12月12日時点)。

よって、平均の予想PER18.79よりも ”相対的に高い” 予想PERの銘柄(割高株)をデータフレームから削除します。

また、PERは低ければ良いというわけでもありません。

よって、予想PERが低すぎる銘柄、今回はPERが10以下の銘柄も投資の対象から外します。

Pythonコード

それでは、前回の記事でご紹介したPythonコードをベースに、データの処理を行なっていきましょう!

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


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

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


# PERに関係するデータのみを抽出
per = web.get_quote_yahoo(tickers.Symbol)[['trailingPE', 'forwardPE']]


# forwardPE(予想PER)を軸に降順でソート
PER_sorted_data = per.sort_values(by = 'forwardPE', 
                                       ascending = False)


# forwardPEの平均(18.79)を超える銘柄はデータフレームから除く

PER_sorted_data['forwardPE'] .mean() #平均

PER_drop = PER_sorted_data.index[PER_sorted_data['forwardPE'] > PER_sorted_data['forwardPE'] .mean()]
PER_data = PER_sorted_data.drop(PER_drop)


# forwardPEが10以下の銘柄もデータフレームから除く
PER_drop = PER_data.index[PER_data['forwardPE'] <10]
PER_data = PER_data.drop(PER_drop)

上のコードを実行すると、以下の結果が出ます。

実行結果

2022年2月12日時点のデータ

 

上のPERデータはー

PERのデータ

  • 平均の予想PERより上の銘柄を削除
  • 予想PERが10以下の銘柄を削除
  • 予想PERを軸に降順で並び替え

となります。

 

ティッカーコードでは企業名がわからない場合は

ちなみに、ティッカーコードだけでは企業名がわからない場合は、上のコード一覧の12行目で設定した変数『tickers』で簡単に確認できます。

 

企業名とティッカー

 

STEP3~4:EPSデータの処理

米国株(アメリカ株)に限らず、個別株の投資で最も重要なことはー

重要なこと

将来の業績見通し

です。

この点を考える上で必ずチェックすべき項目のひとつが一株利益、いわゆる『Earnings per Share(EPS)』です。

特に各企業やアナリストの予測をベースに算出される予想EPS(epsForward)』はとても重要な指標です。

EPSはPERを計算する時、分母に使われます。

よって、EPSが将来増加する見通しとなっており、かつ予想PERがダウ平均に採用されている銘柄の平均以下ということは優良なバリュー株、つまり『割安株』である可能性が高いわけです。

よって今度は、EPSのデータを処理してみましょう。

やることは、以下の2つです。

やること

  • 予想EPSから過去12ヶ月EPSの差分がマイナスの銘柄を削除
  • EPS成長率を計算
  • EPS成長率を軸に降順で並び替え

Pythonコード

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


# 取得したEPSのデータを降順でソート
EPS_sorted_data = EPS_data.sort_values(by = 'epsForward', 
                                       ascending = False)


# 予想EPSと過去12ヶ月EPSの差分(Diff)を取る
EPS_sorted_data['Diff'] = EPS_sorted_data.epsForward - EPS_sorted_data.epsTrailingTwelveMonths


# EPSの差分がマイナスになっている銘柄を削除
EPS_drop = EPS_sorted_data.index[EPS_sorted_data['Diff'] <= 0]
EPS_data = EPS_sorted_data.drop(EPS_drop)


# EPS成長率を計算し新しいカラムに追加
EPS_data['Growth_Rate'] = ((EPS_data['epsForward'] - EPS_data['epsTrailingTwelveMonths'])/ EPS_data['epsTrailingTwelveMonths'])*100
EPS_data = EPS_data.sort_values(by = 'Growth_Rate', ascending=False)

上のコードを実行すると、以下の結果が出ます。

実行結果

2022年2月12日時点のデータ

 

上のEPSデータはー

EPSのデータ

  • 予想EPS – 過去12か月EPSの差分(Diff)がマイナスの銘柄を削除
  • ESP成長率(Growth_Rate)のカラムを新たに追加
  • ESP成長率を軸に降順で並び替え

となります。

これで、目的に合わせた今回のデータ処理が完了しました。

 

STEP5:優良バリュー株の選定

データの処理が終わったら、いよいよ今回の目的であるー

次にやるべきこと

目優良バリュー株のピックアップ

をしてみましょう。

 

『優良』とは、『将来も好業績を出せる』ことを意味します。

よって今回は、EPS成長率の上位5位をピックアップします。

 

『バリュー株』とは、『収益に対して株価が割安な銘柄』のことをいいます。

よって今回は、PERの下位5位をピックアップします。

Pythonコード

# EPS成長率上位5位を選定
EPS_data['Growth_Rate'].head()


# 予想PER 下位5位を選定
PER_data['forwardPE'].tail()

上のコードを実行すると、以下の結果が表示されます。

実行結果

2022年2月12日時点

EPS成長率が高く、かつバリュー株(割安株)である銘柄が2つピックアップされました。

 

分析の結果

2つの優良バリュー株候補

ここまでの分析の結果、ダウ平均に採用されている銘柄のうち、将来も業績の拡大が期待でき(EPSの成長が予想され)、かつ割安(低PER)である『優良なバリュー株』はー

優良バリュー株の候補

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

となりました(2022年2月12日時点)。

 

今後の先行きを考えても優良なバリュー株

アムジェン(AMGN)とメルク(MRK)はともに『ヘルスケア・セクター』にあたります。

このセクターは、景気の動向を受けにくい『ディフェンシブ・セクター』というカテゴリーにあたります。

冒頭で述べたとおり、アメリカのインフレ率(消費者物価指数)は前年同月比で7.5%へと高進しています。

これは、約40年ぶりの異常な状況です。

さらに異常なのが、FRBが設定している政策金利の水準が0.00〜0.25%であることです。

簡単に言えば、パウエルFRBはインフレ対策で完全に後手に回っています。

よって、今の状況を挽回するためにパウエルFRBは、経済の成長をある程度犠牲にしてでも金融引き締めのペースを加速させる可能性がかなり高いと思われます。

このリスクを考えるならば、ディフェンシブ・セクターのバリュー株をポートフォリオに追加することは、今年1年の相場を乗り切る有効な手段だと、ジェイは考えています。

 

ジェイが保有するバリュー銘柄

エネルギー株

今回は、ダウ平均に採用されている銘柄をターゲットに、Pythonを使って優良なバリュー株を見つける分析をしてきました。

もちろん、ダウ平均に採用されている銘柄以外にも、優良なバリュー銘柄はまだまだあります。

例えば、高インフレやウクライナ情勢の緊迫度合いが増していることを考えると、『エネルギー株』は今ホットなバリュー株だとジェイは考えています。

ちなみにジェイは、このブログでも何度か取り上げた 『デボン・エナジー(DVN)』に投資をしています。

油田探査用計測機器の開発や製造を行なっているシュルンベルジェ(SLB)ハリバートン(HAL)は指値が約定せず、悔しい思いをしました。

この2つの銘柄については、押し目買いの機会を狙っているところです。

 

食品株

また、上で述べた『ディフェンシブ・セクター』関連では、タイソン・フーズ(TSN)アーチャー・ダニエルズ・ミッドランド(ADM)も旬のバリュー株だと、ジェイは考えています。

これら銘柄は、『食』をコアビジネスとしています。

『食』は人間にとって必要不可欠であるがゆえ、それに関連する銘柄は景気の動向に左右されにくいという特徴があります。

特に上2つの銘柄は最新の決算で、ともにアナリスト予想を上回る強い内容となりました。

ちなみにジェイは、タイソン・フーズ(TSN)に投資をしています。

ジェイの投資銘柄

  • デボン・エナジー(DVN)
  • タイソン・フーズ(TSN)

上2つの銘柄に投資を決める時は、前回と今回の記事でご紹介したPythonのデータ分析が大きく役立ちました。

 

Pythonを効率よく学ぶ方法

Pythonって便利だな!

私もPythonを学んでみたい!

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

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

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

本気でPythonを学びたいなら

Pythonを学ぼう


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

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

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

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

UdemyおすすめのPythonコース ▼
・Pythonの基礎から応用まで一気に学ぶならこのコース おすすめ度
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

 

・データサイエンスを学ぶならこの2コース 2コースのおすすめ度
【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

 

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


まとめ

まとめ

・データ分析ではまず目的を設定しよう
・設定した目的に合わせてデータを処理しよう
・処理したデータから目的に合ったバリュー株を見つけてみよう
・ジェイが保有するバリュー銘柄について

今回は以上です。

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


注記事項

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

おすすめの記事

1

ーこの記事は3分で読めますー 前回の記事では、先行きリスクに対応するため、個人投資家ができることについてお話ししました。 先行きリスクに対応するための投資があるということは、先行きリスクが警戒されてい ...

2

ーこの記事は3分で読めますー 多くの投資家は今、経済の先行きリスクを強く意識している。このため米国株(アメリカ株)は不安定な状況にあるー 前回の記事では、この点について指摘しました。   有 ...

3

ーこの記事は3分で読めますー 4月の米国株(アメリカ株)は、かなり荒れた展開となりました。 多くの機関投資家が注目する指数『S&P500』は、月間で8.8%下落しました。 ここまで大きく下落し ...

4

ーこの記事は3分で読めますー 前回の記事では、ジェイがポートフォリオのコア銘柄にすえている『バンガード・米国増配株式ETF(通称VIG)』についてご紹介しました。   今回はその続編というこ ...

5

ーこの記事は3分で読めますー 過去2回の記事ではー 『逆イールドとアメリカ経済のトレンドパターン』と『連続増配銘柄の魅力』についてお話ししました。 後編では、実際にジェイが投資をしている3つの米国株( ...

-Pandas, Yahoo!finance US

© 2022 ジェイの投資ライフ with Python