Pythonコード集

【Pythonコード集】米国の個別株 PERやEPSのデータを爆速で取得してみよう!

【この記事は3分で読めます】

個別株の投資では、一株あたり利益(EPS)、株価収益率(PER)、株価純資産倍率(PBR)といった指標のチェックは必須です。

しかし、いろんなサイトを徘徊しながら、ひとつひとつ確認するのは時間がかかり非効率的です。

そこで今回は、Pythonを使ってEPSやPERといった重要な個別株のデータを爆速で取得するコードをご紹介します。

記事の最後では、Pythonの効率的な学習方法について紹介しています。

Pythonに興味を持たれた方は、ぜひリンク先のサイトも読んでみてください。


今回のサマリー

・Pythonで個別株の情報を爆速で得る方法

・Pythonを効率的に学ぶ方法


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

 

・データサイエンスを学ぶならこの2コース 2コースのおすすめ度
【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜

【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

 

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


この記事の対象となる人

こんな人におすすめ

  • Pythonで個別株の情報を爆速で取得したい人
  • Pythonを学びたいと思っている人

 

この記事でわかること

わかること

  • pandas_datareaderで個別株の情報を取得する方法
  • Pythonの効率的な学習方法

Pythonコードの解説

グダグダ言うのは性に合わないので、さっそく本題からいきます。

今回、Pythonを使って取得する銘柄と情報の概要は以下となります。

概要

  • 銘柄:ズームインフォ・テクノロジー(ZI)
  • 情報:フォワードPER / PBR

 

Pythonコード

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


#ズームインフォの情報を取得
zi = web.get_quote_yahoo('ZI')


#データのカラムを確認
zi.columns


#フォワードPERのデータのみを表示
zi.forwardPE


#PBRのデータのみを表示
zi.priceToBook


#フォワードPERとPBRを同時に表示
zi[['forwardPE', 'priceToBook']]

 

・解説

▷import pandas as pd
Python版のエクセルであるPandasをインポート。

後のコードを簡単にするために『pd』で簡略。

 

▷import pandas_datareader as web
Yahoo!finace USから株価のデータなどを取得する場合によく使うライブラリが『pandas_datareader』です。

後のコードを簡単にするために『web』で簡略。

 

▷zi = web.get_quote_yahoo('ZI')
get_quote_yahoo』は、個別株の情報を取得するために使うコード

引数に取得したい個別株のティッカーコードを入れます。

 

実際に情報が取得できているかどうかを確認するとー

ズームインフォの情報が取得できていることが確認できました。

カラム(columns)の数を見ると『73』の項目にわたる情報が取得できたことがわかります。

 

▷zi.columns
どんなカラム(項目)があるのか?を確認するためのコード

データを格納した変数のあとに『.columns』と入力するだけです。

こうすることで、以下のようにすべてのカラム名(項目)が確認できます。

すべてのカラム名を一気に確認することができました。

この中から、フォワードPERとPBRを探すとー

取得したいカラム名

  • forwardPE
  • priceToBook

それぞれ、上から7行目にあることがわかります。

カラム名がわかったら、あとは各々の情報を取得するだけです。

 

▷zi.forwardPE
変数名の後に、『.forwardPE』を付ければ、フォワードPER(forwardPE)のみの情報を抽出できます。

▷zi.priceToBook

変数名の後に、『.priceToBook』を付ければ、PBR(priceToBook)のみの情報を抽出できます。

複数の情報をデータフレームの形式でまとめたい場合は、以下のようにコードを書けばOKです。

▷zi[['forwardPE', 'priceToBook']]

変数名の後ろにカギ括弧を二重にします。

その中に、取得したいカラム名を並べて書くだけです。

データフレーム形式で、必要な情報をまとめて取得することができました。

 

銘柄ごとの情報を比較するPythonコード

ここで終わっては、味気ない記事になっていしまいます。

ここからは、違う銘柄の情報を取得することで、その違いを視覚チャートで確認するコードをご紹介します。

銘柄と取得する情報の概要は、以下となります。

概要

  • 銘柄1:ズームインフォ・テクノロジー(ZI)
  • 銘柄2:ユニティ・ソフトウェア(U)
  • 銘柄3:データドッグ(DDOG)
  • 情報1:現在のEPS
  • 情報2:12ヶ月間のEPS
  • 情報1:フォワードEPS

 

今回取り上げた銘柄には、以下の共通点があります。

共通点

  • 四半期の決算をクリアし続けている
  • 株価が新高値を付けている

上3つの銘柄は、いずれも成長が期待される『グロース株』です。

