【おしらせ】
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)の収益性に関する情報が以下のように表示されます。
取得データの表示
上の方にある『◯◯ 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]
上のコードを実行すると、以下の結果が得られます。
取得データの表示
クラウドストライク(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)
結果
上のコードを実行すると、以下のような表が表示されます。
このように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を効率的に学ぶ方法だ!』と自信をもっておすすめする学習方法について解説しています。
この記事と出会ったのも何かの縁です。
ぜひチャレンジしてみてください!
独学が苦手な人へ
▼スクールで学ぼう▼
▶現役エンジニアのパーソナルメンターからマンツーマンで学べる
▶データサイエンスコース
注記事項
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください。