选择适合公募基金与 ETF 的
免费基金数据 API
免费基金数据可通过开放接口和有限免费层获取,
但没有单一来源覆盖全部基金、ETF、历史净值与持仓。
免费基金数据 API:快速结论
先解析正确的法律基金、份额类别和上市记录,再获取流程真正需要的净值、价格、持仓、费用、分派或基础资料。
比较基金类型、地区、标识、数据日期、历史、持仓完整性、费用、基准、额度、许可和修订方式。
分别保存官方净值、交易价格、币种、估值日期、发布时间、份额类别和来源方法。
保存原始响应、稳定 ID、有效日期、修订、抓取证据和供应商条款,使每个规范化数值都可追溯。
比较免费基金与 ETF 数据接口的覆盖范围
| 需求 | 需核对字段 | 常见限制 |
|---|---|---|
| 最新基金净值 API | 基金代码、净值、日期、币种 | 通常为日终数据,并非实时 |
| 基金历史净值接口 | 日期范围、复权口径、缺失日期 | 历史跨度和地区覆盖不同 |
| 基金持仓 API | 证券标识、权重、报告日期 | 持仓数据可能延迟披露 |
| ETF 行情数据 | 价格、成交量、交易所、时间戳 | 实时行情可能需要授权 |
| 基金资料与份额类别 | 法律基金 ID、份额、注册地、币种、状态与代码历史 | 名称与代码无法唯一确定基金 |
| 费用、分派与回报 | 费率口径、申赎费、分派日期与再投资方法 | 相似标签可能对应不同投资者结果 |
| 基金状态与历史 | 成立、关闭、合并、清盘、前身与修订 | 连续历史与无偏研究都需要这些信息 |
第一步应先区分基金结构,因为共同基金记录与 ETF 上市证券并不采用同一套交易模型。即使两者持有完全相同的资产组合,可观察价格、标识体系、更新时间和投资者现金流也会不同。
| 数据问题 | 开放式共同基金 | 交易所交易基金 |
|---|---|---|
| 投资者如何交易 | 通常按照基金交易规则,以计算出的净值处理申购和赎回。 | 份额在交易所盘中按买价、卖价和成交价交易,申购赎回机制另行运行。 |
| 主要估值字段 | 每份净值、估值日期、发布时间、交易币种和份额类别。 | 市场报价与官方净值;可能还有参考净值,但方法和时间口径不同。 |
| 身份识别 | 法律基金、策略、份额类别、币种、分派政策、申赎费和投资者资格。 | 法律基金、投资组合、上市记录、交易所、代码、交易币种以及主要或次要市场。 |
| 持仓更新节奏 | 通常按期披露,且披露日晚于组合日期;频率因市场和基金而异。 | 部分产品可能每日披露,但发布时间、完整性、现金、衍生品和定制篮子处理仍不相同。 |
| 投资者回报 | 取决于净值、费用、申赎费、分派、份额币种和再投资假设。 | 还会受到市场价溢价或折价、买卖价差、交易成本和成交时点影响。 |
如何用 Python 调用免费基金数据 API
1. 明确基金范围和必需字段
先确定应用需要公募基金、ETF,还是两者都需要;再列出代码、净值、价格、收益、持仓、费率、币种、市场、历史区间与更新频率。
2. 检查认证、额度与再使用条款
“免费”可能是开放接口、有限免费层、试用或仅限非商业使用。应查看 API Key、限流、署名、缓存、再分发和延迟数据规则。
3. 小范围调用并验证响应
curl https://api.mfapi.in/mf/125497/latest 是文档提供的最新基金净值请求示例。使用前应核对基金名称、净值日期、单位和出处,并重新确认当前条款。
4. 加入缓存、重试和出处记录
按更新频率缓存,仅对临时错误做有限重试,并随标准化记录保存请求 URL、抓取时间、来源标识和原始响应。
5. 规范基金身份与数据时间
分别建模法律基金、份额类别、交易所上市和供应商 ID,并把估值日、组合日、分派日、发布日期、处理时间和抓取时间保存为不同字段,不要压缩成一个通用时间戳。
6. 测试基金事件与修订
选取分派、份额类别变化、代码变更、合并、关闭、清盘和净值缺失日附近样本,检查连续性、状态、前身映射,以及更正记录是否保留首次发布时间。
验证基金净值、持仓与历史数据
不要把基金净值与盘中市场价格混为一谈
公募基金净值通常对应估值日期,ETF 还可能有盘中成交价。应保留字段定义、时间戳、币种、份额类别和复权方法,不能把所有“价格”视为同一口径。
ETF 溢价示例:如果某只 ETF 的收盘价为 50.40 美元,同一份额、同一币种和同一估值日的官方净值为 50.00 美元,则收盘溢价为 (50.40 ÷ 50.00) - 1 = 0.8%。只有两个数值对应同一基金份额且日期口径兼容时,这个结果才有效。不能用 14:00 观察到的盘中参考净值代替官方收盘净值;如果净值已经陈旧,表面上的溢价也没有解释意义。
资产管理规模也需要同样严格的口径。AUM 可能由基金直接披露,可能按某个组合日期计算,也可能经过币种换算,或由净值与流通份额数估算。如果属于推导值,应保留净值日期、份额数日期、份额或基金范围、汇率、公式与舍入规则。不能把某一份额类别的净资产与另一供应商给出的全基金合并 AUM 直接比较。
保留报告日期与数据出处
持仓披露频率可能低于净值更新频率。应分别保存持仓报告日期和抓取时间,保留原始标识,并在发布前与提供方公开页面抽样核对。
| 数据时间 | 含义 | 常见错误 |
|---|---|---|
| 估值日 | 净值及底层资产估值所对应的日期。 | 把抓取时间当作净值日期。 |
| 发布时间 | 该数值何时开始对用户或供应商可见。 | 在历史决策中提前使用尚未发布的数据。 |
| 组合报告日 | 证券持仓和权重实际对应的日期。 | 把较早披露的持仓描述成当前组合。 |
| 持仓披露日 | 组合报告何时公开或按合同可用。 | 在披露日前使用持仓进行回测。 |
| 分派日期 | 宣告日、除息日、登记日和支付日代表不同阶段。 | 在错误日期计入现金,或重复计算净值调整。 |
只比较可比份额与回报口径
累积与分红份额、对冲与未对冲份额、机构与零售份额,以及不同申赎费结构可能属于同一策略,却产生不同投资者现金流。比较回报前,必须对齐币种、费用、分派、税务假设和再投资方法。
同一只基金,三种不同指标:假设某分红型份额期初净值为 20.00 美元,期末净值为 20.40 美元,期间每份现金分派 0.20 美元。净值本身只上涨 2.0%,但在不考虑税费和再投资时点差异的情况下,含分派回报为 (20.40 + 0.20) ÷ 20.00 - 1 = 3.0%。如果流通份额同时从 5000 万份增至 5200 万份,新增的 200 万份按期末净值估算约为 4080 万美元,不能把全部 AUM 增量都解释为资金净流入。期末 AUM 为 5200 万 × 20.40 美元 = 10.608 亿美元;相对期初 10 亿美元的变化,同时包含组合表现、现金分派以及投资者申购赎回。因此,生产数据应分别提供净值回报、含分派总回报、份额数变化、估算净流量和 AUM 变化,并为每项指标保留独立日期与计算口径。
历史研究应使用时点可得数据
保存每条净值、持仓、费用、分类和状态记录首次可得的时间。历史分析应包含后来合并或清盘的基金与份额,也不能在修订值发布前提前使用它。
QVeris 如何帮助 Agent 使用基金数据 API
QVeris 帮助 Agent 发现、检查、调用和审计外部能力。基金数据源仍是拥有独立覆盖、条款和出处的第三方能力;QVeris 不拥有也不修改底层基金数据。
可打开 QVeris 服务商详情,查看净值、行情、持仓、分派和基础资料能力。在工具契约中明确基金与份额身份、数据集类型、日期口径、币种、完整性、修订规则和许可,并保留调用证据;接入方式参见 QVeris 文档。
免费基金数据 API 常见问题
有开放接口和有限免费层,但覆盖范围、限流、许可和地区不同,接入前应查看最新文档。
选择提供日期序列的接口,并检查最早日期、缺失观测、份额类别、币种和复权口径。
部分接口包含,但持仓可能延迟或只覆盖特定市场,应保存报告日期和证券标识。
不等于。ETF 有市场成交价,也可能公布净值或参考净值,必须分别保存字段定义与时间戳。
份额可能在币种、汇率对冲、分派政策、费用、最低投资额或投资者类型上不同。应分别保存份额标识,不能只因策略名称相同就合并数值。
只有在提供时点可得时间、历史标识与份额、已关闭或合并基金、基金事件和修订时才可靠。只用当前存续基金加旧净值,会形成有偏证券池。
净值、价格、持仓、费用、分类和分派各有更新节奏。应分别保存每类数据的有效日期与发布时间,不能给整只基金套一个统一时效标签。
