美股财报数据怎么获取?FMP 三大财务报表、TTM 滚动指标与 66 项财务比率公式对账指南(Financial Statements & Ratios API)

在搭建美股基本面多因子库、财务排雷模型或自动化估值看板时,很多量化开发者和投研分析师都会问同一个问题:美股财报数据从哪获取最省心?如果直接去 SEC EDGAR 解析原始 XBRL 标签,不仅要面对上万条自定义会计科目(Taxonomy Extension)的映射难题,还要自己编写滚动十二个月(TTM)拼接、股本加权分母对齐以及六十多项财务比率的派生逻辑;而如果只从免费网页抓取简表,又经常在核对净资产收益率(ROE)、投入资本回报率(ROIC)、资产负债率或企业价值倍数(EV/EBITDA)时,发现手算结果与券商研报或终端数据相差几个百分点。

围绕 Statements(财务报表接口)分类下的标准化三大报表、TTM 滚动报表与衍生指标体系,以及站内 FMP 财务指标计算公式与评分模型大全 收录的 15 条报表兜底解析算式与 66 项财务比率公式,我们于北京时间 2026-11-10 22:53 实盘拉取了苹果(AAPL)、微软(MSFT)、英伟达(NVDA)、谷歌(GOOGL)、亚马逊(AMZN)、Meta(META)与特斯拉(TSLA)7 家美股科技龙头的最新年报、最近四个财季季报及 TTM 财务快照。下文将从合并报表会计恒等式、TTM 流量与存量分母错配、66 项财务比率中英文公式核对到企业价值(EV)净债务扣减规则,逐一把底层字段与实盘算例对齐。

获取美股三大财务报表(利润表 / 资产负债表 / 现金流量表)时,为什么自己写公式算比率总跟研报对不上?

在美股财报工程落地中,最省心的路径是直接调用已将 SEC 10-K 年报与 10-Q 季报清洗为统一会计科目的三大核心报表接口:Income Statement(利润表接口)、Balance Sheet Statement(资产负债表接口)与 Cash Flow Statement(现金流量表接口),三者分别返回 39 个、61 个与 47 个标准化字段。这三个接口均通过 period 参数支持 annual(年报)、quarter(季报)或具体财季检索,并同时保留财报结账日 date、SEC 申报日期 filingDate 以及精确到秒的 SEC EDGAR 签收时间戳 acceptedDate(例如苹果 2026 财年结账日 date 为 2026-09-26,而 SEC 正式签收时间 acceptedDate 为 2026-11-03 08:05:15),便于投研系统区分会计报告期与财报实际公开时点。

即便拿到了结构化的三大报表,开发者在本地手算财务比率时仍然极易踩中三处会计口径陷阱:

  1. 合并资产负债表的少数股东权益(minorityInterest)缺口:许多脚本直接按教科书简写公式验证 totalAssets == totalLiabilities + totalStockholdersEquity(总资产 = 总负债 + 归母股东权益)。但在合并报表准则下,只要控股子公司存在非全资股东,总权益就必须包含少数股东权益,完整会计恒等式为 totalAssets == totalLiabilities + totalEquity,其中 totalEquity == totalStockholdersEquity + minorityInterest。对照我们在 如何批量下载全美股财报与历史收盘价?从 yfinance 限流排障到 FMP Bulk 批量接口建库实战 中按活跃普通股条件筛选并与 2024 财年美元三表匹配的 4,549 个美股样本普查,共有 1,424 家(占比 31.30%)的 minorityInterest 非零;若按归母股东权益校验恒等式,有 1,446 家(占比 31.79%)无法闭合(仅 3,103 家闭合),而改用合并总权益 totalEquity 后闭合数立即升至 4,504 家(占比 99.01%)。
  2. 资产负债表恒等式用合并总权益(totalEquity),但 ROE 分母却用归母股东权益(totalStockholdersEquity):这是最隐蔽的交叉口径差异。由于利润表底线科目 netIncome 在标准化报表中对应归属于普通股股东的净利润,FMP 在计算年报净资产收益率 returnOnEquity 时,分母严格采用归母股东权益 totalStockholdersEquity 而非合并总权益 totalEquity。
  3. 自由现金流(freeCashFlow)的正负号方向:在 Cash Flow Statement(现金流量表接口)中,资本开支 capitalExpenditure 作为投资期现金流出,以负数存储(例如苹果 2026 财年经营现金流 operatingCashFlow 为 1,450.97 亿美元,资本开支 capitalExpenditure 为 -90.41 亿美元,自由现金流 freeCashFlow 为 1,360.56 亿美元;微软 2026 财年三项分别为 1,829.35 亿美元、-1,159.48 亿美元与 669.87 亿美元)。因此自由现金流的底层算式是代数相加 operatingCashFlow + capitalExpenditure,若在代码里写成相减就会变成重复加回资本开支。

