【yfinance API解説】Part2 Ticker編
前回の続きです。
Tickerクラスによって株式の情報を取得することができます。
3. API
3.1 利用可能クラス
Ticker: Class for accessing single ticker data(単一Tickデータ).
Tickers: Class for handling multiple tickers(複数Tickデータ).
download: Function to download market data for multiple tickers(データのダウンロード).
Search: Class for accessing search results(検索結果へのアクセス).
Sector: Domain class for accessing sector information(セクター情報へのアクセス).
Industry: Domain class for accessing industry information(基盤情報へのアクセス).
Market: Class for accessing market status & summary(市場情報へのアクセス).
EquityQuery: Class to build equity query filters(株式に関するクエリを組む).
FundQuery: Class to build fund query filters(ファンドに関する検索条件(filter)を組む).
screen: Run equity/fund queries.(クエリやフィルタの実行)
enable_debug_mode: Function to enable debug mode for logging(デバッグモード).
set_tz_cache_location: Function to set the timezone cache location(タイムゾーン設定).
3.2 Ticker & Tcikers Class
・Example
import yfinance as yf
dat = yf.Ticker("MSFT")
# with multiple tickers
# dat = yf.Tickers('msft aapl goog')[msft]
# get historical market data
dat.history(period='1mo') # 株価履歴
# options
dat.option_chain(dat.options[0]).calls # コールオプション情報
# get financials
dat.balance_sheet # 貸借対照表
dat.quarterly_income_stmt # 四半期収入明細書
# dates
dat.calendar # 決算などの主要日
# general info
dat.info # 基本情報
# analysis
dat.analyst_price_targets # yahooのアナリスト評価
historyの引数詳細は別記事のdownload()にて解説しています。
history(株価履歴)
Open High Low Close Volume Dividends Stock Splits
Date
2025-01-13 00:00:00-05:00 415.239990 418.500000 412.290009 417.190002 17604800 0.0 0.0
2025-01-14 00:00:00-05:00 417.809998 419.739990 410.720001 415.670013 16935900 0.0 0.0
2025-01-15 00:00:00-05:00 419.130005 428.149994 418.269989 426.309998 19637800 0.0 0.0
2025-01-16 00:00:00-05:00 428.700012 429.489990 424.390015 424.579987 15300000 0.0 0.0
2025-01-17 00:00:00-05:00 434.089996 434.480011 428.170013 429.029999 26197500 0.0 0.0
2025-01-21 00:00:00-05:00 430.200012 430.899994 425.600006 428.500000 26085700 0.0 0.0
...
options_call(コールオプション情報)
contractSymbol lastTradeDate strike lastPrice bid ask change percentChange volume openInterest impliedVolatility inTheMoney contractSize currency
0 MSFT250214C00240000 2025-01-30 15:13:24+00:00 240.0 177.27 171.75 173.20 0.00 0.0 NaN 1 2.230473 True REGULAR USD
1 MSFT250214C00250000 2025-02-07 14:46:35+00:00 250.0 167.48 161.75 163.20 0.00 0.0 3.0 3 2.078130 True REGULAR USD
2 MSFT250214C00270000 2025-02-07 20:30:03+00:00 270.0 139.74 141.75 143.25 0.00 0.0 1.0 24 1.810548 True REGULAR USD
3 MSFT250214C00300000 2025-01-30 19:07:06+00:00 300.0 115.83 111.75 113.25 0.00 0.0 1.0 4 1.403323 True REGULAR USD
4 MSFT250214C00310000 2025-01-31 16:09:36+00:00 310.0 107.50 101.80 103.30 0.00 0.0 1.0 2 1.306644 True REGULAR USD
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
65 MSFT250214C00525000 2025-01-31 20:41:55+00:00 525.0 0.02 0.00 0.01 0.00 0.0 3.0 20 0.703128 False REGULAR USD
66 MSFT250214C00530000 2025-02-07 14:32:54+00:00 530.0 0.01 0.00 0.01 0.00 0.0 4.0 39 0.734378 False REGULAR USD
67 MSFT250214C00540000 2025-02-06 20:57:37+00:00 540.0 0.01 0.00 0.01 0.00 0.0 1.0 52 0.781252 False REGULAR USD
68 MSFT250214C00550000 2025-01-30 18:04:03+00:00 550.0 0.01 0.00 0.01 0.00 0.0 1.0 13 0.828127 False REGULAR USD
69 MSFT250214C00560000 2025-02-10 17:00:07+00:00 560.0 0.01 0.00 0.01 -0.03 -75.0 1.0 326 0.875001 False REGULAR USD
...
balance_sheet(貸借対照表)
2024-06-30 2023-06-30 2022-06-30 2021-06-30
Ordinary Shares Number 7434138859.0 7432000000.0 7464000000.0 7519000000.0
Share Issued 7434138859.0 7432000000.0 7464000000.0 7519000000.0
Net Debt 33315000000.0 12533000000.0 35850000000.0 43922000000.0
Total Debt 67127000000.0 59965000000.0 61270000000.0 67775000000.0
Tangible Book Value 121660000000.0 128971000000.0 87720000000.0 84477000000.0
... ... ... ... ...
Cash Cash Equivalents And Short Term Investments 75531000000.0 111256000000.0 104749000000.0 130256000000.0
Other Short Term Investments 57216000000.0 76552000000.0 90818000000.0 116032000000.0
Cash And Cash Equivalents 18315000000.0 34704000000.0 13931000000.0 14224000000.0
Cash Equivalents 6744000000.0 26226000000.0 5673000000.0 6952000000.0
Cash Financial 11571000000.0 8478000000.0 8258000000.0 7272000000.0
quarterly_income_stmt(四半期収入明細書)
2024-12-31 2024-09-30 2024-06-30 2024-03-31 2023-12-31
Tax Effect Of Unusual Items -203220000.0 57190000.0 -16263853.211009 -33660000.0 -29160000.0
Tax Rate For Calcs 0.18 0.19 0.191339 0.18 0.18
Normalized EBITDA 37915000000.0 37933000000.0 34416000000.0 33741000000.0 33556000000.0
Total Unusual Items -1129000000.0 301000000.0 -85000000.0 -187000000.0 -162000000.0
Total Unusual Items Excluding Goodwill -1129000000.0 301000000.0 -85000000.0 -187000000.0 -162000000.0
Net Income From Continuing Operation Net Minority Interest 24108000000.0 24667000000.0 22036000000.0 21939000000.0 21870000000.0
Reconciled Depreciation 6827000000.0 7383000000.0 6380000000.0 6027000000.0 5959000000.0
Reconciled Cost Of Revenue 21799000000.0 20099000000.0 19684000000.0 18505000000.0 19623000000.0
EBITDA 36786000000.0 38234000000.0 34331000000.0 33554000000.0 33394000000.0
EBIT 29959000000.0 30851000000.0 27951000000.0 27527000000.0 27435000000.0
...
calendar(決算などの主要日)
{'Dividend Date': datetime.date(2025, 3, 13),
'Ex-Dividend Date': datetime.date(2025, 2, 20),
'Earnings Date': [datetime.date(2025, 4, 24), datetime.date(2025, 4, 29)],
'Earnings High': 3.31,
'Earnings Low': 3.16,
'Earnings Average': 3.21173,
'Revenue High': 69358000000,
'Revenue Low': 67140000000,
'Revenue Average': 68464751180}
info(基本情報)
{'address1': 'One Microsoft Way',
'city': 'Redmond',
'state': 'WA',
'zip': '98052-6399',
'country': 'United States',
'phone': '425 882 8080',
'website': 'https://www.microsoft.com',
'industry': 'Software - Infrastructure',
'industryKey': 'software-infrastructure',
'industryDisp': 'Software - Infrastructure',
'sector': 'Technology',
...
analyst(yahooのアナリスト評価)
{'current': 412.22,
'high': 650.0,
'low': 420.0,
'mean': 506.9704,
'median': 500.0}
3.3 属性および関数一覧
Tickerクラスで提供される属性とメソッドの一覧表。
(※“balance_sheet”と“balancesheet”など、同等の処理を行う別名も含む)
3.3.1 属性(プロパティ)一覧
名称 | 型・形式 | 説明 |
---|---|---|
actions | Series / DataFrame | 配当、株式分割、その他アクションの履歴データ。 |
analyst_price_targets | dict | アナリストの目標株価情報(current, low, high, mean, median など)。 |
balance_sheet / balancesheet | DataFrame または dict | 貸借対照表のデータ。年次または四半期ごと(パラメータにより変化)。 |
basic_info | dict | 基本的な企業情報(名称、所在地、業界など)。 |
calendar | dict | 決算日、配当日、その他イベントの日程情報。 |
capital_gains | Series | キャピタルゲイン(税関連など)の情報。 |
cash_flow / cashflow | DataFrame または dict | キャッシュフロー計算書のデータ(年次または四半期)。 |
dividends | Series | 過去の配当金支払い履歴。 |
earnings | DataFrame または dict | 年次の決算(売上高、利益など)のデータ。 |
earnings_dates | DataFrame | 過去および将来の決算発表日情報。 |
earnings_estimate | DataFrame または dict | アナリストによる決算見通しの数値(EPS など)の情報。 |
earnings_history | DataFrame または dict | 過去の決算実績(EPS など)の履歴。 |
eps_revisions | DataFrame または dict | EPS の改定(上方/下方修正)の履歴情報。 |
eps_trend | DataFrame または dict | EPS の推移・トレンドに関する情報。 |
fast_info | dict | 簡易に取得できる基本市場情報(株価、出来高など)。 |
financials | DataFrame または dict | 損益計算書のデータ(収益、費用、利益など:年次)。 |
funds_data | FundsData / None | ファンド関連のデータ。情報がない場合もあり。 |
growth_estimates | DataFrame または dict | 売上や利益の成長率の見通し情報。 |
history_metadata | dict | 過去の株価時系列データに関するメタ情報。 |
income_stmt / incomestmt | DataFrame または dict | 損益計算書データ(年次または四半期)。 |
info | dict | Yahoo! Finance から取得した総合的な企業情報。 |
insider_purchases | DataFrame または dict | インサイダーによる株式購入の履歴。 |
insider_roster_holders | DataFrame または dict | インサイダーの保有情報。 |
insider_transactions | DataFrame または dict | インサイダーの取引履歴。 |
institutional_holders | DataFrame または dict | 機関投資家の保有状況。 |
isin | str または None | 国際証券識別番号(ISIN)。 |
major_holders | DataFrame または dict | 主要株主(大口保有者)の情報。 |
mutualfund_holders | DataFrame または dict | 投資信託による保有情報。 |
news | list | 関連ニュース記事の一覧。日付と重要性によりsort |
options | list | 利用可能なオプションの満期日一覧。 |
quarterly_balance_sheet / quarterly_balancesheet | DataFrame または dict | 四半期の貸借対照表データ。 |
quarterly_cash_flow / quarterly_cashflow | DataFrame または dict | 四半期のキャッシュフロー計算書データ。 |
quarterly_earnings | DataFrame | 四半期の決算データ。 |
quarterly_financials | DataFrame | 四半期の財務諸表(損益、バランスシート等)。 |
quarterly_income_stmt / quarterly_incomestmt | DataFrame または dict | 四半期の損益計算書データ。 |
recommendations | DataFrame または dict | アナリストの推奨(例:買い・売りなど)の詳細情報。 |
recommendations_summary | DataFrame または dict | 推奨情報のサマリー。 |
revenue_estimate | DataFrame または dict | 売上高に関する見通しデータ。 |
sec_filings | dict | SEC(米国証券取引委員会)への提出書類情報。 |
shares | DataFrame または dict | 発行済株式数など、株式に関する情報。 |
splits | Series | 株式分割(または併合)の履歴。 |
sustainability | DataFrame または dict | ESG・サステナビリティに関する評価・スコア。 |
upgrades_downgrades | DataFrame または dict | アナリストによる格付けのアップ/ダウングレード情報。 |
3.3.2 メソッド一覧
名称 | 戻り値型 | 説明 |
---|---|---|
init(ticker, session=None, proxy=None) | インスタンス | Ticker クラスの初期化。ティッカーシンボルやセッション、プロキシ設定を指定。 |
get_actions(proxy=None) | Series / DataFrame | 配当・分割などのアクション情報を取得。 |
get_analyst_price_targets(proxy=None) | dict | アナリストの目標株価情報(current, low, high, mean, median)を取得。 |
get_balance_sheet(proxy=None, as_dict=False, pretty=False, freq='yearly') | DataFrame または dict | 年次/四半期の貸借対照表データを取得。 |
get_balancesheet(proxy=None, as_dict=False, pretty=False, freq='yearly') | DataFrame または dict | 上記と同等の貸借対照表取得メソッド。 |
get_calendar(proxy=None) | dict | 決算日、配当日、その他イベント情報を取得。 |
get_capital_gains(proxy=None) | Series | キャピタルゲイン情報を取得。 |
get_cash_flow(proxy=None, as_dict=False, pretty=False, freq='yearly') | DataFrame または dict | 年次/四半期のキャッシュフロー計算書データを取得。 |
get_cashflow(proxy=None, as_dict=False, pretty=False, freq='yearly') | DataFrame または dict | 上記と同等のキャッシュフロー取得メソッド。 |
get_dividends(proxy=None) | Series | 配当金支払い履歴を取得。 |
get_earnings(proxy=None, as_dict=False, freq='yearly') | DataFrame または dict | 年次または四半期の決算データを取得。 |
get_earnings_dates(limit=12, proxy=None) | DataFrame | 過去および将来の決算発表日情報を取得(limit パラメータで件数指定)。 |
get_earnings_estimate(proxy=None, as_dict=False) | DataFrame または dict | 決算見通し(EPS 等)の情報を取得。 |
get_earnings_history(proxy=None, as_dict=False) | DataFrame または dict | 過去の決算実績(EPS など)を取得。 |
get_eps_revisions(proxy=None, as_dict=False) | DataFrame または dict | EPS 改定情報(上方/下方修正)の履歴を取得。 |
get_eps_trend(proxy=None, as_dict=False) | DataFrame または dict | EPS のトレンド情報を取得。 |
get_fast_info(proxy=None) | dict | 高速に取得可能な基本市場情報を取得。 |
get_financials(proxy=None, as_dict=False, pretty=False, freq='yearly') | DataFrame または dict | 年次の損益計算書(財務)データを取得。 |
get_funds_data(proxy=None) | FundsData または None | ファンド関連データを取得。 |
get_growth_estimates(proxy=None, as_dict=False) | DataFrame または dict | 売上・利益などの成長率見通しを取得。 |
get_history_metadata(proxy=None) | dict | 過去の株価データに関するメタ情報を取得。 |
get_income_stmt(proxy=None, as_dict=False, pretty=False, freq='yearly') | DataFrame または dict | 年次/四半期の損益計算書データを取得。 |
get_incomestmt(proxy=None, as_dict=False, pretty=False, freq='yearly') | DataFrame または dict | 上記と同等の損益計算書取得メソッド。 |
get_info(proxy=None) | dict | 総合的な企業情報(info プロパティと同内容)を取得。 |
get_insider_purchases(proxy=None, as_dict=False) | DataFrame または dict | インサイダーの株式購入履歴を取得。 |
get_insider_roster_holders(proxy=None, as_dict=False) | DataFrame または dict | インサイダー保有情報を取得。 |
get_insider_transactions(proxy=None, as_dict=False) | DataFrame または dict | インサイダー取引履歴を取得。 |
get_institutional_holders(proxy=None, as_dict=False) | DataFrame または dict | 機関投資家の保有情報を取得。 |
get_isin(proxy=None) | str または None | ティッカーの ISIN コードを取得。 |
get_major_holders(proxy=None, as_dict=False) | DataFrame または dict | 主要株主情報を取得。 |
get_mutualfund_holders(proxy=None, as_dict=False) | DataFrame または dict | 投資信託の保有情報を取得。 |
get_news(count=10, tab='news', proxy=None) | list | 指定件数・タブ("news", "all", "press releases" など)のニュース記事を取得。 |
get_recommendations(proxy=None, as_dict=False) | DataFrame または dict | アナリストの詳細な推奨情報(買い・売りなど)を取得。 |
get_recommendations_summary(proxy=None, as_dict=False) | DataFrame または dict | 推奨情報のサマリーを取得。 |
get_revenue_estimate(proxy=None, as_dict=False) | DataFrame または dict | 売上高見通しのデータを取得。 |
get_sec_filings(proxy=None) | dict | SEC 提出書類情報を取得。 |
get_shares(proxy=None, as_dict=False) | DataFrame または dict | 発行済株式数などの株式情報を取得。 |
get_shares_full(start=None, end=None, proxy=None) | DataFrame | 指定期間内の詳細な株式情報を取得。 |
get_splits(proxy=None) | Series | 株式分割(または併合)の履歴を取得。 |
get_sustainability(proxy=None, as_dict=False) | DataFrame または dict | ESG・サステナビリティ情報を取得。 |
get_upgrades_downgrades(proxy=None, as_dict=False) | DataFrame または dict | アナリストの格付け変更(アップ/ダウン)情報を取得。 |
history(*args, **kwargs) | DataFrame | 指定期間・間隔の過去株価時系列データを取得。 |
option_chain(date=None, tz=None) | NamedTuple (calls, puts) | 指定満期日のオプションチェーン(コール/プット)データを取得。 |
補足
属性とメソッドの違い
同じデータが属性とメソッドで利用できる。それぞれのメリットやデメリットは以下の通り。
属性
・キャッシングによりアクセスが高速だが、更新タイミングによって古い情報が帰る場合がある
・コードが簡潔
メソッド
・データが最新
・カスタマイズが可能
・呼び出しの度にネットワークアクセスが発生する
パラメータ
多くの get_* メソッドでは、as_dict
(dict 形式で返すか)、pretty
(行名を読みやすく整形するか)、freq
("yearly"/"quarterly" の指定)などのパラメータで出力内容を調整可能。
またニュースなども.news
よりget_news()
で取得する方が件数などを指定できる。
プロキシ対応
ほとんどのメソッドはproxy
パラメータによりプロキシ経由でデータ取得を行える。
今回はここまでになります。
読んでいただきありがとうございました。
References
[1] 公式ドキュメント
Discussion