【yfinance API解説】 Part1 クイックスタート
今回はyfinanceについて解説していきます。
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制限などを回避しやすいというメリットはありますが、必要になった際に有効にするイメージでしょうか。
キャッシング利用詳細:
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