下表汇总了 7 家美股科技龙头最新财年(FY)的归母净利润与合并资产负债表权益结构对账结果(表格上方的长字段英文名与表内中文列一一对应:netIncome 对应归母净利润,totalAssets 对应总资产,totalLiabilities 对应总负债,totalStockholdersEquity 对应归母股东权益,minorityInterest 对应少数股东权益,totalEquity 对应合并总权益;各公司当年营业收入 revenue 分别为苹果 4,788.34 亿、微软 3,318.39 亿、英伟达 2,159.38 亿、谷歌 4,028.36 亿、亚马逊 7,169.24 亿、Meta 2,009.66 亿、特斯拉 948.27 亿美元):

股票代码财年结账日归母净利润总资产总负债归母股东权益少数股东权益合并总权益
AAPL2026-09-261,321.75 亿4,045.48 亿2,924.55 亿1,120.93 亿0.00 亿1,120.93 亿
MSFT2026-06-301,337.49 亿7,583.76 亿3,159.89 亿4,423.87 亿0.00 亿4,423.87 亿
NVDA2026-01-251,200.67 亿2,068.03 亿495.10 亿1,572.93 亿0.00 亿1,572.93 亿
GOOGL2025-12-311,321.70 亿5,952.81 亿1,800.16 亿4,152.65 亿0.00 亿4,152.65 亿
AMZN2025-12-31776.70 亿8,180.42 亿4,069.77 亿4,110.65 亿0.00 亿4,110.65 亿
META2025-12-31604.58 亿3,660.21 亿1,487.78 亿2,172.43 亿0.00 亿2,172.43 亿
TSLA2025-12-3137.94 亿1,378.06 亿549.41 亿821.37 亿7.28 亿828.65 亿

以表中唯一存在非零少数股东权益的特斯拉(TSLA)为例:其 2025 财年总资产 totalAssets 为 1,378.06 亿美元,总负债 totalLiabilities 为 549.41 亿美元,归母股东权益 totalStockholdersEquity 为 821.37 亿美元。如果直接用总资产减去总负债与归母股东权益之和,会留出整整 7.28 亿美元的缺口,正好等于其少数股东权益 minorityInterest(7.28 亿美元,2026 年三季报中该项为 5.46 亿美元);而改用合并总权益 totalEquity(828.65 亿美元)后,恒等式残差归零。反过来,在核对特斯拉 2025 财年的净资产收益率 returnOnEquity 时,用归母净利润 37.94 亿美元除以归母股东权益 821.37 亿美元得到 4.6191%(4.62%),与接口返回值一致;若误除以合并总权益 828.65 亿美元则会得出 4.5785%。此外,当部分早期财报或特殊行业公司缺失某些汇总科目时,FMP 解析管线会调用 FMP 财务指标计算公式与评分模型大全 中公开的 15 条兜底推算算式自动补齐,若需对照 SEC 10-K 原始扩展标签则可配合调用 As Reported Financial Statements(原始申报财务报表接口)。

拿年报做同行对比总被错位财年干扰?拆解滚动十二个月(TTM Statements)的流量加总与资产负债表存量快照口径

在跨公司横向对比时,由于美股允许企业自主设定财年结账月(例如样本中苹果 2026 财年于 2026-09-26 结账、微软于 2026-06-30 结账、英伟达于 2026-01-25 结账,苹果与英伟达最新年报结账日之间相差达 8 个月),直接拿单季季报对比会混入季节性波动,拿年报对比又会产生数个月的报告期错位。为此,FMP 提供了三个专门的滚动十二个月报表接口:Income Statements TTM(TTM 利润表接口)、Balance Sheet Statements TTM(TTM 资产负债表接口)与 Cashflow Statements TTM(TTM 现金流量表接口),若需监控全市场刚刚披露财报的标的,还可先查询 Latest Financial Statements(最新财务报表接口)。

不少刚接触财务 API 的开发者在查询“资产负债表 TTM”时会产生疑惑:为什么利润表 TTM 和现金流量表 TTM 的核心经营数字大约是单季的 4 倍,而 Balance Sheet Statements TTM(TTM 资产负债表接口)返回的数字却跟最新一期季报几乎一样?这里涉及财务会计中期间流量(Flow)与时点存量(Stock)的本质分野:

  1. 利润表与现金流量表的期间流量科目按连续四季累加:营业收入 revenue、归母净利润 netIncome、息税折旧摊销前利润 ebitda、经营活动现金流 operatingCashFlow 与自由现金流 freeCashFlow 计量的是一段时间内的发生额。实测 7 家科技巨头上述核心流量指标,TTM 接口返回值与最近连续四个财季季报累加值的差额全部为 0(需注意流量表内附带的期末现金余额 cashAtEndOfPeriod 或加权平均股数属于时点或期间均值科目,不可简单四期相加)。
  2. 资产负债表属于时点存量表,核心科目取最新季末快照:总资产 totalAssets、货币资金 cashAndCashEquivalents、总有息债务 totalDebt 与归母股东权益 totalStockholdersEquity 记录的是特定结账日的账户余额,若把四个季度的总资产相加会造成四倍重复计算。逐字段比对 7 家公司 Balance Sheet Statements TTM(TTM 资产负债表接口)与最新一期单季季报(Q0)的 61 个字段:苹果、谷歌、亚马逊与 Meta 四家公司的全部 61 个字段完全相同;微软、英伟达与特斯拉三家除融资租赁负债汇总项 capitalLeaseObligations 1 个字段与单季季报取值不同外(微软 TTM 为 217.19 亿美元、Q0 季报为 984.50 亿美元;英伟达为 49.85 亿 vs 54.94 亿美元;特斯拉为 0 vs 71.78 亿美元,实际工程中若单独分析租赁负债建议以季报或年报接口为准),其余 60 个资产、负债与股东权益字段均直接取最新单季期末快照。
  3. 最容易算错的跨表 TTM 比率分母(returnOnEquityTTM 四季均值 vs returnOnAssetsTTM 期末快照):这是我们在对拍 Key Metrics TTM(TTM 关键指标接口)时实测验证出的核心细节。当分子取自流量表(四季累计净利润)、分母取自存量表(资产或股东权益)时,FMP 对不同 TTM 回报率采用了不同的分母平滑策略:

下表展示了 7 家科技巨头在最新财季下的 TTM 累计净利、近四季归母股东权益均值,以及 returnOnEquityTTM 与 returnOnAssetsTTM 的实盘对账结果(各公司四季累计营业收入 revenue 分别为苹果 4,788.34 亿、微软 3,464.45 亿、英伟达 3,029.69 亿、谷歌 4,710.98 亿、亚马逊 7,974.55 亿、Meta 2,416.07 亿、特斯拉 1,035.70 亿美元):

股票代码最新季结账日四季累计净利最新季末归母权益近四季平均归母权益接口 TTM ROE期末权益误算 ROE接口 TTM ROA
AAPL2026-09-261,321.75 亿1,120.93 亿1,035.735 亿127.61%117.92%32.67%
MSFT2026-09-301,426.31 亿4,705.09 亿4,295.345 亿33.21%30.31%18.30%
NVDA2026-07-261,928.79 亿2,289.84 亿1,751.620 亿110.11%84.23%60.22%
GOOGL2026-09-302,356.94 亿6,775.49 亿5,530.100 亿42.62%34.79%23.49%
AMZN2026-09-301,347.79 亿6,136.01 亿5,045.500 亿26.71%21.97%10.84%
META2026-09-30752.49 亿2,723.86 亿2,486.327 亿30.27%27.63%15.71%
TSLA2026-09-3032.18 亿892.89 亿856.000 亿3.76%3.60%2.04%

