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 %
Все статьи
Драгоценные металлыРынкиРуководство

Спот, bid, ask и спред: как котируются цены на драгоценные металлы

Спот, bid, ask, средняя цена и спред для золота, серебра, платины и палладия: как дилеры формируют котировки и как запросить и показать bid/ask через API.

Автор: MetalAPI Team··9 мин чтения

Почему у одной унции золота несколько цен

Посмотрите цену золота на трёх сайтах в один и тот же момент — и вы нередко увидите три немного разных числа. Сайт дилера монет покажет ещё два. Ни одно из них не обязательно ошибочно: они отвечают на разные вопросы. Одно — это спотовая цена середины рынка, другое — цена фьючерсного контракта, третье — цена, по которой дилер продаст вам слиток, а четвёртое — цена, по которой он выкупит его обратно.

Если вы создаёте что-то, что показывает или использует цены на драгоценные металлы, — витрину дилера, трекер портфеля, ювелирный калькулятор или внутренний отчёт, — вам нужно понимать, с каким из этих чисел вы работаете. В этой статье объясняются основные понятия (спот, bid, ask, средняя цена и спред), показано, как дилеры превращают оптовые котировки в розничные цены, и разобрано, как запрашивать и отображать цены bid и ask с помощью REST API MetalAPI.

Это образовательная статья о том, как котируются цены. Она не является инвестиционной или торговой рекомендацией, а все числа в примерах условные.

Спотовая цена: ориентир для немедленной поставки

Спотовая цена — это цена стандартного количества металла с немедленной поставкой, в отличие от поставки в будущем. На оптовом рынке золота, где торговля идёт в основном на внебиржевом рынке (OTC) с центром в Лондоне, под «спотом» традиционно понимают расчёты через два рабочих дня после сделки.

Драгоценные металлы котируются за тройскую унцию (31,1034768 грамма), обычно в долларах США, с кодами в стиле ISO: XAU — золото, XAG — серебро, XPT — платина и XPD — палладий. Поэтому XAU/USD читается как «долларов США за тройскую унцию золота» — так же, как EUR/USD читается как «долларов США за евро».

Поскольку спотовый рынок внебиржевой, нет единой биржи, которая публиковала бы официальную последнюю сделку. Банки и поставщики ликвидности транслируют собственные двусторонние котировки, а «спотовая цена», которую вы видите на сайте, — это репрезентативное значение, полученное из этих котировок, чаще всего средняя цена. С ней легко спутать несколько родственных цен:

  • Фьючерсные цены, например контракта на золото COMEX, относятся к поставке в одном из будущих месяцев. Обычно они отличаются от спота на стоимость владения (cost of carry): проценты и хранение до поставки.
  • Эталонные цены (бенчмарки), такие как LBMA Gold Price (устанавливается на аукционах дважды в каждый рабочий день в Лондоне) и LBMA Silver Price (устанавливается раз в день), — это единые справочные значения, по которым рассчитываются контракты и оцениваются активы. Их фиксируют в определённое время, и в промежутках они не меняются.
  • Розничные цены на монеты и слитки включают премию сверх спота. О них — ниже.

Bid, ask и средняя цена

На двустороннем рынке каждая котировка состоит из двух чисел:

  • Bid — самая высокая цена, которую маркетмейкер сейчас готов заплатить. Это цена, по которой вы могли бы продать.
  • Ask, или offer, — самая низкая цена, по которой маркетмейкер готов продать. Это цена, по которой вы могли бы купить.

Ask всегда не ниже bid. Средняя цена (mid) — их среднее арифметическое, (bid + ask) / 2. По средней цене как таковой никто не торгует; это нейтральный ориентир, который находится между двумя сторонами и не выгоден ни покупателю, ни продавцу. Поэтому именно её естественно использовать для графиков, оценки портфеля и заголовков вроде «цена золота сегодня», и именно её большинство API цен возвращают по умолчанию.

ТерминЗначениеТипичное применение
BidЛучшая цена, которую заплатит покупательОценка металла, который вы бы продали; ориентир для цен выкупа у дилера
Ask (offer)Лучшая цена, которую примет продавецСтоимость покупки; ориентир для цен продажи у дилера
Mid (средняя)Среднее между bid и askГрафики, оценка активов, цены в заголовках
СпредAsk минус bidОценка ликвидности и стоимости сделки «туда и обратно»

Разберём пример с условными числами. Допустим, оптовая котировка золота — 3 997,62 bid и 3 998,16 ask в долларах США за тройскую унцию:

Условный пример
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

спред в % от mid = 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

Оптовый и розничный спреды — разные вещи. Межбанковский спред по золоту составляет малую долю процента. Разница между ценой продажи и ценой выкупа однаунцевой монеты у дилера гораздо больше, потому что она покрывает также премию за продукт, затраты на дистрибуцию и маржу дилера.

Как дилеры превращают спот в котировку

Дилер слитков, ювелир или торговое приложение редко показывают оптовую котировку как есть. Большинство берут за основу текущий ориентир — среднюю цену или bid и ask — и применяют к каждой стороне собственные условия. Типичная структура выглядит так:

  • Цена продажи (сколько платит клиент) = ориентир ask × масса × чистота + премия
  • Цена выкупа (сколько получает клиент) = ориентир bid × масса × чистота − скидка

Премия покрывает изготовление (чеканка маленькой монеты в пересчёте на унцию обходится дороже, чем отливка большого слитка), страхование, доставку, платёжные издержки и маржу. Она может быть процентом сверх спота, фиксированной суммой за изделие или и тем и другим и зависит от продукта, размера, дилера и спроса.

Между ними часто стоят ещё два пересчёта. Цены для клиентов за пределами США пересчитываются из долларов в местную валюту, а это добавляет обменный курс и иногда собственный валютный спред. А товары, которые продаются на граммы или по каратам, например ювелирные изделия, пересчитываются из тройских унций и масштабируются по чистоте: золото 22K — это 22/24, около 91,67% чистоты, а 18K — 75%.

Шаг (условно, монета 1 унция золота)Сторона продажиСторона выкупа
Оптовый ориентир, USD за тройскую унциюAsk 3 998,16Bid 3 997,62
Корректировка дилера (только для примера)Премия +3,0%Скидка −1,0%
Цена для клиента, USD≈ 4 118,10≈ 3 957,64

Премия и скидка в этой таблице придуманы для примера; реальные значения сильно различаются. Важна структура: спред, который видит клиент, — это оптовый спред плюс корректировки дилера с обеих сторон, причём оптовая часть обычно самая маленькая.

Запрос bid и ask в MetalAPI

По умолчанию MetalAPI возвращает среднюю цену. Для спотовых драгоценных металлов она рассчитывается по межбанковским потокам bid/ask. На тарифе Standard и выше можно запросить и обе стороны, добавив -BID и -ASK к символу в currencies:

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

Каждая запрошенная сторона появляется в rates в обоих направлениях — точно так же, как средняя цена. USDXAU-BID — это 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
  }
}

Несколько деталей, которые стоит знать:

  • Какие символы. Bid и ask доступны для символов, котировки которых берутся из межбанковских потоков: для драгоценных металлов и основных валют. Символы на основе фьючерсов, например медь или сырая нефть, публикуются одной ценой. Если для символа сторона недоступна, её нет в rates, поэтому проверяйте наличие ключа, а не предполагайте его.
  • Один снимок. Bid, ask и средняя цена берутся из одного снимка, поэтому согласованы между собой. Они обновляются с интервалом вашего тарифа: каждые 10 минут на Standard, каждую минуту на Advanced и Pro, каждые 15 секунд на Ultra и Business и каждые 5 секунд на Enterprise.
  • Другие валюты и единицы. base и unit работают как обычно, поэтому base=EUR&unit=gram возвращает bid и ask золота в евро за грамм. Пересчёт в другую базовую валюту выполняется по среднему курсу этой валюты; если нужно учесть ещё и валютный спред, добавьте его сами.
  • Тарифы. На Free и Lite запрос с символами -BID или -ASK возвращает ошибку 106 (plan_restriction). Как и при других ограничениях тарифа, такой запрос не тарифицируется.
  • История. Исторические эндпоинты (дневные цены закрытия, временные ряды, OHLC) возвращают средние цены. Bid и ask доступны только в последней котировке.
  • ИИ-ассистенты. Те же суффиксы работают в аргументе symbols MCP-инструмента get_latest_prices, если вы используете MetalAPI из Claude или ChatGPT. Подробнее — в разделе ИИ и MCP.

