用途:直接调用 Yahoo Finance 非官方接口获取金融数据,覆盖股票、ETF、加密货币、外汇、债券、指数、期权、基本面与新闻,返回纯 JSON,不经过 yfinance 等封装。基础地址为 https://query1.finance.yahoo.com,备用 https://query2.finance.yahoo.com。
主要能力:v8/finance/chart 获取 OHLCV 历史数据(支持 range、interval、div/splits 事件);v7/finance/quote 获取实时报价;v10/finance/quoteSummary 获取基本面(含 33 个模块);v7/finance/options 获取期权链;v1/finance/search 搜索与新闻;另有 trending、lookup、recommendations 等端点。支持国际代码后缀,如 .BA(阿根廷)、.SA(巴西)、.MX(墨西哥)、-USD(加密)、=X(外汇)、^(指数)。
使用方式:部分端点需 cookie + crumb 认证,示例中通过访问 fc.yahoo.com 获取 cookie,再请求 /v1/test/getcrumb 取得 crumb 并附加到会话参数;v8/finance/chart 仅需浏览器 User-Agent。技能提供脚本:batch_fetch.py(多标的批量,token bucket 限速 + ThreadPoolExecutor)、fetch_all.py(综合抓取)、fetch_quote.py、download_historical.py。示例命令:py scripts/batch_fetch.py --tickers AAPL,MSFT,NVDA --chart --rate 2.0;python scripts/fetch_all.py --ticker AAPL --all。
适用场景:量化研究、行情监控、基本面与期权数据采集、新闻检索等。
限制:Yahoo 自 2017 年起无官方公开 API,端点非官方且可能随时变更;建议限速约 2 req/s,3-5 req/s 易触发 429,超过 10 req/s 可能临时封 IP;需实现指数退避与错误处理。常见错误包括 401(缺 crumb)、429(限速)、crumb 过期、无效代码返回空结果、默认 User-Agent 被拦截。完整端点、字段与错误码见 references/API_REFERENCE.md。