从上表可以直观看到:英伟达(NVDA)由于过去四个财季净资产从 1,188.97 亿美元高速增长至 2,289.84 亿美元,近四季平均归母股东权益为 1,751.620 亿美元。用四季累计净利润 1,928.79 亿美元除以四季均值 1,751.620 亿美元,得到 110.1146%(110.11%),与 Key Metrics TTM(TTM 关键指标接口)返回的 1.101146 在小数点后 6 位上完全吻合;如果开发者误拿 TTM 资产负债表里的期末权益 2,289.84 亿美元做分母,算出的 TTM ROE 只有 84.23%,两者相差高达 25.88 个百分点。同理,苹果(AAPL)刚刚披露完 2026 财年第四季报(2026-09-26),其年报 returnOnEquity 按期末权益计算为 117.92%,而 returnOnEquityTTM 按四个季度平均权益(1,035.735 亿美元)计算则为 127.61%。

关键财务指标(Key Metrics)与财务比率(Financial Ratios)接口怎么分工?中英文核心财务比率计算公式核对

很多量化团队在初看文档时会问:FMP 为什么把衍生财务指标拆成 Key Metrics(关键指标接口)和 Financial Ratios(财务比率接口)两个端点?它们的滚动版本 Key Metrics TTM(TTM 关键指标接口)与 Financial Ratios TTM(TTM 财务比率接口)又该如何搭配?

通过对实盘返回 JSON 的全字段比对,这两个接口在职能边界上高度互补,除 symbol、date、fiscalYear、period、reportedCurrency 5 个元数据字段外,业务指标中仅有流动比率 currentRatio 一项重叠:

站内专门整理的 FMP 财务指标计算公式与评分模型大全 页面,完整收录了八大类共 66 项财务比率计算公式条目(按页面章节依次为:估值比率 15 项、利润率/盈利能力 13 项、偿债能力/杠杆 10 项、流动性 4 项、运营效率 13 项、现金流周期 5 项、股利 2 项、其他 4 项,剔除两处跨分类对照重复后对应 64 个独立计算式)。为了避免开发者在本地复现时因同名异义科目算错,我们挑选了最常引发对账争议的 10 项核心中英文财务比率,以苹果(AAPL,2026 财年)与微软(MSFT,2026 财年)实盘数据逐一核验底层计算公式:

指标中文名接口字段名所属接口实盘验证底层计算公式AAPL 实测值MSFT 实测值
毛利率grossProfitMarginratiosgrossProfit / revenue48.79%67.94%
营业利润率operatingProfitMarginratiosoperatingIncome / revenue33.01%46.78%
净利率netProfitMarginratiosnetIncome / revenue27.60%40.31%
有效税率effectiveTaxRateratiosincomeTaxExpense / incomeBeforeTax16.99%19.40%
流动比率currentRatioratiostotalCurrentAssets / totalCurrentLiabilities1.02321.2303
产权比率(有息债务口径)debtToEquityRatioratiostotalDebt / totalStockholdersEquity0.71470.2912
资产负债率(有息债务口径)debtToAssetsRatioratiostotalDebt / totalAssets19.80%16.98%
财务杠杆倍数(权益乘数)financialLeverageRatioratiostotalAssets / totalStockholdersEquity3.60901.7143
投入资本回报率(ROIC)returnOnInvestedCapitalkey-metricsNOPAT / (totalEquity + totalNonCurrentLiabilities + shortTermDebt + capitalLeaseObligationsCurrent)53.22%20.56%
资本占用回报率(ROCE)returnOnCapitalEmployedkey-metricsoperatingIncome / (totalAssets - totalCurrentLiabilities)67.37%26.33%

在将公式页的通用财务定义与 API 实盘返回值逐项对拍时,有三处公式文档定义 vs 接口实盘落地口径的关键差异必须特别指出:

第一,debtToEquityRatio 与 debtToAssetsRatio 在接口实盘中的分子是总有息债务 totalDebt,而不是总负债 totalLiabilities。尽管通用会计教材及公式页 #ratios-3 将产权比率与资产负债率写作总负债 totalLiabilities 口径,但美股信用与投研分析更关注带息杠杆。实盘核验 7 家科技公司表明,Financial Ratios(财务比率接口)中的 debtToEquityRatio 等于 totalDebt / totalStockholdersEquity(苹果为 801.11 除以 1,120.93 等于 0.714683,若用总负债 2,924.55 除以 1,120.93 则为 2.609039);同理,debtToAssetsRatio 等于 totalDebt / totalAssets(苹果为 801.11 除以 4,045.48 等于 0.198026,即 19.80%)。如果你确实需要衡量包含应付账款与递延收入在内的总负债杠杆,可直接读取权益乘数 financialLeverageRatio(totalAssets / totalStockholdersEquity,苹果为 3.6090),在无少数股东权益时 financialLeverageRatio - 1 即等于 totalLiabilities / totalStockholdersEquity(3.609039 减 1 等于 2.609039)。

第二,投入资本回报率 returnOnInvestedCapital(ROIC)遵循融资端四段式分母,而资本占用回报率 returnOnCapitalEmployed(ROCE)在年报接口中采用当期期末分母。对照 FMP 财务指标计算公式与评分模型大全 中的 ROIC 定义,分子税后净营业利润(NOPAT)等于 operatingIncome * (1 - effectiveTaxRate),分母等于 totalEquity + totalNonCurrentLiabilities + shortTermDebt + capitalLeaseObligationsCurrent(即合并总权益 + 全部非流动负债 + 短期借款 + 流动端融资租赁负债)。用该式复算 7 家公司年报 ROIC,苹果(53.2176%)、微软(20.5646%)、英伟达(62.8804%)、谷歌(21.8019%)、亚马逊(10.6991%)、Meta(17.9503%)与特斯拉(2.9526%)全部与接口返回值吻合到小数点后 6 位。而对于 ROCE,公式页理论定义采用两期平均总资产减平均流动负债,但年报接口实测直接采用当期期末值 operatingIncome / (totalAssets - totalCurrentLiabilities)(苹果按期末值复算为 67.3661%,与接口返回值 0.673661 一致;若按两期均值计算则为 73.82%)。

第三,利息保障倍数 interestCoverageRatio 在接口实盘中采用营业利润 operatingIncome 作分子,而非广义 ebit。公式页 #ratios-3 按经典财务定义写作 ebit / interestExpense,但实测 7 家公司年报接口,分子严格取自利润表的营业利润 operatingIncome(不含营业外净利息与投资损益):例如微软 2026 财年 operatingIncome 为 1,552.37 亿美元、ebit 为 1,689.85 亿美元、利息费用 interestExpense 为 30.51 亿美元,按 operatingIncome / interestExpense 复算得到 50.8807 倍,与接口返回值 50.8807 完全一致(若按 ebit / interestExpense 计算则为 55.3868 倍)。

企业价值(Enterprise Value)与净债务(Net Debt)怎么和市盈率(PE)、EV/EBITDA 严丝合缝对账?

在并购估值与跨资本结构横向比较中,市盈率(PE)容易受到企业现金储备与举债回购的扭曲,因此机构普遍采用企业价值倍数(evToEBITDA、evToSales、evToFreeCashFlow)。在 FMP 体系下,除了从 Key Metrics(关键指标接口)直接读取算好的倍数外,还可以调用专门的 Enterprise Values(企业价值查询接口)获取每个财报周期的股本数 numberOfShares、该财年企业价值接口记录的股价 stockPrice、总市值 marketCapitalization、加回总债务 addTotalDebt、扣减现金 minusCashAndCashEquivalents 以及最终的 enterpriseValue。

为什么很多开发者自己用资产负债表加总算出的 EV 和接口对不上?症结在于现金扣减项的范围边界:

下表展示了 7 家科技巨头在最新财年结账日的市值、总有息债务、狭义现金、短期投资、净债务以及企业价值倍数的对账链条(单位:亿美元,估值倍数为倍;表头列依次对应接口字段 marketCapitalization、totalDebt、cashAndCashEquivalents、shortTermInvestments、netDebt、enterpriseValue 与 evToEBITDA):