Как правильно отображать котировки

Большинство ошибок с ценами на металлы происходит на уровне отображения, а не в данных. Краткий чек-лист:

  • Указывайте, что это за цена. Подписывайте средние цены соответствующим образом («спот» или «средняя»). Если показываете обе стороны, подписывайте их с точки зрения клиента: клиент покупает по ask и продаёт по bid. На сайтах дилеров часто пишут «Мы покупаем» и «Мы продаём» — это точка зрения дилера; смешение двух подходов на одной странице сбивает людей с толку.
  • Указывайте единицу и валюту. «3 997,89 $» само по себе неоднозначно. Пишите «USD за тройскую унцию» или «EUR за грамм». Будьте внимательны с унциями: в параметре unit MetalAPI значения ounce и oz означают торговую унцию (avoirdupois, 28,35 г), а слитки оцениваются за тройскую унцию (troy_oz, значение по умолчанию).
  • Указывайте время. Показывайте время котировки из поля timestamp ответа — это время данных, а не вашего запроса. На тарифах с отложенным обновлением сообщайте, как часто обновляется цена.
  • Учитывайте часы работы рынка. Спотовые металлы и основные валюты торгуются с 17:00 воскресенья до 17:00 пятницы по нью-йоркскому времени. В выходные MetalAPI продолжает возвращать цены закрытия пятницы, поэтому показывайте пометку «рынок закрыт», а не позволяйте застывшей цене выглядеть актуальной.
  • Округляйте только для отображения. Сохраняйте полную точность в расчётах и округляйте в самом конце. Спред, рассчитанный по округлённым bid и ask, может отличаться от истинного на значительную долю собственной величины.
  • Защищайтесь от перевёрнутой котировки. Если ваши собственные корректировки когда-нибудь дадут цену продажи ниже цены выкупа, считайте это ошибкой и прекращайте выставлять котировки, пока её не исправят.
  • Ясно указывайте, что цены ориентировочные. Цены из API данных — это информация, а не предложение заключить сделку. Если вы показываете их клиентам, ясно дайте понять, что обязательной является цена, подтверждённая при оформлении заказа или в подтверждении сделки.

Собираем всё вместе: вот небольшой пример, который получает среднюю цену, bid и ask золота в евро за грамм и выводит их с подписями и меткой времени:

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"]));
}

Краткий справочник

ТерминОпределение
СпотЦена с немедленной поставкой; на оптовом рынке — расчёты через два рабочих дня после сделки
BidЦена, по которой рынок купит у вас
Ask / offerЦена, по которой рынок продаст вам
Mid (средняя)(bid + ask) / 2; обычный ориентир и цена API по умолчанию
СпредAsk минус bid; часто выражается в процентах от средней цены или в базисных пунктах
Базисный пункт0,01%, одна сотая процента
ПремияНаценка дилера сверх ориентира для физического продукта
Тройская унция31,1034768 грамма; единица, в которой оцениваются драгоценные металлы

Чтобы попробовать самостоятельно, зарегистрируйтесь и получите бесплатный ключ для работы со средними ценами, а на странице тарифов посмотрите, какие тарифы включают bid и ask. В документации API перечислены все параметры, а руководство «Форматы данных и единицы измерения» подробнее описывает базовые валюты, единицы массы и обратные курсы.

Попробуйте на своих данных

Создайте бесплатный аккаунт и отправьте первый запрос меньше чем за две минуты. 100 запросов в месяц, без банковской карты.

Читайте также