Что такое закрывающий аукцион и closing cross
Узнайте, как работает механизм closing cross и почему одна сделка в шестнадцать ноль ноль определяет официальную цену закрытия и объем торгов за день.
Закрывающий аукцион (Nasdaq называет его closing cross) представляет собой одну крупную сделку по сопоставлению ордеров в 16:00 по восточному времени, которая определяет официальную цену закрытия каждой акции. Вместо последовательного сопоставления покупателей и продавцов, биржа собирает закрывающие ордера в течение всего дня и проводит единую сделку по одной цене. Это завершает цикл, начатый открывающим аукционом, и является единственной записью о сделке, которая для отдельных акций обычно является крупнейшей за весь день. Все данные на этой странице получены из консолидированной ленты — единого публичного реестра всех сделок с акциями в США; к каждой панели привязан соответствующий SQL-запрос.
Что такое аукцион закрытия? Простое определение
Большую часть торговой сессии акции торгуются непрерывно: ордера поступают, сопоставляются и фиксируются по одному — в наиболее активных бумагах это происходит тысячи раз в минуту. Аукцион закрытия — это иной механизм в рамках той же ленты сделок. В конце торгового дня биржа объединяет все ордера, выставленные на закрытие, вычисляет единую цену, при которой сопоставится максимальное количество акций, и исполняет весь объем одной сделкой в 16:00 по восточному времени (ET).
Сделка отображается в публичной ленте наравне с другими, но с соответствующей меткой — условие сделки 8, «Closing Prints». Ее цена становится официальной ценой закрытия, которая публикуется во всех источниках в этот вечер. Непрерывный рынок и аукцион — это не два разных рынка; это одна лента, где аукцион представляет собой одну масштабную запись.
Зачем нужен аукцион закрытия?
Цена закрытия является эталонной для рынка. Взаимные фонды рассчитывают свою ежедневную стоимость чистых активов на основе официальных цен закрытия. Поставщики индексов используют их для расчета бенчмарков. Показатели институциональных десков сравниваются с ними, а также с такими метриками, как VWAP, средневзвешенная по объему цена. Инвестор, совершающий сделку по цене закрытия, в точности следует всем этим эталонам. Аукцион — это механизм формирования данной цены; для большинства инвесторов это единственная площадка, где гарантирована торговля по этой цене.
Этот эффект усиливается. Крупные ордера с обеих сторон объединяются, и одна сделка исполняет их в максимально возможном объеме. В результате большой ордер исполняется по одной цене, а не через бид-аск спред на непрерывном рынке, где маркетмейкеры выставляют котировки по обе стороны в течение всего дня.
Закрытие аукциона на реальных данных: одна сделка против медианы торгов
В таблице ниже приведены данные за 2 июля 2026 года — последний торговый день перед праздниками 4 июля, полноценный торговый день (подтверждение в следующей таблице). Мы сравниваем объем закрытого аукциона для SPY, AAPL и NVDA со всеми остальными сделками в ленте. Под «сопоставимым объемом» понимается количество акций, которое учитывается в консолидированном объеме ленты; административные ретрансляции (условия сделок 15, 16 и 38) исключены из всех показателей, согласно нашему детальному анализу микроструктуры; данные в таблице ниже подтверждают этот метод.
Точный SQL-код для каждого числа
SELECT
ticker,
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS auction_shares_m,
formatDateTime(toTimeZone(argMaxIf(sip_timestamp, size, has(conditions, 8)), 'America/New_York'), '%H:%i:%S') AS auction_time_et,
countIf(has(conditions, 8)) AS auction_print_count,
countIf(has(conditions, 8) AND formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') = '16:00:00') AS auction_prints_at_1600,
round(quantileDeterministicIf(0.5)(toFloat64(size), toUInt64(sip_timestamp), NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))) AS median_trade_shares,
round(toFloat64(maxIf(size, has(conditions, 8))) / quantileDeterministicIf(0.5)(toFloat64(size), toUInt64(sip_timestamp), NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])) / 1000) AS auction_vs_median_thousand_x,
round(100 * toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))), 1) AS auction_pct_of_volume,
round(toFloat64(maxIf(size, NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))) / 1e6, 2) AS biggest_other_trade_m,
round(toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(maxIf(size, NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))), 2) AS auction_vs_biggest_other_x
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)Сначала прочитайте строку для AAPL. Медианный объем сделки AAPL в тот день составил 20 акций. В закрытом аукционе было проведено 10.89 миллионов акций одной сделкой — это примерно в 545 тысяч раз больше медианы. Аукцион составил 14.4% от общего объема всех акций AAPL за день, включая внебиржевые торги. У NVDA разрыв между аукционом и медианой еще больше: медианная сделка составила 5 акций против аукциона в 17.38 миллионов акций, что в 3475 тысяч раз превышает медиану, при этом аукцион составил 12.2% от дневного объема. Для каждого актива указана только одна сделка аукциона — столбец auction_print_count содержит подтверждение; время указано с точностью до секунды в формате 16:00:00 ET (столбец auction_prints_at_1600 фиксирует время).
Утверждение в заголовке подтверждается данными. В обоих отдельных акциях аукцион стал крупнейшей сделкой за весь день: крупнейшая непрерывная сделка AAPL составила 1.8 миллионов акций, аукцион был в 6.05 раз больше; крупнейшая сделка NVDA составила 5.47 миллионов, аукцион был в 3.18 раз больше. SPY является исключением: одна блочная сделка объемом 2.5 миллионов акций превысила объем аукциона в 1.65 миллионов акций. В высоколиквидных ETF одна блочная сделка может быть больше аукциона. Доля аукциона в SPY также самая низкая среди трех активов и составляет 2.9%, однако даже его аукцион был в 66 тысяч раз больше медианной сделки в 25 акций.
Официальная цена закрытия определяется аукционом, а не последней сделкой
Распространенное мнение гласит, что цена закрытия — это просто последняя сделка перед сигналом к завершению торгов. Данные ленты говорят об обратном. Ниже приведена сводка по AAPL на 2 июля 2026 года с проверкой сессий на каждую дату, указанную в этом посте: SPY зафиксировал ровно 390, 390 и 390 минутных баров регулярной сессии 16 июня, 30 июня и 2 июля — три полных сессии с 9:30 до 16:00, подтвержденных, а не предположенных.
Точный SQL-код для каждого числа
WITH
(
SELECT countIf(window_start >= toDateTime('2026-06-16 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-06-16 16:00:00', 'America/New_York'))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-16 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-06-17 00:00:00', 'America/New_York')
) AS bars_jun16,
(
SELECT countIf(window_start >= toDateTime('2026-06-30 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-06-30 16:00:00', 'America/New_York'))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-30 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-07-01 00:00:00', 'America/New_York')
) AS bars_jun30,
(
SELECT countIf(window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York'))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
) AS bars_jul02,
(
SELECT maxIf(sip_timestamp, has(conditions, 8))
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
) AS auction_ts,
(
SELECT argMaxIf(exchange, size, has(conditions, 8))
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
) AS listing_exchange
SELECT
bars_jun16 AS spy_session_bars_jun16,
bars_jun30 AS spy_session_bars_jun30,
bars_jul02 AS spy_session_bars_jul02,
countIf(has(conditions, 8)) AS auction_print_count,
toFloat64(argMaxIf(price, size, has(conditions, 8))) AS auction_price,
formatDateTime(toTimeZone(auction_ts, 'America/New_York'), '%H:%i:%S.%f') AS auction_et,
toFloat64(argMaxIf(price, (sip_timestamp, sequence_number), sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))) AS last_tick_price,
formatDateTime(toTimeZone(maxIf(sip_timestamp, sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])), 'America/New_York'), '%H:%i:%S.%f') AS last_tick_et,
round((toFloat64(argMaxIf(price, size, has(conditions, 8))) - toFloat64(argMaxIf(price, (sip_timestamp, sequence_number), sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])))) * 100, 1) AS auction_minus_last_tick_cents,
countIf(has(conditions, 15)) AS official_close_reprints,
countIf(has(conditions, 15) AND exchange = listing_exchange) AS listing_venue_reprints,
round(toFloat64(anyIf(price, has(conditions, 15) AND exchange = listing_exchange)) - toFloat64(argMaxIf(price, size, has(conditions, 8))), 4) AS listing_reprint_price_difference
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'Непрерывные торги продолжаются вплоть до момента проведения аукциона — в этот день это произошло на долю секунды позже 16:00:00. Последняя сделка AAPL в режиме непрерывных торгов перед аукционом прошла в 16:00:00.215052 ET по цене $308.1; в 16:00:00.373202 ET аукцион закрылся по цене $308.63 — на 53 центов выше этой последней сделки. Официальной ценой закрытия в тот вечер стала цена аукциона, а не цена последней сделки. Затем в ленте появилось 2 сообщений «Market Center Official Close» (условие сделки 15) — каждое из них содержит запись о собственном официальном закрытии торговой площадки, а не является повторной трансляцией консолидированной цены; площадки могут сообщать разные цены. Сообщение биржи листинга в точности совпадает с ценой аукциона (разница составляет 0), и ни одно из этих сообщений не увеличивает объем торгов. Торги продолжаются в внебиржевой сессии еще четыре часа; ни одна из этих сделок также не влияет на официальную цену закрытия.
Как работает закрытый аукцион? Ордера Market-on-close и limit-on-close
В аукционе участвуют два специальных типа закрытых ордеров, а также обычные лимитные ордера, уже размещенные в непрерывном стакане:
- Ордер market-on-close (MOC) исполняется по цене, установленной аукционом. Ценовая защита отсутствует — это плата за почти гарантированное исполнение по цене официального закрытия (если торги по акции приостановлены перед звонком, аукцион может не состояться, и закрытые ордера останутся неисполненными).
- Ордер limit-on-close (LOC) участвует в аукционе только в том случае, если аукционная цена соответствует его лимиту или выгоднее. Предусмотрена ценовая защита, но существует риск полностью не попасть в аукцион.
Оба типа ордеров ожидают аукциона на бирже; они не торгуются на непрерывном рынке до момента проведения торгов. Биржи прекращают прием или изменение закрытых ордеров за несколько минут до конца (точные сроки зависят от биржи и меняются со временем), при этом большинство брокеров устанавливают свои более ранние дедлайны. К моменту звонка стакан фиксируется, и одна цена исполняет все заявки.
Что такое дисбаланс закрытого аукциона?
Перед началом аукциона биржи публикуют данные о дисбалансе: количество акций в очереди на покупку и продажу по закрытию, а также индикативную цену, по которой прошел бы аукцион в данный момент. Дисбаланс по покупкам в один миллион акций означает, что на данный момент не сопоставлены один миллион акций в закрытых заявках на покупку. Трейдеры непрерывного рынка отслеживают эти данные и открывают позиции на их основе в последние минуты торгов.
Последние дни квартала увеличивают объемы закрывающих аукционов
В определенные календарные дни основная часть торгов приходится на закрытие. Ребалансировка индексов, экспирация контрактов, а также приток и отток средств в конце месяца и квартала зависят от официальных цен закрытия. Все эти потоки проходят через аукцион. 30 июня 2026 года был последним торговым днем второго квартала. В таблице ниже объем закрывающего аукциона по каждому тикеру в этот день сравнивается с обычным торговым днем в середине месяца (16 июня). Оба периода являются полными торговыми сессиями, подтвержденными в отчете выше.
Точный SQL-код для каждого числа
SELECT
ticker,
countIf(has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00') AS jun16_auction_print_count,
countIf(has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00') AS jun30_auction_print_count,
round(toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00')) / 1e6, 2) AS jun16_auction_shares_m,
round(toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00')) / 1e6, 2) AS jun30_auction_shares_m,
round(toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00')) / toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00')), 1) AS jun30_vs_jun16_x,
round(100 * toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00')) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND sip_timestamp < '2026-06-17 00:00:00')), 1) AS jun16_auction_pct,
round(100 * toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00')) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND sip_timestamp >= '2026-06-30 00:00:00')), 1) AS jun30_auction_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
AND ((sip_timestamp >= '2026-06-16 00:00:00' AND sip_timestamp < '2026-06-17 00:00:00')
OR (sip_timestamp >= '2026-06-30 00:00:00' AND sip_timestamp < '2026-07-01 00:00:00'))
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)Объем аукциона AAPL в конце квартала превысил 21.71 млн акций, что в 2.9 раз больше объема аукциона 16 июня, составившего 7.49 млн акций. Эта сделка составила 33.2% от общего объема торгов AAPL за весь день. Это означает, что треть объема за сессию была реализована одной транзакцией по одной цене. Объем аукциона NVDA вырос с 23.47 млн до 41.14 млн акций, составив 24.7% от дневного объема. По состоянию на 2 июля каждый тикер провел ровно один аукцион за сессию — данные столбцы с количеством сделок подтверждают это. Подобные паттерны объемов являются целью для фильтров относительного объема. Объем аукциона SPY оставался небольшим в обе даты (2.7% и 3.6%). Для полного обзора сессии см. наш обзор рынка за 30 июня 2026 года; для ознакомления с аномалией данных за ту же неделю конца квартала см. конец квартала, который не был зафиксирован.
Как определить цену закрытия аукциона? Коды условий сделок
Какая сделка является аукционной? Это указывает лента сделок. Каждая сделка содержит коды условий сделок; словарь этих кодов хранится в том же хранилище — приведенная ниже рассылка является запросом, а не утверждением.
Точный SQL-код для каждого числа
SELECT
name,
id,
toUInt8(JSONExtractBool(update_rules, 'consolidated', 'updates_volume')) AS counts_toward_volume
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks' AND type = 'sale_condition' AND id IN (8, 15, 16, 38)
ORDER BY idКод 8, "Closing Prints", обозначает саму аукционную сделку; согласно словарю, она учитывается в консолидированном объеме (counts_toward_volume = 1). Код 15, "Market Center Official Close", — это административный отчет каждого рыночного центра о своем официальном закрытии; в словаре он отмечен как не влияющий на объем (0). Коды 16 и 38 — "Market Center Official Open" и "Corrected Consolidated Close (per listing market)" — относятся к тому же типу бухгалтерского учета для открытия торгов и для корректировок; они также исключены (0 и 0). При расчете любого показателя аукциона фильтрация происходит по этим кодам, а не по времени; при расчете любого знаменателя объема эти три административных кода исключаются.
FAQ
Во сколько проходит аукцион закрытия?
Сразу после 16:00 по восточному времени (ET), когда завершается регулярная сессия. В дни с аномально высокими объемами торгов результат может быть зафиксирован позже. 2 июля 2026 года аукцион для SPY, AAPL и NVDA завершился ровно в 16:00:00 ET. В дни запланированного раннего закрытия аукцион проходит в 13:00 ET — календарь доступен по ссылке рыночные праздники и раннее закрытие.
Что такое ордер типа market-on-close (MOC)?
Это поручение купить или продать актив по цене, установленной аукционом закрытия. Участие в официальном закрытии практически гарантировано (если не произойдет приостановка торгов перед звонком), при этом цена не контролируется. Ордер типа limit-on-close (LOC) включает в себя лимитную цену и исполняется только в том случае, если аукционная цена соответствует этому лимиту или лучше него.
Является ли цена закрытия последней сделкой за день?
Нет. Официальное закрытие — это цена аукциона. 2 июля 2026 года последняя непрерывная сделка AAPL перед аукционом составила $308.1, а цена аукциона составила $308.63 — разница составила 53 цента. Сделки во внебиржевую сессию также не меняют официальную цену закрытия.
Почему объем торгов на закрытии так высок?
Индексные фонды, паевые инвестиционные фонды и институциональные инвесторы проводят операции по официальным ценам закрытия, и их ордера объединяются в одном аукционе. 2 июля 2026 года один аукционный результат составил 14.4% от общего объема сопоставленных сделок AAPL за день; 30 июня на конец квартала этот показатель достиг 33.2%.
Проводится ли аукцион закрытия для ETF?
Да — аукцион проводится для каждой акции и каждого ETF на бирже, где они котируются. Доля аукциона в дневном объеме ETF обычно меньше: 2 июля 2026 года аукцион SPY составил 2.9% от объема сопоставленных сделок, тогда как у AAPL этот показатель составил 14.4%.
Все приведенные выше данные извлекаются из сохраненных запросов — разверните SQL-код под любой панелью для проверки. Чтобы проанализировать аукцион закрытия по интересующему вас тикеру, задайте эти же вопросы на английском языке в терминале Strasmore.