QVeris
外汇报价验证

免费实时外汇 API:实时行情接入指南

依赖实时外汇数据前,先验证报价含义、来源时间、传输方式和供应商限制。

免费实时外汇 API:实时行情接入指南

先定义应用里的“实时”

HTTP 返回得快,不代表外汇报价新鲜。必须比较供应商时间戳、实际更新间隔、市场时段和接收时间,再判断数据能否使用。

外汇报价字段说明

字段含义验证方法
pair基础货币与计价货币,例如 EUR/USD使用 ISO 代码并保留方向
bid卖出基础货币可获得的价格必须附带来源和事件时间
ask买入基础货币需要支付的价格若 ask 低于 bid,必须有明确解释
mid买卖价中点,不是可成交价格保存公式和原始 bid/ask
timestamp供应商观测到报价的时间不能用请求时间替代
session市场状态或交易时段说明周末和节假日行为

外汇报价来源、买卖价含义与交易时段

现货外汇没有单一集中交易所。银行、经纪商、ECN、零售交易场所、央行参考来源和多供应商聚合源,即使在同一时刻也可能给出不同但各自有效的汇率,因为它们的报价贡献方、客户层级、盘口深度、可成交规模和计算方法不同。标准化记录必须说明来源,以及该数值属于可成交报价、指示价、中间价还是参考汇率。

计算示例:中间价是推导值,不是保证可成交价格。

假设 EUR/USD 的买价为 1.0848、卖价为 1.0852,中间价为(1.0848 + 1.0852)÷ 2 = 1.0850;点差为 0.0004,在 1 个 pip 等于 0.0001 的口径下即 4 pips。卖出欧元的用户可能面对买价,买入欧元的用户可能面对卖价,实际结果还受交易规模、场所和费用影响。接口若只返回 1.0850,就丢失了估算成交所需的方向与点差信息。应保存货币对方向、买卖价、可用时的报价量、来源时间、接收时间、场所或贡献方集合及报价状态。

周末与节假日状态

周六仍显示周五报价,不代表市场正在实时更新。应保存市场状态、最后来源时间、预期交易时段和供应商使用的节假日日历。

Rollover 与流动性切换

每日流动性转换时点和不同地区交易时段交接附近,点差与更新频率都可能变化。质量评估应按交易时段拆分,不能只看整周平均延迟。

市场安静与数据陈旧

有效行情流可能暂时没有变化,故障接口也可能用新的接收时间重复旧报价。判断前应同时检查来源时间、心跳、相关货币对和供应商状态。

REST 轮询还是 WebSocket 推送

方式适合场景运行成本拒绝条件
REST 快照偶发查询和看板额度随货币对数量和刷新频率增长没有来源时间戳,或需求频率超过额度
REST 轮询可控的定时监控需要调度、退避和去重轮询速度快于数据本身更新速度
WebSocket事件驱动监控与预警需要重连、心跳、排序和缺口恢复没有说明回放或重连行为

把“实时”要求写成可验收指标

秒级、分钟级还是逐笔推送?

每分钟刷新的行情看板与自动交易信号并不是同一种需求。应明确最大数据年龄、可接受网络延迟、所需交易时段,以及更新缺失时是否必须暂停应用。60 秒更新一次的接口对汇率组件可能足够实时,但不适合依赖逐笔变化的逻辑。

选择 REST 轮询还是外汇 WebSocket API?

REST 更适合快照和可控刷新;当供应商频繁推送变化时,WebSocket 更合适,但必须处理连接状态、订阅、心跳、重连、重复事件和序列缺口。仅提供 WebSocket 地址并不能证明低延迟,仍需测量消息时间戳和连续性。

实时外汇行情必须返回哪些字段?

至少应要求接口明确返回货币对、汇率类型、数值、来源时间戳以及供应商或交易场所。交易型场景还可能需要买价、卖价、点差和 OHLC。可依据 ISO 4217 币种代码标准统一标识,同时保留供应商原始符号。

供应商链接与访问方式

供应商访问方式适合用途使用前核对
Alpha VantageAPI Key 与调用额度汇率快照时间戳含义、更新间隔和货币对覆盖
Twelve Data按套餐提供 REST/WebSocket多资产与外汇工作流积分消耗、流式权限和代码格式
ExchangeRate-API参考汇率 API换算与定期汇率它不是可成交的 bid/ask 行情
QVeris 外汇工具可检查的调用能力Agent 发现与调用供应商身份、参数和输出契约

比较免费实时外汇数据 API 的限制

检查项为什么重要何时淘汰
请求或消息额度决定可持续刷新频率所需调用量超过免费额度
货币对与字段覆盖免费层可能只开放主要货币对或中间价缺少所需货币对、买卖价或 OHLC
更新节奏接口响应快不等于数据新来源时间戳长时间不变
授权缓存、展示与再分发权限可能不同计划用途不被允许
运行行为重连、状态、限频和错误影响可靠性故障含义不清或无法恢复

免费层、试用与无密钥访问不是一回事

试用会到期;免费层可能长期存在但受额度限制;无密钥端点只是免注册,仍可能限频并受使用条款约束。选择前应记录套餐名称、核对日期、分钟/月度额度、开放货币对和商用规则。

计算免费额度是否真的够用

接入前先估算用量:每日调用量 = 货币对数量 × 每分钟刷新次数 × 活跃分钟数。5 个货币对每分钟轮询一次、运行 8 小时,需要 2,400 次调用;如果一次请求能够返回全部 5 个货币对,则可能只需 480 次。还要确认供应商按 HTTP 请求、返回币种、API credit 还是 WebSocket 订阅计费,因为不同模型的结果差异很大。

