Income Statements TTMTTM 利润表
该接口返回标的最近十二个月的滚动利润表,用于消除季节性、按月跟踪营收与利润趋势。
https://quote-fmp.com/stable/income-statement-ttm?symbol=AAPL数据更新周期
Filing Date · 随 SEC 申报日期更新
接口说明
- TTM 是派生口径,不是财报原表:它把最近四个季度的数值滚动加总,period 固定为 TTM,date 为该窗口的截止日。跨财年时会出现「上一财年 Q4 + 本财年 Q1~Q3」的组合。
- 和年度报表的分工:年度接口(period=annual)是审计口径,适合引用「年报数字」;TTM 适合算同增、估值倍数和趋势。两者不要混在同一张表里比较。
- limit 控制历史窗口数:要画趋势线就传 8、12 这类值,取回多个 TTM 截止日的数据点,当单一端点维度不足时,可结合「TTM 资产负债表」拼装出更全面的分析视图。
- 上下游关联接口:Balance Sheet Statement Growth(资产负债表增长数据) · Cashflow Statement Growth(现金流量表增长数据) · Stock Price and Volume Data(日线完整行情) · Financial Estimates(分析师预期查询)
请求参数
2 个参数| 参数 | 类型 | 要求 | 示例 | 说明 |
|---|---|---|---|---|
symbol | string | 必填 | AAPL | 证券代码,例如 AAPL 或 MSFT(美股直传代码如 AAPL;港股/英股/A股须带交易所后缀,如 0700.HK、600519.SS) |
limit | number | 可选 | 5 | 返回结果条数上限,用于控制单次响应大小。 |
调用代码示例
Python 关键代码对接 /stable/income-statement-ttm(TTM 利润表,必填 symbol),从 DataFrame 可直接读取 revenue(营业收入)、costOfRevenue(营业成本)、grossProfit(毛利润)。
resp = requests.get(
"https://quote-fmp.com/stable/income-statement-ttm",
params={"symbol": "AAPL", "limit": 5, "apikey": FMP_KEY},
timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 保留上游 acceptedDate 并清洗 revenue;可见时间须另核对披露来源和时区
df["reported_accepted_time"] = pd.to_datetime(df["acceptedDate"], errors="coerce")
df["revenue"] = pd.to_numeric(df["revenue"], errors="coerce")参数使用和避坑
3 组参数组合 · 2 条避坑以下列出本接口在高频投研与回测场景下的常用 Query 参数组合写法:
| 投研场景 | Query 参数组合示例 | 返回数据特征与用途 |
|---|---|---|
| 定向上游请求 AAPL TTM 利润表(symbol=AAPL) | symbol=AAPL | 请求 /stable/income-statement-ttm?symbol=AAPL,产出该标的的 revenue、costOfRevenue、grossProfit(样本 451442000000)等 39 列明细。 |
| 设置返回条数上限(limit=100)回溯 AAPL TTM 利润表 | symbol=AAPL&limit=100 | 通过条数上限参数请求 /stable/income-statement-ttm,单次拉回 AAPL 更长历史周期的 revenue、costOfRevenue、grossProfit。 |
| 跨市场检索 0700.HK 的TTM 利润表数据 | symbol=0700.HK | 通过 symbol=0700.HK 请求 /stable/income-statement-ttm,实现TTM 利润表在港股市场的同口径采集(含 revenue、costOfRevenue、grossProfit)。 |
/stable/income-statement-ttm 返回 acceptedDate(样本 2026-05-01 10:01:00),但字段名不保证它在所有市场都是实际公开时刻。对经核实的 SEC 申报,可结合接收时间和时区判断可见性;非美标的、与期末同日的零点时间或回填日期,须先核对原始披露来源。未核实前保留原值,不据此承诺回测已消除前视偏差。
/stable/income-statement-ttm 共返回 39 列,入库 UPSERT 主键推荐取 (symbol, cik, date),并对 revenue(451442000000)与 costOfRevenue(235371000000) 执行 pd.to_numeric。
返回数据
39 个字段本接口示例响应共包含 39 个字段(数值型 31 个,文本/日期/布尔型 8 个)。下表列出全部字段名、类型、首条记录真实样本值与中文释义,实际返回会因接口与数据状态有所不同。
| 字段 | 类型 | 示例值 | 说明 |
|---|---|---|---|
date | string | "2026-03-28" | 日期 |
symbol | string | "AAPL" | 证券代码 |
reportedCurrency | string | "USD" | 报告币种(原始财报计价币种;跨国公司对比或与美元市值相除前须先按汇率折算) |
cik | string | "0000320193" | SEC CIK 编号(SEC 10 位定长中央索引键,落库须定义为 VARCHAR(10) 字符串以防前导零丢失) |
filingDate | string | "2026-05-01" | 申报日期(监管申报日期;若同表含 acceptedDate,实盘事件对齐应优先取 acceptedDate) |
acceptedDate | string | "2026-05-01 10:01:00" | 受理日期(SEC 精确到秒接收时间戳;Point-in-Time 量化回测须以此时间为准以防未来函数) |
fiscalYear | string | "2026" | 财政年度 |
period | string | "Q2" | 报告周期 |
revenue | number | 451442000000 | 营业收入 |
costOfRevenue | number | 235371000000 | 营业成本 |
grossProfit | number | 216071000000 | 毛利润 |
researchAndDevelopmentExpenses | number | 40038000000 | 研发费用 |
generalAndAdministrativeExpenses | number | 2095000000 | 管理费用 |
sellingAndMarketingExpenses | number | 5397000000 | 销售及推广费用 |
sellingGeneralAndAdministrativeExpenses | number | 28667000000 | 销售、管理及一般费用(SG&A) |
otherExpenses | number | 0 | 其他费用 |
operatingExpenses | number | 68705000000 | 营业费用 |
costAndExpenses | number | 304076000000 | 成本及费用合计 |
netInterestIncome | number | 0 | 利息净收入 |
interestIncome | number | 0 | 利息收入 |
interestExpense | number | 0 | 利息费用 |
depreciationAndAmortization | number | 12610000000 | 折旧与摊销 |
ebitda | number | 160332000000 | 息税折旧摊销前利润(EBITDA) |
ebit | number | 147670000000 | 息税前利润(EBIT) |
nonOperatingIncomeExcludingInterest | number | -408000000 | 营业外收入(不含利息) |
operatingIncome | number | 147366000000 | 营业利润 |
totalOtherIncomeExpensesNet | number | 304000000 | 其他收入(费用)净额 |
incomeBeforeTax | number | 147670000000 | 税前利润 |
incomeTaxExpense | number | 25095000000 | 所得税费用 |
netIncomeFromContinuingOperations | number | 122575000000 | 持续经营净利润 |
netIncomeFromDiscontinuedOperations | number | 0 | 终止经营净利润 |
otherAdjustmentsToNetIncome | number | 0 | 净利润的其他调整项 |
netIncome | number | 122575000000 | 净利润 |
netIncomeDeductions | number | 0 | 净利润扣减项 |
bottomLineNetIncome | number | 122575000000 | 最终净利润 |
eps | number | 8.29 | 每股收益 |
epsDiluted | number | 8.27 | 摊薄每股收益 |
weightedAverageShsOut | number | 14710718000 | 加权平均流通股数(基本加权平均流通股本,不含潜在稀释证券) |
weightedAverageShsOutDil | number | 14768115000 | 摊薄加权平均流通股数(含期权、可转债等潜在稀释效应的加权平均摊薄总股本,计算摊薄 EPS 的分母) |
查看响应数据示例(原始 JSON)
[
{
"date": "2026-03-28",
"symbol": "AAPL",
"reportedCurrency": "USD",
"cik": "0000320193",
"filingDate": "2026-05-01",
"acceptedDate": "2026-05-01 10:01:00",
"fiscalYear": "2026",
"period": "Q2",
"revenue": 451442000000,
"costOfRevenue": 235371000000,
"grossProfit": 216071000000,
"researchAndDevelopmentExpenses": 40038000000,
"generalAndAdministrativeExpenses": 2095000000,
"sellingAndMarketingExpenses": 5397000000,
"sellingGeneralAndAdministrativeExpenses": 28667000000,
"otherExpenses": 0,
"operatingExpenses": 68705000000,
"costAndExpenses": 304076000000,
"netInterestIncome": 0,
"interestIncome": 0,
"interestExpense": 0,
"depreciationAndAmortization": 12610000000,
"ebitda": 160332000000,
"ebit": 147670000000,
"nonOperatingIncomeExcludingInterest": -408000000,
"operatingIncome": 147366000000,内容已截断,完整字段以实际返回为准。
计算口径对照:本接口涉及的滚动十二个月(TTM)利润表科目的解析与兜底公式,可查看 财务报表解析与兜底计算公式 →
常见问题解答(FAQ)
2 个问题为什么「Financial StatementsTTM」同时提供TTM 利润表(/stable/income-statement-ttm)和 TTM 资产负债表(/stable/balance-sheet-statement-ttm)两个端点?
/stable/income-statement-ttm(TTM 利润表,必填 symbol)专门针对 revenue(营业收入)与 grossProfit(毛利润)等 39 个字段建模;若要结合 Balance Sheet Statements TTM(TTM 资产负债表),可再调 /stable/balance-sheet-statement-ttm(必填 symbol)。
在量化生产环境中,如何高效拉取TTM 利润表(/stable/income-statement-ttm)的历史序列或批量截面?
建议在 /stable/income-statement-ttm 中显式调大 limit 参数(如 limit=100)单次拉取多期记录;拿到 revenue(营业收入)等数据后,先校验 len(data) > 0 再送入下游清洗管道。
同模块相关接口对比
Financial StatementsTTM本接口路径 /stable/income-statement-ttm,必填参数 symbol。 同一模块「Financial StatementsTTM」下共 3 个接口,下表列出其余 2 个, 按粒度与查询维度对比,避免选错接口。