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

如何用yahoo_fin获取AAPL的TTM利润表数据?

解决获取AAPL利润表TTM数据的问题

问题原因

yahoo_fin的get_income_statement方法默认返回年度财务数据,若要获取TTM(滚动十二个月)数据,需要调整参数或换用工具实现。


方法1:用yahoo_fin获取季度数据后计算TTM

yahoo_fin本身没有直接输出TTM的接口,但可以先获取季度数据,再手动计算最近4个季度的总和得到TTM结果:

from yahoo_fin import stock_info as si
import pandas as pd

pd.set_option('display.max_columns', None)

# 获取AAPL的季度利润表
quarterly_income = si.get_income_statement("aapl", yearly=False)

# 计算TTM:取最近4个季度的数值求和
ttm_income = quarterly_income.iloc[:, :4].sum(axis=1)
ttm_income = pd.DataFrame(ttm_income, columns=["TTM"])

print(ttm_income)

说明

  • yearly=False:指定接口返回季度数据而非年度
  • iloc[:, :4]:选取表格中最近的4个季度列
  • sum(axis=1):按行(即每个财务指标)求和,得到滚动12个月的TTM值

方法2:用yfinance直接获取TTM利润表

yfinance库支持直接获取TTM格式的财务数据,实现更简便:

import yfinance as yf
import pandas as pd

pd.set_option('display.max_columns', None)

# 初始化AAPL的Ticker对象
aapl = yf.Ticker("AAPL")

# 方式1:从完整利润表中提取TTM列
ttm_income = aapl.income_stmt.T["TTM"].T

# 方式2:直接指定freq参数获取TTM数据
# ttm_income = aapl.get_income_stmt(freq="ttm")

print(ttm_income)

说明

  • aapl.income_stmt默认包含年度和TTM数据,通过转置后提取"TTM"列即可
  • get_income_stmt(freq="ttm")是更直接的方式,仅返回TTM格式的利润表

内容的提问来源于stack exchange,提问作者Economist Learning Python

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:18:29