实用原则:为重试、重连后的快照、监控、开发测试和流量峰值保留额度。正常运行就消耗宣传额度 100% 的方案不适合生产环境。

五次请求验收法

  1. 01

    已知货币对

    请求流动性较好的货币对,确认基础货币与计价货币方向。

  2. 02

    重复请求

    连续调用数次,观察来源时间戳是否变化。

  3. 03

    错误代码

    确认接口返回结构化错误,而不是看似成功的空结果。

  4. 04

    周末场景

    确认供应商是冻结、顺延,还是明确标记休市。

  5. 05

    额度边界

    在生产流量前验证重试和退避策略。

测试外汇数据是否真正实时

测量时间戳年龄与更新间隔

每条观测至少记录三个时间:供应商来源时间、客户端收到响应或消息的时间、系统完成存储的时间。来源年龄等于接收时间减去来源时间。应跨活跃和安静时段连续观察,不能把一次快速响应误判为持续实时传输。

分别测试 REST 与 WebSocket

# Provider-neutral verification record — not a live quote
{
  "pair": "EUR/USD",
  "rate_type": "bid_ask",
  "source_time": "SOURCE_TIMESTAMP",
  "received_time": "CLIENT_TIMESTAMP",
  "transport": "rest_or_websocket",
  "sequence": "OPTIONAL_SEQUENCE"
}

REST 测试应记录状态码、限频响应头、来源时间戳,以及重复请求是否得到新观测。WebSocket 测试应验证认证、订阅确认、心跳、事件顺序、重复消息、断线恢复与缺口检测。

拒绝陈旧、不完整或含义不清的行情

应拒绝格式异常的货币对、非正数、超过允许年龄的时间戳,以及无法确认汇率类型的响应。不要把中间价静默伪造成买卖价,不要补造缺失 K 线,也不要合并时间不一致的观测。

执行可重复的验收测试

  1. 选择免费层支持的两个主要货币对和一个相对不活跃的货币对。
  2. 在活跃交易时段连续采集 REST 响应或 WebSocket 事件。
  3. 记录来源时间、接收时间、货币对、汇率类型、买卖价,以及可用时的序列标识。
  4. 计算来源年龄中位数与最大值、实测更新间隔、重复率和消息缺失数量。
  5. 主动制造断线或超时,验证退避、重新订阅、快照恢复与陈旧数据提示。
  6. 将结果与书面需求逐项比较,任何强制条件失败都应淘汰该数据源。

证据不足时应拒绝该数据源

声称需要的证据拒绝条件
免费长期套餐、额度、货币对限制和授权容量无法支撑计划刷新频率
实时来源时间戳和实测更新间隔时间戳不变化,或延迟无法判断
外汇报价bid、ask、货币对方向和来源只返回无法解释的单一汇率
可靠错误模型、重连、限额和状态失败含义不清或无法恢复

安全接入实时外汇数据 API

围绕免费额度设计刷新策略

调用预算应按“货币对 × 刷新次数 × 客户端”计算。多个用户需要相同快照时应集中轮询;缓存时间不得超过允许的新鲜度窗口;限频响应头显示额度将尽时应主动降速。流式接口只订阅当前需要的货币对。

处理交易时段、重连与数据缺口

外汇市场并非一周每分钟都活跃。系统必须区分休市或清淡行情与数据源故障。暂时性失败采用指数退避;重连后恢复订阅;有序列号时检查连续性;发现流式缺口后通过 REST 快照重新同步。

保存标准化行情记录

应保存货币对方向、汇率类型、买价、卖价、中间价或 OHLC、来源时间、接收时间、供应商、传输方式,以及数值为直接提供还是推导得到。这样才能在保留来源链的前提下完成陈旧数据告警、供应商回退、审计和后续比较。

设置明确的上线门槛

门槛证据失败处理
新鲜度实测来源年龄保持在书面上限内标记陈旧并停止依赖操作
连续性重连与缺口恢复可重复通过通过快照重新同步或切换来源
字段语义买卖价、中间价、OHLC 与时间戳定义清楚不得自行推断缺失含义
容量正常与恢复流量均低于免费额度缩小范围、增加缓存或更换套餐
使用权缓存、展示、商用和署名方式均被允许条款不兼容时不得上线

如果还需要日期区间 K 线或回测数据,应将该意图分开,并参考 实时市场数据指南。本页继续聚焦免费实时数据源的选择与运行。

检查外汇能力契约

通过具体工具详情检查货币对输入、供应商身份和返回时间戳,再执行调用。 可继续打开Alpha Vantage 外汇工具,并通过QVeris REST API 参考核对调用契约。

免费实时外汇数据 API 常见问题

有免费的实时外汇数据 API 吗?

存在免费层和试用,但货币对、更新节奏、字段、额度与授权不同,必须核对当前套餐并测试来源时间戳。

如何判断外汇数据是否实时?

连续比较来源时间与接收时间,测量多次更新间隔,并在活跃交易时段检查数据连续性。

实时外汇数据应使用 REST 还是 WebSocket?

可控快照使用 REST;需要推送更新且能处理订阅、心跳、重连、重复和缺口时使用 WebSocket。

免费接口能提供外汇买价和卖价吗?

部分免费层提供买卖价,另一些只提供中间价或参考价,应检查响应结构和套餐权限。

免费外汇 API 能用于交易机器人吗?

只有延迟、字段、连续性、授权和可靠性满足机器人需求时才适合;参考汇率不等于可成交报价。

生产环境需要监控什么?

监控来源年龄、接收延迟、更新缺口、重连、限频、结构变化、缺失货币对和供应商状态。

供应商文档

免费实时外汇 API:实时行情接入指南 | QVeris Guides