You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的yfinance库获取10年(偏好季度)财报数据?

用yfinance获取长期季度/年度财务报表的解决方案

首先,你代码报错的原因是**balancesheet是Ticker对象的属性而非方法**,不能加括号传参数,正确写法是gs.balancesheet(年度数据)或gs.quarterly_balancesheet(季度数据),但这些默认仅返回最近4年的数据。

要获取6年甚至更久的季度/年度财报,需要使用yfinance提供的get_balancesheet()、get_income_stmt()、get_cashflow()方法,这些方法支持自定义数据范围:

步骤1:确保yfinance是最新版本

先升级到最新版,避免旧版本缺少相关方法:

pip install --upgrade yfinance

步骤2:获取指定年限的季度财报

以下代码可获取6年(24个季度)的三类报表:

import yfinance as yf

# 初始化目标公司Ticker
gs = yf.Ticker('GS')

# 获取季度资产负债表(24个季度=6年)
quarterly_balance_sheet = gs.get_balancesheet(period='quarterly', limit=24)
# 获取季度利润表
quarterly_income_statement = gs.get_income_stmt(period='quarterly', limit=24)
# 获取季度现金流量表
quarterly_cash_flow = gs.get_cashflow(period='quarterly', limit=24)

# 打印前5行验证
print(quarterly_balance_sheet.head())

步骤3:获取年度财报(可选)

如果需要年度数据,去掉period='quarterly'参数即可,比如获取10年的年度报表:

# 获取10年年度资产负债表
annual_balance_sheet = gs.get_balancesheet(period='annual', limit=10)

注意事项

  • limit参数指定要获取的报表数量:季度报表每年4个,6年就设为24;年度报表直接设为对应年限即可。
  • 若设置period='max',会获取Yahoo Finance上存储的所有可用历史数据,但部分公司可能没有10年这么久的公开财报,具体数据量取决于数据源。

内容的提问来源于stack exchange,提问作者jacopo salmistrari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 09:18:31