グロース株投資の基本は、『上昇トレンドにある銘柄を買う』ことです。

他にもチャートパターンが『カップウィズハンドル』となっている銘柄を買う、といった方法があります。

グロース株投資の知識を学びたい方は、以下の本をお読みください。

初心者の方は、この1冊で十分です。


・おすすめのグロース株投資本

おすすめ度 

 


 

話がそれました。

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

Pythonコード

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


#取得したい銘柄のティッカーを設定
tickers = ['U', 'DDOG', 'ZI']


#各銘柄のEPS情報を取得
data = web.get_quote_yahoo(tickers)[[
    'epsCurrentYear', 
    'epsTrailingTwelveMonths', 
    'epsForward']]


#チャートの描画
data.plot(figsize = (15,8), fontsize = 15, kind = 'bar')

plt.axhline(y = 0, color = 'black', ls = '--')
plt.legend(fontsize = 15)
plt.grid()

 

・解説

▷import matplotlib.pyplot as plt
Pythonでチャートを描画するためのライブラリ『matplotlib』を追加でインポート。

上の書き方は、matplotlibをインポートするための定型文と覚えておいてください。

後のコードを簡単にするために『plt』で簡略。

 

▷tickers = ['U', 'DDOG', 'ZI']

今回は複数の銘柄のカラム(項目)を取得するので、それらを一個の変数『tickers』でまとめます。

 

▷web.get_quote_yahoo(tickers)[[  ]]

get_quote_yahoo』は、個別株の情報を取得するために使うコード。

この後ろに (  ) を付けて、変数『tickers』を入れます。

さらにその後ろに[[ ]]を付けて、取得したいカラム名(項目)を入力します。

今回はEPSのデータがターゲットとなるので、2列目にあるー

取得したいカラム名

  • epsCurrentYear
  • epsTrailingTwelveMonths
  • epsForward

となります。

 

実際に取得できたかどうか?を確認するとー

3つの銘柄のカラム(ターゲットの項目)の情報が、データフレームのかたちで取得できていることが確認できました。

 

最後は、上のデータフレームを棒グラフで視覚化してみましょう。

▷data.plot(figsize = (15,8), fontsize = 15, kind = 'bar')

『変数名.plot』でチャートの大枠を設定。

引数

  • figsize:チャートの横縦の比率を設定
  • fontsize:フォントのサイズを設定
  • kind:チャートのスタイルを設定

最後の『kind』 ”bar” にすると、棒グラフが作成できます。

 

▷plt.axhline(y = 0, color = 'black', ls = '--')

ゼロラインの横線を描画するコード。

y = 0』とするだけで、ゼロラインに一本の横線を引くことができます。

color』でラインの色を設定する。

ls』は、”line style”の略。

今回は ”--” とすることで、点線を描画。

 

▷plt.legend(fontsize = 15)

カラム名を表示するコード。

引数の『fontsize』でフォントのサイズを設定する。

 

▷plt.grid()

縦と横のグリッドラインを描画するコード。

 

・EPSの比較チャート

3社のEPSの動向を簡単に比較できるチャートが描画できました!

 


効率よくPythonを学ぶ方法

Pythonって便利だな!

私もPythonを学んでみたい!

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

本気でPythonを学びたいなら

Pythonを学ぼう

 

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

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

この記事と出会ったのも何かの縁です。

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


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

 

・データサイエンスを学ぶならこの2コース 2コースのおすすめ度
【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜

【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

 

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


まとめ

・Pythonは個別株の分析に役立つ

・pandas_datareaderなら個別株の情報が爆速で取得できる

・Pythonを効率的に学びたい方はこちら

 

最後に、今回のPythonコードをまとめます。

コピペして色々と遊んでみてください。

Pythonコード:まとめ

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

#ZIの情報を取得
zi = web.get_quote_yahoo('ZI')

#カラムの内容や数を確認
zi.columns

#ターゲットのカラムをピックアップ
zi.forwardPE
zi.priceToBook

#複数のカラムをまとめてピックアップ
zi[['forwardPE', 'priceToBook']]



#複数の銘柄ティッカーを設定
tickers = ['U', 'DDOG', 'ZI']

#EPSの各カラムを取得
data = web.get_quote_yahoo(tickers)[[
    'epsCurrentYear', 
    'epsTrailingTwelveMonths', 
    'epsForward']]

#チャート(棒グラフ)の描画
data.plot(figsize = (15,8), fontsize = 15, kind = 'bar')

plt.axhline(y = 0, color = 'black', ls = '--')
plt.legend(fontsize = 15)
plt.grid()

今回は以上です。

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


注記事項

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

 

-Pythonコード集