MetalAPI
XAU3,997.89−1.54%XAG53.936−1.51%XPT1,554.47−0.83%XPD1,047.03−0.44%XCU6.5080+2.29%WTI103.27+3.82%BRENT111.70−1.30%EUR1.120400−0.01%GBP1.337500−0.01%JPY0.0063761+0.14%CHF1.213445−0.25%TRY0.020125−0.12%BTC80,329.75−0.55%ETH2,329.36−1.13%
全部文章
贵金属市场指南

现货价、买入价、卖出价与价差:贵金属价格如何报价

了解黄金、白银、铂金和钯金的现货价、买入价、卖出价、中间价和价差的含义,交易商如何形成报价,以及如何通过 API 请求并正确展示买卖价。

作者:MetalAPI Team··阅读约 9 分钟

为什么一盎司黄金有好几个价格

在同一时刻查看三个网站上的金价,您常常会看到三个略有不同的数字,而金币交易商的网站上又会显示另外两个。它们并不一定有错,只是回答的问题不同:一个显示的是市场中间现货价,一个是期货合约价格,一个是交易商卖给您金条的价格,还有一个是交易商从您手中回购的价格。

如果您要开发任何展示或使用贵金属价格的产品,例如交易商网店、投资组合追踪器、首饰价格计算器或内部报表,就需要清楚自己使用的是哪一个数字。本文将解释相关术语(现货价、买入价、卖出价、中间价和价差),介绍交易商如何将批发报价转化为零售价格,并演示如何通过 MetalAPI REST API 请求和展示买入价与卖出价。

本文旨在介绍价格的报价方式,仅供学习参考,不构成投资或交易建议。示例中的所有数字均为示意。

现货价:即期交割的参考价格

现货价(spot price)是标准数量的金属用于即期交割(而非在未来某个日期交割)的价格。批发黄金市场主要以场外交易(OTC)方式进行,以伦敦为中心;按照惯例,这里的“现货”是指在交易后两个工作日结算。

贵金属以金衡盎司(31.1034768 克)计价,通常以美元报价,并使用类似 ISO 的代码:XAU 代表黄金,XAG 代表白银,XPT 代表铂金,XPD 代表钯金。因此,XAU/USD 读作“每金衡盎司黄金的美元价格”,就像 EUR/USD 读作“每欧元的美元价格”一样。

由于现货市场是场外市场,并没有一家交易所发布官方的最新成交价。银行和流动性提供商各自推送双边报价,您在网站上看到的“现货价”是根据这些报价得出的代表性数值,最常见的是中间价。以下几种相关价格很容易与现货价混淆:

  • 期货价格,例如 COMEX 黄金合约,用于未来某个月份的交割。它与现货价的差异通常来自持有成本,即交割前的利息和仓储费用。
  • 基准价格,例如 LBMA 黄金价格(每个伦敦工作日通过两次竞价确定)和 LBMA 白银价格(每天确定一次),是用于结算合约和评估持仓价值的单一参考值。它们在固定时间确定,两次定价之间不会变动。
  • 金币和金条的零售价格在现货价的基础上包含溢价,下文会详细介绍。

买入价、卖出价与中间价

在双边市场中,每个报价都由两个数字组成:

  • 买入价(bid)是做市商当前愿意支付的最高价格,也就是您可以卖出的价格。
  • 卖出价(ask,也称 offer)是做市商愿意卖出的最低价格,也就是您可以买入的价格。

卖出价总是大于或等于买入价。中间价(mid)是两者的平均值,即 (bid + ask) / 2。没有人会恰好按中间价成交;它是一个位于买卖双方之间的中性参考值,不偏向买方也不偏向卖方。因此,它自然成为图表、投资组合估值和“今日金价”这类标题所用的数字,也是大多数价格 API 默认返回的价格。

术语含义典型用途
买入价(Bid)买方愿意支付的最优价格估算您卖出金属可得的价值;交易商回购价格的参考
卖出价(Ask / Offer)卖方愿意接受的最优价格买入成本;交易商销售价格的参考
中间价(Mid)买入价与卖出价的平均值图表、估值、标题价格
价差(Spread)卖出价减去买入价衡量流动性以及一买一卖的往返成本

下面用示例数字计算一下。假设批发黄金报价为买入价 3,997.62、卖出价 3,998.16(单位:美元/金衡盎司):

示例
买入价 (bid) = 3,997.62
卖出价 (ask) = 3,998.16
中间价 (mid) = (3,997.62 + 3,998.16) / 2 = 3,997.89
价差         = 3,998.16 - 3,997.62       = 0.54 USD

价差占中间价的百分比 = 0.54 / 3,997.89 ≈ 0.0135 %(约 1.35 个基点)

实际中的价差

