📈

【yfinance API解説】 Part1 クイックスタート

2025/02/11に公開

今回はyfinanceについて解説していきます。

part1
part2
part3
part4

公式クイックスタート
公式API

Install

pip install yfinance

1. クイックスタート

1.1 Tikcer Symbolについて

dat = yf.Ticker("MSFT")
dat.info # 基本情報
dat.calendar # 今後の主要イベント
dat.analyst_price_targets # yahoofinanceアナリストの評価
dat.quarterly_income_stmt # 損益計算書
dat.history(period='1mo') # 過去1ヶ月の株価データ
dat.option_chain(dat.options[0]).calls # オプション取引(call & put)のコール情報

1.2 複数銘柄の確認

※TcikerでなくTickersであることに注意

tickers = yf.Tickers('MSFT AAPL GOOG')
tickers.tickers['MSFT'].info
yf.download(['MSFT', 'AAPL', 'GOOG'], period='1mo')
# output
Price	Close	High	Low	Open	Volume
Ticker	AAPL	GOOG	MSFT	AAPL	GOOG	MSFT	AAPL	GOOG	MSFT	AAPL	GOOG	MSFT	AAPL	GOOG	MSFT
Date															
2025-01-13	234.399994	192.289993	417.190002	234.669998	192.490005	418.500000	229.720001	188.660004	412.290009	233.529999	191.350006	415.239990	49630700	13169100	17604800
2025-01-14	233.279999	191.050003	415.670013	236.119995	193.270004	419.739990	232.470001	189.639999	410.720001	234.750000	192.500000	417.809998	39435300	13651200	16935900
2025-01-15	237.869995	196.979996	426.309998	238.960007	197.800003	428.149994	234.429993	193.330002	418.269989	234.639999	194.350006	419.130005	39832000	12894900	19637800

1.3 ファンド情報

ファンドとは

多くの人の資金を集め、プロが分散投資を通じて運用する仕組み

主なファンドの種類

・投資信託(ミューチュアルファンド)
一般の個人投資家向けに販売され、ファンドマネージャーが運用
・ETF(上場投資信託)
株式市場に上場されており、株式と同様に市場で売買できるファンド。
例として、SPY(SPDR S&P 500 ETF Trust)があり、これはS&P 500指数に連動するよう設計されている。
・インデックスファンド
特定の指数(例:日経平均、S&P 500など)に連動するように運用されるファンドで、運用コストが比較的低い。
・ヘッジファンド
投資対象や運用手法に柔軟性があり、様々な戦略を用いることで高いリターンを狙うファンド。
一般的には個人投資家向けではなく、機関投資家や富裕層向けの場合が多い。

ファンド情報の取得

spy = yf.Ticker('SPY').funds_data
spy.description # ファンドの説明
spy.top_holdings # ファンドが保有する銘柄の割合上位情報

2. Advanced

2.1 開発者モード

エラー以外のメッセージなどを表示可能

import yfinance as yf
yf.enable_debug_mode()

2.2 プロキシを介したダウンロード

msft = yf.Ticker("MSFT")
msft.history(..., proxy="PROXY_SERVER")

2.3 キャッシングの利用

pip install yfinance[nospam]

yfinanceではキャッシングを利用できますが、リアルタイム性が求められる金融データという特性上あまり必要ないように思います。
パフォーマンス向上や、スパム判定およびAPI制限などを回避しやすいというメリットはありますが、必要になった際に有効にするイメージでしょうか。

キャッシング利用詳細:
https://ranaroussi.github.io/yfinance/advanced/caching.html

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(タイムゾーン設定).

今回はここまでにしておきます。
読んでいただきありがとうございます。

Reference

[1] 公式クイックスタート
[2] 公式API

Discussion