📊

【yfinance API解説】Part2 Ticker編

2025/02/12に公開

前回の続きです。

part1
part2
part3
part4

公式ドキュメント

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