Pythonコード集

【Pythonコード集】Yahoo!financeから米企業の情報を簡単に取得する方法  コード編

【おしらせ】
2021年7月28日に、Pythonコードの解説編をアップしました。
以下のリンク先よりご覧ください。

解説編
【Pythonコード集】Yahoo!financeから米企業の情報を簡単に取得する方法  解説編

続きを見る


目安:この記事は3分で読めます。

 

売上高、利益、財務状況、はたまた売買の推奨レートなど株式の投資には色々な情報が必要です。

今の時代、ネット上からどんな企業情報も取得できます。

しかし情報がありすぎるがゆえに、その取得に無駄に時間をかけることだけは避けたいですよね。

 

個人投資家が効率的よく企業の情報を取得するならば、やはりYahoo!finance USがおすすめです。

さらにー

Pythonを使えれば

今以上に効率よく企業の情報が取得できるでしょう。

 

今はちょうど米国企業の決算シーズンです。

そこで今回と次回では、PythonとYahoo!finance USを組みあわせて、効率よく企業の収益情報を取得する方法を解説します。

今回は、Pythonコードをザッと紹介します。

そして次回の記事で、Pythonコードの詳しい説明をします。

 

今回のテーマ

PythonとYahoo!finance USで米企業の情報を簡単かつ効率よく取得する方法


この記事の対象となる人

こんな人におすすめ

  • 米国企業の情報を効率的に取得したい人
  • Pythonを使って分析をしたい人
  • Pythonを学びたいと思っている人

この記事でわかること

わかること

  • PythonとYahoo!finance USを使って米国企業の情報を簡単に取得する方法
  • 効率的にPythonを学ぶ方法(詳細はリンク先で)

 

Yahoo!finance USから企業の情報を取得するコード

まずは、全体のPythonコードをお見せします。

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

 

Pythonコードの全体像

今回は、ジェイが注目しているグロース株ークラウドストライク(CRWD)の情報をピックアップします。

#必要なライブラリは2つだけ
import pandas as pd
import yfinance as yf

#クラウドストライクのデータを取得
crwd = yf.Ticker('CRWD')

#『.info』で企業のデータを一気に取得 ☆重要!
df_crwd = crwd.info

#辞書型で取得した情報をfor文で取得
#キー値とバリュー値にわけて取得
keys = []

for key in df_crwd.keys():
keys_list = {key}
keys.append(keys_list)
keys = pd.DataFrame(keys)

#辞書型で取得した情報をfor文で取得
#キー値とバリュー値にわけて取得
values = []

for value in df_crwd.values():
values.append(value)
values = pd.DataFrame(values)

#キー値とバリュー値のデータをデータフレーム型で結合
#カラム名の設定
data_crwd = pd.concat([keys,values],axis=1)
data_crwd.columns = ('Category', 'Data')

#今回は全部で151のデータあり
#どんなカテゴリーがあるのかをすべて表示する
pd.set_option("display.max_rows", 151)

#決算に関係がありそうな項目だけをピックアップ
data_crwd[13:24]

上のコードを実行すると、クラウドストライク(CRWD)の収益性に関する情報が以下のように表示されます。

取得データの表示

Yahoo!finance USから取得したデータ

上の方にある『◯◯ Margins』とは、利益率のことです。

例えば、上から2番目の『profitMargins』は、売上高に占める利益の割合を示す『売上高利益率(利益率)』のことです。

そのほか、キャッシュフロー(operatingCashflow/freeCashflow)収益の成長率(revenueGrowth)売買推奨レート(recommendationKey)といった情報もPythonを使えば、いとも簡単に取得できます。

 

ジースケーラー(ZS)と比較してみよう!

 

企業情報は単独で分析するよりも、同業他社と比較して分析するのが一般的です。

今回は、クラウドセキュリティのサービスを提供しているジースケーラー(ZS)の収益情報とクラウドストライク(CRWD)のそれを比較してみましょう。

 

Pythonコードの全体像

まずは、上のコードをすべてコピペします。

そして『crwd』の部分を、ジースケーラー(ZS)のティッカーコード『zs』に編集して、データを取得します。

zs = yf.Ticker('ZS')

df_zs = zs.info


keys = []

for key in df_zs.keys():
    keys_list = {key}
    keys.append(keys_list)
keys = pd.DataFrame(keys)


values = []

for value in df_zs.values():
    values.append(value)
values = pd.DataFrame(values)


data_zs = pd.concat([keys,values],axis=1)
data_zs.columns = ('Category', 'Data')

pd.set_option("display.max_rows", 151)


data_zs[13:24]

data_zs = data_zs[13:24]

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

 

取得データの表示

Yahoo!finance USから取得したデータ

クラウドストライク(CRWD)のデータと、行が一段ズレていることに注意していください。

このように銘柄によって、カテゴリーの位置がズレていることがあります。

なので、必ず上で書いたコードの24行目(クラウドストライクのコードでは35行目)ー

pd.set_option("display.max_rows", 151)

で確認するようにしましょう。

 

データの結合と比較

クラウドストライク(CRWD)とジースケーラー(ZS)のデータが取得できました。

最後に、2つのデータを結合してみましょう。

こうすることで、両社の企業情報が簡単に比較できます。

#『.merge』でデータを結合
pd.merge(left = data_crwd, right=data_zs, 
         on='Category', 
         suffixes=['_CRWS','_ZS'])

# 結合したデータを『df』という変数に入れる
df = pd.merge(left = data_crwd, right=data_zs, 
              on='Category', 
              suffixes=['_CRWS','_ZS'])

# 『Category』をインデックスとして設定
df.set_index('Category',inplace=True)

 

結果

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

Yahoo!finance USから取得したデータ

このようにPythonを使えば、あなたのニーズに応じて、Yahoo!finance USが提供している情報を簡単かつ効率よく取得することができます。

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

乞うご期待!


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

 

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

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

 

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


Pythonで時間をつくりだす!

時間をつくることができる

これまで書いてきたとおり、Pythonを使えば、効率よく情報の収集ができます。

『効率がよい』とは、言い換えればー

時間を作り出すことができる

ということです。

時間を作り出すことができれば、『その時間をほかの有意義なことに使える』ということです。

このことは、人生そのものに大きなインパクを与えるでしょう。

 

今回は決算シーズンということで、それに関連した情報をYahoo!finance USから取得しました。

しかし、他の情報 ー 例えばマーケット関連の主要なニュースを一気に確認したい場合でも、Pythonを使えば効率よく情報を取得できます。

興味のある方は、以下の記事をご覧ください。

参考記事
【Python】スクレイピング で効率よく記事を読もう!その3

続きを見る

 

効率よくPythonを学ぶ方法

私もPythonを学んで、効率よく情報を収集したい!株価の分析をしたい!という方は、以下のリンク先をご覧ください。

本気でPythonを学びたいなら

Pythonを学ぼう

 

なぜプログラミングを学ぶ必要があるのか?その理由がわかります。

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

この記事と出会ったのも何かの縁です。
ぜひチャレンジしてみてください!


独学が苦手な人へ

▼スクールで学ぼう▼

▶現役エンジニアのパーソナルメンターからマンツーマンで学べる

▶データサイエンスコース


注記事項

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

-Pythonコード集