EtfAndMutualFunds(ETF 与基金)

此类接口提供 ETF 与基金的持仓穿透信息,包括持仓明细、行业权重、国家与地区配置、资产类别敞口和规模费用等基本资料,以及按名称、日期或 CIK 检索的监管披露文件。做组合穿透、指数复制、风格暴露检查都从这里取数;持仓按季度或月度披露,存在一定滞后。

典型使用场景

3 个场景
组合穿透

把多只 ETF 展开到底层标的,计算真实集中度。

风格判断

用行业与地区权重判断基金的实际风格漂移。

基金筛选

按费率、规模与持仓特征筛选候选基金。

接口怎么选?

7 项选型对照

基金类别有两条主线:一条看「基金里装了什么」(持仓、行业权重、国家配置、资产暴露),一条看「基金披露了什么」(N-PORT 类文件与持股人信息)。

持仓数据存在披露滞后,权重按披露日市值计算,市场波动会让实际权重快速偏离披露值。做穿透分析时要标注数据快照日期。

你的需求推荐接口选择理由
看 ETF 里持有哪些成分股ETF & Fund HoldingsETF与基金持仓明细逐只成分与权重,做穿透和重叠度分析
查基金基本信息与费率ETF & Mutual Fund InformationETF与基金资料含规模、费率、成立日与发行人等静态信息
看行业权重分布ETF Sector WeightingETF 板块权重判断基金的行业集中度
看地区或国家配置ETF & Fund Country AllocationETF 基金国家配置做地域暴露与汇率风险判断
看资产类别暴露ETF Asset ExposureETF持仓分布查询区分股票、债券、现金等大类占比
读基金定期披露文件Mutual Fund Disclosures公募基金披露N-PORT 类披露,含完整持仓明细
按机构名反查持有哪些基金Mutual Fund & ETF Disclosure Name Search基金ETF披露检索从管理人或持股人维度反查

数据覆盖与参数口径

  • 覆盖范围:以美国上市 ETF 与共同基金为主
  • 持仓时效:按监管披露周期更新,存在明显滞后
  • 权重口径:按披露日市值计算,实际权重随行情漂移
  • 双重计数:同一标的可能通过不同份额类别重复出现,聚合前要识别
  • 费用字段:费率口径(管理费 vs 总费用率)不同,跨基金比较要统一

调用示例

Python 关键代码

示例场景:拉取 ETF 成分持仓 · 对应接口:ETF & Fund Holdings(ETF与基金持仓明细)

Python(核心参数与字段清洗逻辑)
resp = requests.get(
    "https://quote-fmp.com/stable/etf/holdings",
    params={"symbol": "SPY", "apikey": FMP_KEY},
    timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 按 updatedAt 升序重排并数值化 sharesNumber(持股数量)
df["sharesNumber"] = pd.to_numeric(df["sharesNumber"], errors="coerce")
df = df.sort_values("updatedAt").reset_index(drop=True)
  • 保存披露日期,权重是快照值而非实时值。
  • 同一标的多份额类别要先合并再算集中度。

数据注意事项

4 条实盘要点

常见问题

3 个问题
持仓权重是实时的吗?

不是。持仓按监管披露周期更新,权重是披露日的快照,市场波动后实际权重会明显偏离。

为什么两个基金的持仓加起来超过 100%?

多只 ETF 可能持有同一标的,展开穿透后重复计算是正常现象,需要按标的合并后再算权重。

管理费和总费用率有什么区别?

管理费只含投资管理部分,总费用率还包含托管、销售等其他费用,跨基金比较应统一到总费用率。

接口一览(9个)

3 个功能模块

Holdings

4 个接口

Holding

1 个接口

Fund Disclosures

4 个接口
准备好接入ETF 与基金相关接口了吗?接口路径与 FMP 保持兼容,替换域名和 API Key 即可开始。
领取 1 个月试用 Key