在不引入外汇前视偏差的情况下回测本币计价的黄金
将结算后的XAU/USD日线K线与历史外汇观测值相结合,以本币回测黄金策略,避免无意中使用了在当时尚不可得的汇率。
阅读 →Reddit 上反复出现的黄金价格 API 问题,直接解答:免费套餐、更新频率、速率限制、鉴权方式、数据来源、商业用途,以及它是否足够可靠用于生产。
在 Reddit 上搜索黄金价格 API,帖子的结构几乎总是一样的。有人在构建行情看板、价格提醒、交易机器人,或者一个需要报价贵金属的在线商店,他们需要一个可以从代码中拉取的实时黄金价格。在接入任何东西之前,他们会在 r/algotrading、r/webdev 和 r/golang 上提出同样几个问题:有没有免费套餐?数据有多新鲜?限流是多少?可以商用吗?数据可信吗?
本文直接回答这些问题,以 goldprice.dev 作为实际示例。阅读无需注册,下面的第一个 API 调用不需要密钥即可运行。
它是面向开发者的商品定价 API:黄金、白银和铜,通过位于 https://api.goldprice.dev 的单一认证 REST 端点提供服务。每个响应都包含经过交叉验证的数据陈旧标志,你还可以通过 ?include= 请求各数据源的价格和时间戳,或价差指标,让你的代码能够发现某个上游数据源是否正在滞后,而不是默默失效。MCP 服务器在所有套餐中均已包含,包括免费套餐。
它不是经纪商,也不是结算报价源。这些价格是指示性参考数据,用于展示、分析和告警。如果你需要可执行的交易报价来结算一笔交易,任何公开的黄金价格 API 都不是合适的工具,本 API 也不例外。
有,而且不需要绑定信用卡。免费套餐提供每月 1,000 次调用、每分钟 30 次请求,涵盖黄金(XAU)的实时现货价格。付费套餐增加了白银和铜、期货结算数据、更高的限额以及商业使用权:
| 套餐 | 价格 | 每月调用次数 | 新增内容 |
|---|---|---|---|
| Free | $0 | 1,000 | XAU 现货、MCP、无需信用卡 |
| Physical | $10/月 | 20,000 | + 黄金期货、按国家的实物金商报价 |
| Pro | $30/月 | 100,000 | + 白银、铜、30年日线历史、商业用途 |
| Realtime Pro | $80/月 | 1,000,000 | + XAU/XAG WebSocket 逐笔行情流与 physical 频道 |
实时现货价格是持续更新的数据,而非每日一次的快照。期货结算价格按交易所的结算时间表更新。这个 API 的意义在于你永远不需要猜测自己看到的是哪一种:每个响应都带有 computed_at,并在某个值超出其预期刷新窗口时设置 is_stale,需要更细的粒度时,?include=sources 会拆分出每个数据源各自的 timestamp。你直接从响应体中读取数据新鲜度,而不是盲目相信一个笼统的"实时"标签。
免费套餐是每分钟 30 次请求;付费套餐分别为 120 次和 500 次。每个响应都会返回标准的 X-RateLimit-Remaining 请求头,因此正确的做法是读取该请求头,在剩余次数不多时主动降速,而不是盲目轮询然后触发 429 错误。对于大多数应用,一个客户端短期缓存——TTL 与底层数据实际变化的频率相匹配——就足以让你舒适地维持在免费套餐内。
使用 Bearer Token。密钥以 ga_live_ 为前缀,放入 Authorization 请求头中。此外还有一个匿名接口,每个 IP 每小时限制 100 次请求,返回与鉴权调用相同的精简默认响应(价格、买价、卖价,以及数据陈旧字段),供你在注册前先行测试。鉴权不会改变这个默认响应,但会解锁 ?include=stats:开盘价、最高价、最低价、前收盘价、涨跌幅,以及跨数据源的价差字段——?include=sources 和 ?include=karat 无论是否鉴权都可以使用。
可以,而且这正是大多数 API 隐藏的部分。加上 ?include=sources,响应就会包含一个 sources[] 数组,每行对应一个上游数据源,各自有独立的价格和时间戳。当各数据源出现分歧时,?include=stats(需鉴权)会带有 divergence_bps 和 divergence_flag,让你可以自行设定容忍阈值,而不是盲目相信一个无来源可查的混合数字。如果你在构建任何一个价格出错会造成损失的系统,这种可见性正是选择结构化 API 而非抓取网页的理由。
免费套餐和 Physical 套餐仅供个人和评估使用。商业使用——即在你发布的产品中展示价格——从 Pro 套餐起支持,并需要进行署名。如果你要向自己的用户展示黄金价格,Pro 套餐是最低要求。
可以。MCP 服务器包含在所有套餐中,包括免费套餐。你只需在 Claude、Cursor 或任何支持 MCP 的运行时中添加一个配置块,智能体就能直接获取实时价格,无需手写任何工具代码。数据与 REST API 提供的完全相同。如需了解设置细节,可查阅完整的 MCP 使用指南。
无需密钥,无需任何依赖:
curl https://api.goldprice.dev/v1/prices?symbol=XAU-USD-SPOT
你将得到包含价格、买价、卖价以及陈旧标志的 JSON 响应。这一个调用就足以将一个实时、真实的黄金价格嵌入你正在构建的任何东西中。加上 ?include=karat 可以获取按成色分克重的换算明细,加上 ?include=sources 可以获取贡献数据源。当你需要完整响应体和更高限额时,申请一个免费密钥只需一分钟。
如需特定语言的版本,Fetch live gold prices in JavaScript 完整覆盖了 REST 调用的全流程,Caching gold prices and staying inside rate limits 则介绍了如何在大规模场景下使用。
相关指南
goldprice.dev
实时黄金价格、历史 OHLC 数据与多源聚合 — 通过 REST 和 SSE 接口提供。