价差是“即时成交”的代价:立即买入再立即卖出所要付出的成本。比较价差时应使用相对值,即占中间价的百分比或基点(百分之一个百分点)。同样是 0.50 的绝对价差,对于每盎司数千美元的黄金和每盎司几十美元的白银,意义截然不同。

以下几个因素会使价差扩大或收窄:

  • 金属的流动性。黄金是交易最活跃的贵金属,相对价差通常最小。铂金和钯金的交易量要小得多,因此按百分比计算,它们的价差通常更大。
  • 交易时段。主要交易中心的交易时间重叠时,价差往往最小;而在清淡时段,例如纽约每日收盘前后,以及纽约时间周日晚间每周重新开盘时,价差则较大。
  • 波动与新闻。在重大经济数据发布前后或市场承压期间,做市商会扩大报价价差以保护自己。
  • 交易规模。报价价差适用于标准交易规模。超大订单的报价可能更宽,而小额零售购买还涉及批发价差中完全没有包含的成本。

在代码中计算价差时,请使用数据源中未经取整的数字,并以中间价为基准衡量相对价差:

javascript
function spreadStats(bid, ask) {
  const mid = (bid + ask) / 2;
  const spread = ask - bid;
  return {
    mid,
    spread,
    spreadPct: (spread / mid) * 100,
    spreadBps: (spread / mid) * 10000,
  };
}

spreadStats(3997.62, 3998.16);
// mid ≈ 3997.89, spread ≈ 0.54, spreadPct ≈ 0.0135, spreadBps ≈ 1.35

批发价差和零售价差是两回事。黄金的银行间价差远低于百分之一,而交易商对一盎司金币的销售价与回购价之间的差距要大得多,因为它还涵盖了产品溢价、分销成本和交易商的利润。

交易商如何将现货价转化为报价

贵金属交易商、珠宝商或交易应用很少原样展示批发报价。大多数会从一个实时参考价(中间价,或买入价和卖出价)出发,再在买卖两侧分别加上自己的条款。常见的结构如下:

  • 销售价(客户支付的价格)= 参考卖出价 × 重量 × 纯度 + 溢价
  • 回购价(客户收到的价格)= 参考买入价 × 重量 × 纯度 − 折扣

溢价涵盖加工制造(铸造小金币每盎司的成本高于浇铸大金条)、保险、运输、支付成本和利润。它可以是高于现货价的一个百分比、每件固定金额或两者兼有,并因产品、规格、交易商和需求而异。

两者之间通常还有两种换算。面向美国以外客户的价格需要从美元换算为当地货币,这就引入了汇率,有时还会产生额外的外汇价差。而按克或按 K 数销售的产品(例如首饰)需要从金衡盎司换算,并按纯度折算:22K 金为 22/24,纯度约 91.67%;18K 金的纯度为 75%。

步骤(示例,1 盎司金币)销售端回购端
批发参考价,美元/金衡盎司卖出价 3,998.16买入价 3,997.62
交易商调整(仅为示例)+3.0% 溢价−1.0% 折扣
客户价格,美元≈ 4,118.10≈ 3,957.64

表中的溢价和折扣是为举例而虚构的,实际数值差异很大。关键在于结构:面向客户的价差等于批发价差加上交易商在买卖两侧的调整,而批发价差通常只占其中最小的一部分。

通过 MetalAPI 请求买入价和卖出价

MetalAPI 默认返回中间价。对于现货贵金属,中间价来自银行间买卖报价源。在 Standard 及以上套餐中,您还可以在 currencies 中的品种代码后添加 -BID 和 -ASK,同时请求买卖两侧的价格:

bash
curl "https://metalapi.com/api/v1/latest?currencies=XAU,XAU-BID,XAU-ASK" \
  -H "Authorization: Bearer YOUR_API_KEY"

所请求的每一侧价格都会以两个方向出现在 rates 中,与中间价完全相同。USDXAU-BID 是以美元/金衡盎司计的买入价,XAU-BID 是它的倒数:

响应(示例)
{
  "success": true,
  "timestamp": 1792834892,
  "date": "2026-10-24",
  "base": "USD",
  "rates": {
    "XAU": 0.0002501319446,
    "USDXAU": 3997.89,
    "XAU-BID": 0.0002501488386,
    "USDXAU-BID": 3997.62,
    "XAU-ASK": 0.0002501150529,
    "USDXAU-ASK": 3998.16
  }
}