股票代码结账日市值总有息债务狭义现金等价物短期有价证券净债务企业价值企业价值倍数
AAPL50,007.46 亿801.11 亿363.05 亿204.17 亿438.06 亿50,445.52 亿29.22 倍
MSFT27,711.66 亿1,288.08 亿209.35 亿559.08 亿1,078.73 亿28,790.39 亿13.87 倍
NVDA45,422.23 亿114.12 亿106.05 亿519.51 亿8.07 亿45,430.30 亿31.43 倍
GOOGL38,020.01 亿592.91 亿307.08 亿961.35 亿285.83 亿38,305.84 亿21.20 倍
AMZN24,596.18 亿1,529.87 亿868.10 亿362.19 亿661.77 亿25,257.95 亿15.28 倍
META16,640.87 亿838.97 亿358.73 亿457.19 亿480.24 亿17,121.11 亿16.38 倍
TSLA14,503.47 亿83.76 亿165.13 亿275.46 亿-81.37 亿14,422.10 亿122.60 倍

观察上表与估值比率接口可以印证三条关键工程规律:

  1. 巨额短期投资导致的净债务差异:微软(MSFT)在 2026 财年末持有 209.35 亿美元狭义现金及 559.08 亿美元短期投资(合计 cashAndShortTermInvestments 达 768.43 亿美元),谷歌(GOOGL)更是持有高达 961.35 亿美元的短期有价证券。FMP 的 netDebt 按 totalDebt - cashAndCashEquivalents 计算(微软为 1,288.083 减 209.35 等于 1,078.733 亿美元)。如果分析师在自定义模型中倾向于将高流动性的短期国债与有价证券一并视作广义现金抵减债务,只需直接读取资产负债表中的 totalDebt - cashAndShortTermInvestments 即可自行构建广义净债务。
  2. 净现金公司(netDebt < 0)使企业价值小于总市值:特斯拉(TSLA)在 2025 财年末的总有息债务 totalDebt 为 83.76 亿美元,狭义现金 cashAndCashEquivalents 为 165.13 亿美元,因此其净债务 netDebt 为 -81.37 亿美元。对应的企业价值 enterpriseValue(14,422.10 亿美元)比结账日总市值 marketCapitalization(14,503.47 亿美元)低 81.37 亿美元,除以当年 EBITDA(117.64 亿美元)后得到 122.5952 倍(122.60 倍)。
  3. 年报市盈率(priceToEarningsRatio)严格按每股口径 stockPrice / eps 复算:在 Financial Ratios(财务比率接口)中,7 家公司的年报 priceToEarningsRatio 均严格等于 Enterprise Values(企业价值查询接口)中该财年记录的股价 stockPrice 除以利润表基本每股收益 eps(稀释市盈率 priceToEarningsDilutedRatio 则除以 epsDiluted)。由于利润表披露的 eps 保留两位小数(如苹果 netIncome / weightedAverageShsOut 未舍入前为 9.0147 美元、报表披露 eps 为 9.01 美元;特斯拉未舍入前为 1.1765 美元、报表披露 eps 为 1.18 美元),这种两位小数舍入会导致每股口径与直接用总市值除以净利润(marketCap / netIncome)产生轻微偏差:例如苹果按 341.07 除以 9.01 复算为 37.8546 倍(与接口值 37.854606 完全一致,而市值除以净利为 37.8343 倍);特斯拉按 449.72 除以 1.18 复算为 381.1186 倍(与接口值 381.118644 完全一致,而市值 14,503.47 亿除以净利 37.94 亿则为 382.2739 倍)。

若需要进一步调取巴菲特推崇的股东盈余或破产风险评分,可同步接入同分类下的 Owner Earnings(股东盈余(Owner Earnings)接口)与 Financial Scores(财务健康评分接口)(例如实测苹果最新 Piotroski F-Score 为满分 9 分、Altman Z-Score 为 13.04),其底层五步推算流程与 9 项打分规则均已在 FMP 财务指标计算公式与评分模型大全 中完整列出。

如何用 Python 一键拉取苹果(AAPL)三大报表与核心财务比率并自动校验合并报表恒等式?

下面的 Python 脚本演示了如何从 https://quote-fmp.com/stable 批量拉取苹果(AAPL)、微软(MSFT)与特斯拉(TSLA)的最新年报、近四季季报及 TTM 关键指标,并在本地自动完成三项断言校验与对账打印:① 校验归母股东权益恒等式差额严格等于 minorityInterest、合并总权益恒等式残差与自由现金流恒等式残差均为 0;② 核对有息负债产权比率 debtToEquityRatio 与投入资本回报率 returnOnInvestedCapital(ROIC);③ 验证 returnOnEquityTTM(四季平均归母权益分母)与 returnOnAssetsTTM(最新季末总资产分母)的跨表勾稽精度。运行前请先在终端设置环境变量(Linux/macOS 执行 export FMP_KEY="你的密钥",Windows PowerShell 执行 $env:FMP_KEY="你的密钥"):

