Type: entity
Confidence: 0.90
Created: 2026-04-25
Updated: 2026-04-25
Tags: financestocksdataapipython-librarymarket-dataquantitative-finance工具与框架

yfinance

概述

yfinance是Yahoo Finance非官方Python封装库,提供零配置访问全球60+国家市场的股票数据,包括历史行情、财务报表、期权链等,适用于学术研究和策略原型验证。

关键内容

  1. 项目背景
  2. 最新版本:1.2.1(2026-04-07,活跃维护)
  3. 作者:Ran Aroussi(2019年从fix-yahoo-finance改名)
  4. 许可证:Apache 2.0
  5. Python要求:≥ 3.8
  6. 数据源:Yahoo Finance公开接口(非官方,爬取+非公开API)
  7. 市场覆盖:美股、港股、A股、ETF、加密货币、外汇、期货、指数

  8. 核心API体系

  9. Ticker对象:核心功能模块
    • ticker.history() - 获取历史K线数据(OHLCV + Dividends + Splits)
    • ticker.fast_info - 轻量级实时快照(价格/市值/PE)
    • ticker.financials, ticker.quarterly_financials - 财务报表(年度/季度)
    • ticker.balance_sheet, ticker.quarterly_balance_sheet - 资产负债表
    • ticker.cashflow, ticker.quarterly_cashflow - 现金流量表
    • ticker.info - 公司概况(完整JSON字典)
    • ticker.calendar - 财报/股息日历
    • ticker.analyst_price_targets, ticker.recommendations - 分析师评级
    • ticker.major_holders, ticker.institutional_holders - 股东结构
    • ticker.option_chain() - 期权链数据(calls + puts)
    • ticker.dividends, ticker.splits, ticker.actions - 股息拆股记录
    • ticker.news - 相关新闻
  10. 批量下载yf.download()函数用于批量获取多股票数据
    • 支持时间范围参数:start, end, period
    • 支持多只股票返回MultiIndex DataFrame
    • 支持多线程下载:threads=True
    • 支持自动复权:auto_adjust=True
  11. Sector/Industry API:v1.0+新增的行业分析API
    • Sector("technology") - 行业概览(头部公司、相关ETF等)
    • Industry("semiconductors") - 子行业分析
  12. Multi-Ticker操作yf.Tickers()批量管理多个Ticker对象

  13. 全球市场代码规范

  14. 美股:直接使用代码(如AAPL, MSFT
  15. 港股:4-5位数字 + .HK(如0700.HK, 09988.HK
  16. A股:6位数字 + .SS(上交所)或 .SZ(深交所)(如600519.SS, 000001.SZ
  17. 指数:^前缀(如^GSPC, ^HSI
  18. 外汇:XXXYYY=X(如EURUSD=X
  19. 加密货币:XXX-USD(如BTC-USD
  20. ETF:直接使用代码(如SPY, QQQ

  21. 历史数据限制

  22. 1m (1分钟) - 仅最近7天
  23. 2m/5m/15m/30m - 仅最近60天
  24. 60m/90m/1h - 仅最近730天
  25. 1d (1日) - 无限制(约20年+)
  26. 5d/1wk/1mo/3mo - 无限制

  27. 限流与反爬处理

  28. 常见HTTP 429错误(Too Many Requests)
  29. 解决方案:请求间增加延迟、使用requests_cache本地缓存、代理池
  30. 推荐使用requests_cache进行缓存,避免重复请求
  31. 分块批量下载可降低单次请求压力

  32. 优势与局限性

  33. 优势:零配置、全球市场覆盖、数据丰富、免费、Pythonic集成、活跃维护
  34. 局限性:非官方(随时可能失效)、限流风险、A股数据质量差、不适合生产环境、法律灰色地带、数据延迟(约15分钟)

  35. 适用场景

  36. 适合:学术研究、量化策略原型验证、个人投资者分析、教学演示、期权策略研究
  37. 不适合:生产级交易系统、高频/日内策略、大批量自动化下载、商业产品内置数据层

来源

相关