In this Article
货币换算看起来像是一个已有 API 的成熟问题。真正的复杂之处,往往在财务和产品团队首次对某个数字产生分歧时出现,原因几乎总是他们使用了不同的汇率,并且双方都认为自己的才是正确汇率。
本指南区分四类汇率,说明各自的来源,并给出一条规则,帮助你选择一种日后能够说明理由的汇率。
关键事实
- 不存在唯一的汇率。货币在场外交易,因此每个公布的汇率都是某一来源在某一时刻的观点。
- 四类汇率经常被混淆,使用错误的汇率是财务系统出现对账差异最常见的原因。
- 中央银行参考汇率每天公布一次,稳定且可引用,因此适合会计核算,却不适合定价。
- 客户支付的汇率包含点差,所以中间市场汇率绝不会与银行卡账单一致,把它当成价格展示会引发客服工单。
- 务必保存汇率、来源和时间戳,并与每笔换算金额一同存储,否则日后无法复现该换算。
为什么不存在唯一的汇率?
因为主要货币是在机构之间场外交易,而不是在单一的中央交易所交易。不存在收市钟声,也没有官方报价,因此每个公布的数字都是特定来源在特定时刻的汇总。
这对软件有一个直接影响:相隔一秒查询的两个 API 完全可能合理地返回不同数字,二者都没有问题。由此产生的对账问题,不能靠寻找更好的来源解决,而要靠确定哪一个来源对哪一种用途具有权威性,并将这一决定与每个存储金额一同记录。
有哪些汇率类型?
有四种,用途不同,任何货币汇率 api返回的都是其中一种。我们称之为四部分汇率模型。
| 类型 | 含义 | 适用场景 |
|---|---|---|
| 1. 中间市场汇率 | 主要交易场所买入价和卖出价之间的中点 | 展示、分析、内部比较 |
| 2. 中央银行参考汇率 | 在固定时间确定、每日公布的参考汇率 | 会计、税务、合同及所有需要审计的事项 |
| 3. 交易汇率 | 支付服务商或银行卡网络实际采用的汇率,包含点差 | 与真实结算进行对账 |
| 4. 保证汇率 | 服务商在一段时间内锁定的汇率,含该保证的利润空间 | 总额不得变动的结账定价 |
典型的失败做法是在结账时展示中间市场汇率,却按交易汇率结算。客户看到一个数字,却被收取另一个数字,两者的差异完全可以预料,也完全可以避免。
应如何选择并存储汇率?
| 用途 | 在以下情形使用此汇率 | 在以下情形避免使用 |
|---|---|---|
| 财务报告 | 带日期的中央银行参考汇率 | 你需要日内精度,而参考汇率并不提供这种精度 |
| 向用户展示的产品定价 | 已披露点差的保证汇率或交易汇率 | 使用中间市场汇率,因为它不会与实际扣款相符 |
| 分析和仪表板 | 一致地使用中间市场汇率,且只采用一个来源 | 在不同图表之间混用来源,这会制造虚假的波动 |
| 历史比较 | 当时存储的汇率 | 按今天的汇率重新换算历史数据,这会改写过去 |
一条存储规则就能避免大部分麻烦:对于每笔换算金额,保存原始金额、货币、汇率、来源和时间戳。只存储换算后数字的系统无法回答一个数字为何发生变化,而这个问题最终总会出现。
数据采集在其中扮演什么角色,又有哪些限制?
参考汇率应使用官方来源。中央银行会以开放、机器可读的形式公布参考汇率。为了中央银行已通过 API 公布的数字去抓取财经网站,只有坏处:可靠性更差、来源追溯性更差,还有本不必面对的条款问题。
市场数据受许可约束。实时机构汇率是一种带有再分发条款的许可产品,股票市场数据也是如此。免费展示数据源很少获得转售或面向客户使用的许可。
加密货币交易对是另一个问题。它们在多个交易场所以真实不同的价格交易,因此单一汇率是关于应纳入哪些交易场所以及如何加权的编辑选择。请说明你选择了哪一种。
按国家固定出口的请求有帮助的场景很有限:一些官方门户和区域金融网站会按访问来源限制或本地化访问。DataImpulse residential 可在195个国家提供按国家固定的出口,价格为每 GB $1。汇率本身仍应来自官方发布方。
常见问题
为什么两个货币 API 返回不同的汇率?
因为主要货币在没有中央交易所的场外交易,每个公布的汇率都是某一来源在某一时刻的汇总。相隔一秒查询的两个 API 可以合理地不同,因此必须按用途选择并记录具有权威性的来源。
会计核算应该使用哪种汇率?
使用中央银行参考汇率,并与其日期一同存储。它每天在固定时间公布一次,稳定且可引用,也是审计人员所预期的汇率。对于结账定价而言,它并不合适,因为它不会与客户实际被扣取的金额一致。
为什么客户的银行扣取了不同金额?
因为中间市场汇率不含点差,而真实交易包含点差。银行卡网络和支付服务商会采用自己的汇率并加上利润空间,因此在结账时展示中间市场汇率,必然会导致展示金额与扣款金额不一致。
我应该从财经网站抓取汇率吗?
不应该。中央银行会以开放、机器可读的形式公布参考汇率,而机构市场汇率是带有再分发条款的许可产品。对于已经能够以适当方式取得的数据,抓取会带来更差的来源追溯性和可靠性。
我应该与换算金额一同存储什么?
原始金额和货币、所采用的汇率、该汇率的来源以及时间戳。缺少这五项中的任何一项,历史数字都无法复现或解释;按当前汇率重新换算已存储的历史数据,会悄然改写过去的报告。
从正确的地区访问官方发布方
一些官方和区域金融门户会按访问来源本地化或限制访问。DataImpulse residential proxies 可在195个国家提供按国家固定的出口,价格为每 GB $1。创建账户,然后从该来源自身所在地区验证一个来源。
相关内容:股票市场数据 API · 公共数据门户 · 网页抓取是否合法。
最后更新:2026年9月17日。