有几个细节值得了解:

  • 适用品种。买入价和卖出价适用于来自银行间报价源的品种,即贵金属和主要货币。基于期货的品种(例如铜或原油)只发布单一价格。如果某个品种不提供某一侧价格,rates 中就不会包含对应的键,因此请先检查键是否存在,不要想当然。
  • 同一快照。买入价、卖出价和中间价来自同一快照,因此彼此一致。它们按您套餐的更新间隔刷新:Standard 每 10 分钟,Advanced 和 Pro 每分钟,Ultra 和 Business 每 15 秒,Enterprise 每 5 秒。
  • 其他货币和单位。base 和 unit 的用法与平常一样,因此 base=EUR&unit=gram 会返回以欧元/克计的黄金买入价和卖出价。换算为其他基础货币时使用该货币的中间汇率;如果还需要加上外汇价差,请自行添加。
  • 套餐。在 Free 和 Lite 套餐中,包含 -BID 或 -ASK 品种的请求会返回错误 106(plan_restriction)。与其他套餐限制一样,该请求不计费。
  • 历史数据。历史端点(每日收盘价、时间序列、OHLC)返回的是中间价。买入价和卖出价只包含在最新报价中。
  • AI 助手。如果您在 Claude 或 ChatGPT 中使用 MetalAPI,同样的后缀也适用于 get_latest_prices MCP 工具的 symbols 参数。参见 AI 与 MCP。

正确展示报价

与金属价格有关的大多数错误发生在展示层,而不是数据本身。以下是一份简短的检查清单:

  • 说明是哪种价格。为中间价做好标注(“现货价”或“中间价”)。如果同时展示买卖两侧,请从客户的角度标注:客户按卖出价买入,按买入价卖出。交易商网站常用“我们买入”和“我们卖出”,这是交易商的角度;在同一页面上混用两种约定会让人困惑。
  • 注明单位和货币。单独一个“$3,997.89”含义不明,请写明“美元/金衡盎司”或“欧元/克”。尤其要注意盎司:在 MetalAPI 的 unit 参数中,ounce 和 oz 表示常衡盎司(28.35 克),而金银条按金衡盎司(troy_oz,默认值)定价。
  • 注明时间。显示响应中 timestamp 字段给出的报价时间,它是数据的时间,而不是您发出请求的时间。对于更新有延迟的套餐,请说明价格的刷新频率。
  • 处理交易时间。现货金属和主要货币的交易时间为纽约时间周日 17:00 至周五 17:00。周末期间,MetalAPI 会持续返回周五的收盘价,因此请显示“已休市”提示,不要让冻结的价格看起来像实时价格。
  • 只在展示时取整。计算时保留完整精度,到最后一步再取整。用取整后的买入价和卖出价计算出的价差,误差可能占到价差本身的很大比例。
  • 防止报价倒挂。如果您自己的调整导致销售价低于回购价,请将其视为缺陷,并在修复之前停止报价。
  • 说明价格仅供参考。来自数据 API 的价格只是信息,而不是交易要约。如果向客户展示这些价格,请明确说明以结账时或交易确认单上确认的价格为准。

综合以上要点,下面是一个小示例:它获取以欧元/克计的黄金中间价、买入价和卖出价,并附带标签和时间戳输出:

javascript
const res = await fetch(
  "https://metalapi.com/api/v1/latest?base=EUR&unit=gram&currencies=XAU,XAU-BID,XAU-ASK",
  { headers: { Authorization: "Bearer " + process.env.METALAPI_KEY } },
);
const data = await res.json();
if (!data.success) throw new Error(data.error.code + ": " + data.error.info);

const r = data.rates;
const eur = new Intl.NumberFormat("en-GB", { style: "currency", currency: "EUR" });
const asOf = new Date(data.timestamp * 1000).toISOString();

console.log("Gold, EUR per gram, as of " + asOf);
console.log("Mid:", eur.format(r.EURXAU));
if (r["EURXAU-BID"] !== undefined && r["EURXAU-ASK"] !== undefined) {
  console.log("You sell at (bid):", eur.format(r["EURXAU-BID"]));
  console.log("You buy at (ask):", eur.format(r["EURXAU-ASK"]));
}

速查表

术语定义
现货价(Spot)即期交割的价格;在批发市场中,指交易后两个工作日结算
买入价(Bid)市场向您买入的价格
卖出价(Ask / Offer)市场向您卖出的价格
中间价(Mid)(bid + ask) / 2;常用的参考价,也是 API 默认返回的价格
价差(Spread)卖出价减去买入价;通常以占中间价的百分比或基点表示
基点0.01%,即百分之一个百分点
溢价交易商针对实物产品在参考价之上的加价
金衡盎司31.1034768 克;贵金属的计价单位

想亲自试一试?注册获取免费密钥即可使用中间价;包含买入价和卖出价的套餐请参见定价。API 文档列出了所有参数,数据格式与单位指南则更详细地介绍了基础货币、质量单位和倒数汇率。

用您自己的数据试一试

创建免费账户,两分钟内即可发起第一次请求。每月 100 次请求,无需信用卡。

继续阅读