import os
import requests

API_KEY = os.environ["FMP_KEY"]
BASE_URL = "https://quote-fmp.com/stable"


def fetch(endpoint: str, symbol: str, **params) -> list[dict]:
    resp = requests.get(f"{BASE_URL}/{endpoint}", params={"symbol": symbol, "apikey": API_KEY, **params}, timeout=15)
    resp.raise_for_status()
    return resp.json()


for sym in ("AAPL", "MSFT", "TSLA"):
    inc = fetch("income-statement", sym, period="annual", limit=1)[0]
    bs = fetch("balance-sheet-statement", sym, period="annual", limit=1)[0]
    cf = fetch("cash-flow-statement", sym, period="annual", limit=1)[0]
    km = fetch("key-metrics", sym, period="annual", limit=1)[0]
    rat = fetch("ratios", sym, period="annual", limit=1)[0]
    inc_q4 = fetch("income-statement", sym, period="quarter", limit=4)
    bs_q4 = fetch("balance-sheet-statement", sym, period="quarter", limit=4)
    km_ttm = fetch("key-metrics-ttm", sym)[0]

    # 1. 三表恒等式与少数股东权益自动断言校验
    gap_parent = bs["totalAssets"] - (bs["totalLiabilities"] + bs["totalStockholdersEquity"])
    gap_total = bs["totalAssets"] - (bs["totalLiabilities"] + bs["totalEquity"])
    fcf_diff = cf["freeCashFlow"] - (cf["operatingCashFlow"] + cf["capitalExpenditure"])
    assert gap_total == 0 and gap_parent == bs["minorityInterest"] and fcf_diff == 0

    # 2. 有息负债产权比率 (totalDebt) 与投入资本回报率 (ROIC) 手算对账
    de_calc = bs["totalDebt"] / bs["totalStockholdersEquity"]
    tax_rate = inc["incomeTaxExpense"] / inc["incomeBeforeTax"]
    ic_roic = bs["totalEquity"] + bs["totalNonCurrentLiabilities"] + bs["shortTermDebt"] + bs["capitalLeaseObligationsCurrent"]
    roic_calc = inc["operatingIncome"] * (1.0 - tax_rate) / ic_roic

    # 3. TTM 滚动 ROE(四季均值分母)与 ROA(最新期末分母)对账
    assert len(inc_q4) == 4 and [q["date"] for q in inc_q4] == [q["date"] for q in bs_q4]
    ni_4q = sum(q["netIncome"] for q in inc_q4)
    roe_ttm_calc = ni_4q / (sum(q["totalStockholdersEquity"] for q in bs_q4) / 4.0)
    roa_ttm_calc = ni_4q / bs_q4[0]["totalAssets"]

    print(
        f"[{sym} {inc['fiscalYear']}{inc['period']} ({inc['date']})] 归母恒等式差额={gap_parent / 1e8:.2f}亿 | 合并恒等式差额={gap_total:.0f}\n"
        f"  Annual D/E : 接口={rat['debtToEquityRatio']:.4f} vs 手算={de_calc:.4f} | ROIC: 接口={km['returnOnInvestedCapital']:.4f} vs 手算={roic_calc:.4f}\n"
        f"  TTM ROE/ROA: ROE接口={km_ttm['returnOnEquityTTM']:.4f} vs 四季均权益手算={roe_ttm_calc:.4f} | ROA接口={km_ttm['returnOnAssetsTTM']:.4f} vs 期末资产手算={roa_ttm_calc:.4f}"
    )

实盘运行上述脚本的终端输出如下,所有接口返回值与三大报表底层手算结果在四位小数精度下完全重合,且清晰展示了特斯拉因 7.28 亿美元少数股东权益产生的归母恒等式差额:

[AAPL 2026FY (2026-09-26)] 归母恒等式差额=0.00亿 | 合并恒等式差额=0
  Annual D/E : 接口=0.7147 vs 手算=0.7147 | ROIC: 接口=0.5322 vs 手算=0.5322
  TTM ROE/ROA: ROE接口=1.2761 vs 四季均权益手算=1.2761 | ROA接口=0.3267 vs 期末资产手算=0.3267
[MSFT 2026FY (2026-06-30)] 归母恒等式差额=0.00亿 | 合并恒等式差额=0
  Annual D/E : 接口=0.2912 vs 手算=0.2912 | ROIC: 接口=0.2056 vs 手算=0.2056
  TTM ROE/ROA: ROE接口=0.3321 vs 四季均权益手算=0.3321 | ROA接口=0.1830 vs 期末资产手算=0.1830
[TSLA 2025FY (2025-12-31)] 归母恒等式差额=7.28亿 | 合并恒等式差额=0
  Annual D/E : 接口=0.1020 vs 手算=0.1020 | ROIC: 接口=0.0295 vs 手算=0.0295
  TTM ROE/ROA: ROE接口=0.0376 vs 四季均权益手算=0.0376 | ROA接口=0.0204 vs 期末资产手算=0.0204

常见问题(FAQ)

为什么苹果的 interestCoverageRatio(利息保障倍数)返回 0,而特斯拉的 netDebtToEBITDA 会出现负数?

这两类特殊数值分别源于零利息费用分母与净现金资本结构,在编写量化因子清洗规则时需要分开处理:

  1. 当期利息费用为 0 时,interestCoverageRatio 实测返回 0:在 Financial Ratios(财务比率接口)中,利息保障倍数 interestCoverageRatio 的实盘计算公式为 operatingIncome / interestExpense(例如微软 2026 财年营业利润 1,552.37 亿美元除以利息费用 30.51 亿美元等于 50.88 倍,英伟达为 503.42 倍)。而苹果(AAPL)在 2026 财年利润表中的 interestExpense 为 0,此时接口实测返回 0(推测为分母置零时的防除零回退处理)。
  2. 狭义现金大于总有息债务时,netDebtToEBITDA 为负数:在 Key Metrics(关键指标接口)中,netDebtToEBITDA 等于 netDebt / ebitda。像特斯拉(TSLA)在 2025 财年末狭义现金(165.13 亿美元)大于总有息债务(83.76 亿美元),净债务 netDebt 为 -81.37 亿美元,除以正的 EBITDA(117.64 亿美元)后得到 -0.6917(而其余 6 家净债务为正的科技巨头该指标介于 0.0056 至 0.5198 之间)。因此在多因子排序中,必须先判断 ebitda 与 netDebt 的正负号方向,避免把“净现金 + 正 EBITDA”与“正净债务 + 负 EBITDA”混为一谈。

想要一次性拉取全市场几千家美股公司的三大财务报表和财务比率,应该用单股接口循环还是批量接口?

如果分析目标仅限于自选股池(例如几十到上百只成分股),直接使用本文演示的 Income Statement(利润表接口)、Key Metrics(关键指标接口)与 Financial Ratios(财务比率接口)按 symbol 并发请求即可,响应均为轻量 JSON 数组。但如果你的场景是构建全市场 5,000+ 美股截面因子库,逐只股票循环请求会产生上万次 HTTP 往返,此时建议改用 Bulk(批量数据接口)分类下的 Income Statement Bulk(利润表批量获取接口)、Balance Sheet Statement Bulk(资产负债表批量数据接口)、Cash Flow Statement Bulk(现金流量表批量数据接口),或者直接调用 Key Metrics TTM Bulk(TTM 关键指标批量接口)与 Ratios TTM Bulk(TTM 财务比率批量接口),单次请求即可拉回全市场活跃标的的最新滚动指标截面。

如果你正在搭建美股基本面投研数据库或量化多因子管线,可以直接前往 FMP 财务指标计算公式与评分模型大全 查阅全部 66 项财务比率的中英文公式定义与字段映射,或浏览 Statements(财务报表接口)分类下的 27 个标准化接口文档,并参考 快速接入指南 获取 API 密钥,将上述三表恒等式与财务比率自动对账脚本接入本地工程验证。

登录后可领取FMP Ultimate档15天试用 Key,覆盖全量接口。免费试用 15 天 →