【この記事は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コードをまとめます。
コピペして色々と遊んでみてください。
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()
今回は以上です。
最後までお読みいただき、ありがとうございました!
注記事項
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください。