#6.yfinance API で株価と財務諸表の時系列データを取得する by.Python
1.yfinance API で取得できるデータ
yfinance API では、下記➊~⓬のデータを取得できます。
➊ stock info( 企業情報 )
➋ historical market data( 株価の時系列データ )
➌ meta information about the history( メタデータ )
➍ actions( 配当 / 株式分割 の確定日 )
➎ share count( 発行済株式数 )
➏ financials( 財務諸表 )
➐ holders( 株主保有割合 )
➑ recommendations( アナリストの推奨事項 )
➒ earnings dates( 予想EPS、実績EPS )
➓ ISIN code( 証券識別コード )
⓫ options expirations( オプションの満期日 )
⓬ news( 企業の関連ニュース )
本サイトでは、株価と財務諸表の時系列データの取得に向けて、「➋ historical market data」と「➏ financials」について紹介します。
2.historical market data
1)API構文
「➋ historical market data」 は、「➋-1).history」と「➋-2).download」のどちらかのAPIで取得します【図2】。どちらのAPIも出力結果は同じですので、好みで使い分けてください。
「➋-1).history」と「➋-2).download」は、API構文の書き方が2通りずつあります。「start/end」を用いる場合と「period」を用いる場合です【図3~4】。「start/end」を用いる場合は「②開始日」と「③終了日」で設定、「period」を用いる場合は「④期間」で設定します。好みで使い分けてください。
API構文は「①ティッカーオブジェクト」( もしくは「①’ティッカーシンボル」)「②開始日」「③終了日」「④期間」「⑤集計単位」「⑥調整済終値」の6つの変数から成り、下図に示すパラメータを設定します【図5】。
2)プログラムコード と 出力結果
Pyrhonを使ったプログラムコードと出力結果は下記のとおり。
●「 ➋-1. history 」の場合
プログラムコード
import yfinance as yf
msft = yf.Ticker("MSFT")
msft.history(period="3mo", interval="1wk", auto_adjust=False)
出力結果
●「 ➋-2. download 」の場合
プログラムコード
import yfinance as yf
yf.download("MSFT", start="2024-04-01", end="2024-04-30", interval="1d", auto_adjust=True)
出力結果
3.financials
1)API構文
「➏ financials」は、下記の構文により取得します【図8】。API構文は、年間/四半期の別、取得したい財務諸表(損益計算書、貸借対照表、キャッシュフロー計算書)に応じて使い分けます。
いずれのAPI構文は「ティッカーオブジェクト」の変数から成り、下図に示すパラメータを設定します【図9~11】。
なお、ファンダメンタルデータ( 損益計算書、貸借対照表、キャッシュフロー計算書 )は、企業が報告した日と同日に更新されます。
2)プログラムコード と 出力結果
Pyrhonを使ったプログラムコード例と出力結果は下記のとおりです。
●「 ➏-3). income_stmt 」( 損益計算書 )の場合
プログラムコード
import yfinance as yf
msft = yf.Ticker("MSFT")
msft.income_stmt
出力結果
●「 ➏-5). balance_sheet 」( 貸借対照表 )の場合
プログラムコード
import yfinance as yf
msft = yf.Ticker("MSFT")
msft.balance_sheet
出力結果
●「 ➏-7). cashflow 」( キャッシュフロー計算書 )の場合
プログラムコード
import yfinance as yf
msft = yf.Ticker("MSFT")
msft.cashflow
出力結果
4.Pyhtonコード 実用版
このサイトで紹介しました「 ➋ historical market data( 株価の時系列データ )」を使った実用的な Pythonコード を、下記のサイトで掲載しています。よろしかったらご活用ください。
この記事が気に入ったらサポートをしてみませんか?