Strasmore Research
Обучение Matt ConnorАвтор: Matt Connor · Обновлено 2026-07-24 · data as of July 24, 2026 · refreshed weekly

Что такое заблокированный и перекрестный рынок

Разбираем определения locked market и crossed market. Узнайте, почему правила Reg NMS запрещают такие котировки и как часто они встречаются в рыночных данных.

Заблокированный рынок (locked market) — это ситуация, когда лучшая цена спроса совпадает с лучшей ценой предложения, то есть спред составляет ровно ноль. Перекрестный рынок (crossed market) — это более крайняя ситуация, когда лучшая цена спроса выше лучшей цены предложения. Правила рынка США запрещают биржам отображать такие котировки, однако они регулярно встречаются в сводных данных. На этой странице даны определения обоим терминам, разъясняется правило и приводится статистика их частоты появления.

Что такое заблокированный рынок?

Каждая акция на рынке США имеет две цены одновременно: bid (цена спроса) — максимальная цена, которую готов заплатить покупатель, и ask (цена предложения) — минимальная цена, которую готов принять продавец. Цена предложения обычно выше цены спроса; разница между ними называется бид-аск спредом и представляет собой встроенную стоимость немедленной сделки.

Заблокированный рынок — это состояние, когда этот разрыв сокращается до нуля. Если акция котируется по цене $10.00 bid / $10.05 ask, спред составляет пять центов. Если лучшая цена предложения упадет до $10.00, а цена спроса останется прежней, котировка будет заблокирована на уровне $10.00 / $10.00.

На одной бирже такое состояние невозможно — сделка купли-продажи по цене $10.00 будет исполнена мгновенно. Заблокированная котировка существует только между торговыми площадками. Акции в США торгуются одновременно на более чем десяти биржах, а NBBO — национальная лучшая цена спроса и предложения, которую показывает ваше брокерское приложение — объединяет лучшие показатели спроса и предложения со всех площадок. Если на одной бирже цена спроса составляет $10.00, а на другой — $10.00, национальная котировка блокируется, хотя на каждой отдельной бирже книга заявок не будет заблокированной.

Что такое «перекошенный» рынок?

На «перекошенном» рынке (crossed market) нарушается стандартный порядок: лучшая цена спроса оказывается выше лучшей цены предложения — например, спрос по $10.02 при предложении по $10.00. Теоретически любой участник может купить по $10.00, продать по $10.02 и получить два цента прибыли на акцию без риска. Такая возможность мгновенного заработка объясняет, почему подобные котировки не могут существовать долго. Профессиональные фирмы, включая маркетмейкеров, котирующих обе стороны по большинству акций, немедленно используют такой арбитраж, что приводит к исчезновению обеих котировок. В данных остается лишь кратковременный след: запись о перекосе, возникшая в промежутке между обновлением данных на одной площадке и другой.

Почему Reg NMS запрещает заблокированные и перекрещенные котировки

Запрет закреплен в Regulation NMS — своде правил SEC (принят в 2005 году), регулирующем торговлю на фондовых биржах США. Правило 610(d) обязывает каждую биржу предотвращать отображение своими участниками котировок, которые создают заблокированные или перекрещенные protected quotes — автоматические лучшие заявки на покупку и продажу на других биржах — в часы регулярных торгов. Цель правила: если ставка на покупку равна цене предложения другого участника, сделка должна быть немедленно направлена и исполнена, а не отображаться как противоречащая ей заявка.

Для приведенных ниже данных важно одно ограничение: правило регулирует отображение, а не само существование таких заявок. Каждая площадка контролирует то, что отображается в ее стакане; сводный отчет (consolidated record) формируется в реальном времени на основе потоков данных со всех площадок. В таком отчете может появиться заблокированная NBBO, даже если ни один участник не нарушил правила.

Почему в ленте до сих пор встречаются заблокированные и перекрещенные котировки

Скорость. Биржи обновляют котировки за микросекунды, а консолидированный поток данных перестраивается при каждом обновлении. Две обычные ситуации приводят к появлению заблокированных и перекрещенных записей:

  • Гонка цен. Одна биржа повышает bid до $10.00, в то время как другая все еще отображает ask $10.00. При объединении данных NBBO будет считаться заблокированным (locked), пока медленная сторона не обновит данные; если гонка цен приводит к превышению на один цент, котировка считается перекрещенной (crossed).
  • Устаревшие или односторонние записи. Некоторые записи содержат только одну сторону — bid без ask или наоборот. Как показано в статистике ниже, неликвидные акции проводят в таком состоянии гораздо большую часть торгового дня.

Правила подсчета на этой странице: заблокированные (locked) — bid равен ask, обе стороны имеют положительное значение; перекрещенные (crossed) — bid выше положительного ask; односторонние (one-sided) — одна из сторон равна нулю или отсутствует. Данные не отбрасываются — для односторонних записей выделена отдельная колонка.

Как часто возникают заблокированные и пересекающиеся рынки?

Начнем с общего потока данных: при каждом обновлении NBBO для каждого котируемого символа на 2026-07-14 — последней завершенной сессии в нашем окне переписи.

ЗапросОбщий анализ ленты: записи locked, crossed и one-sided по всем обновлениям NBBO за сессию
Точный SQL-код для каждого числа
WITH (
    SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY' AND window_start < toDateTime(today() - 3)
) AS census_day
SELECT
    formatDateTime(census_day, '%Y-%m-%d') AS session_date,
    round(count() / 1e6, 0) AS updates_m,
    round(countIf(bid_price = ask_price AND bid_price > 0) / 1e6, 2) AS locked_m,
    round(countIf(bid_price > ask_price AND ask_price > 0) / 1e3, 1) AS crossed_k,
    round(countIf(bid_price = ask_price AND bid_price > 0) / toFloat64(greatest(countIf(bid_price > ask_price AND ask_price > 0), 1)), 0) AS locked_per_crossed,
    round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
    round(countIf(bid_price <= 0 OR ask_price <= 0) / toFloat64(count()) * 1e4, 1) AS one_sided_per_10k
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= toDateTime(census_day)
  AND sip_timestamp < toDateTime(census_day + 1)

В этой сессии было 477 миллионов обновлений котировок: 9.7 миллионов заблокированных и 67 тысяч пересекающихся — вместе это составляет 204.9 из каждых 10 000 обновлений; количество заблокированных превышает количество пересекающихся в 145-к-одному. Записи с отсутствующей стороной встречались 2.8 на каждые 10 000. Обзор рынка за 7 июля содержит те же показатели рядом с каждым измеряемым спредом.

Рыночный показатель объединяет тысячи очень разных наименований. В таблице ниже приведены результаты переписи по проверенному набору из десяти инструментов: восемь популярных тикеров и две низколиквидные компании — Nathan's Famous (NATH) и Seneca Foods (SENEA). Данные охватывают недавние завершенные сессии, включая расширенные часы торгов; рядом указан типичный спред для каждого наименования.

ЗапросАнализ по тикерам: 8 ликвидных и 2 малоликвидных small cap, последние завершенные сессии
Точный SQL-код для каждого числа
SELECT ticker,
       round(count() / 1e3, 1) AS updates_k,
       round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS median_spread_cents,
       countIf(bid_price = ask_price AND bid_price > 0) AS locked_records,
       countIf(bid_price > ask_price AND ask_price > 0) AS crossed_records,
       round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
       round(countIf(bid_price <= 0 OR ask_price <= 0) / toFloat64(count()) * 1e4, 1) AS one_sided_per_10k
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
  AND sip_timestamp >= toDateTime(today() - 10)
  AND sip_timestamp < toDateTime(today() - 3)
GROUP BY ticker
ORDER BY ticker

Сравните столбец спредов с показателями частоты. У Coca-Cola, чей типичный спред составляет 1 цента, заблокированная или пересекающаяся котировка фиксировалась в 215.9 случаях на каждые 10 000 обновлений; у Nvidia (2 цента) этот показатель составил 91 на 10 000, а у SPY (2 цента) — 52.2. У AMD, чей типичный спред в расширенные часы составлял 44 цента, показатель составил всего 5.9 на 10 000. Блокировка происходит, когда две площадки одновременно выставляют одну и ту же цену в один цент; чем шире типичный спред, тем реже это случается.

Низколиквидные акции практически не проявляют активности: у Nathan's Famous было 0 заблокированных и 0 пересекающихся записей на 8.4 тысяч обновлений; у Seneca Foods — 0 и 0 на 40.5 тысяч. В их столбце представлены другие данные: односторонние записи составляли 41.5 на 10 000 у Nathan's Famous и 17 у Seneca Foods, против 0 у SPY. Заблокированные и пересекающиеся котировки характерны для быстрых и узких рынков; односторонние записи характерны для рынков с низкой ликвидностью.

When do locked and crossed quotes cluster?

The name census says where; the clock says when. Here is the checked set's locked-or-crossed rate by 30-minute Eastern Time bucket, 4:00 a.m. to 8:00 p.m., with each bucket's update traffic alongside.

ЗапросЗаписи locked-or-crossed на каждые 10 000 обновлений по 30-минутным интервалам ET, проверенный набор, включая продленную торговлю
Точный SQL-код для каждого числа
SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
       round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
       round(count() / 1e6, 2) AS updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
  AND sip_timestamp >= toDateTime(today() - 10)
  AND sip_timestamp < toDateTime(today() - 3)
GROUP BY et_time
HAVING et_time >= '04:00' AND et_time < '20:00'
ORDER BY et_time

The rate climbs across the session. The 05:00 premarket bucket measured 3 per 10,000 on 0.59 million updates; the 09:30 bucket — regular trading's first half hour, opened by the opening auction — ran 24.9 per 10,000 on 9.98 million updates. From there the rate builds into the close, reaching 109.9 per 10,000 in the 15:30 bucket, the run-up to the closing auction. One receipt row pins the shape:

ЗапросСтатистика: общее количество locked vs crossed и их частота по периодам сессии (premarket, open, noon, close — ET)
Точный SQL-код для каждого числа
SELECT
    round(countIf(is_locked) / 1e3, 1) AS locked_k,
    round(countIf(is_crossed) / 1e3, 1) AS crossed_k,
    round(countIf(is_locked) / toFloat64(greatest(countIf(is_crossed), 1)), 1) AS locked_per_crossed,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 240 AND 569) / toFloat64(countIf(et_minute BETWEEN 240 AND 569)) * 1e4, 1) AS premarket_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 570 AND 599) / toFloat64(countIf(et_minute BETWEEN 570 AND 599)) * 1e4, 1) AS opening_half_hour_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 720 AND 779) / toFloat64(countIf(et_minute BETWEEN 720 AND 779)) * 1e4, 1) AS midday_hour_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)) * 1e4, 1) AS closing_half_hour_per_10k,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 570 AND 599) / toFloat64(countIf(et_minute BETWEEN 570 AND 599))), 1) AS close_to_open_ratio,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 720 AND 779) / toFloat64(countIf(et_minute BETWEEN 720 AND 779))), 1) AS close_to_midday_ratio,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 240 AND 569) / toFloat64(countIf(et_minute BETWEEN 240 AND 569))), 1) AS close_to_premarket_ratio
FROM (
    SELECT
        bid_price = ask_price AND bid_price > 0 AS is_locked,
        bid_price > ask_price AND ask_price > 0 AS is_crossed,
        toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_minute
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
      AND sip_timestamp >= toDateTime(today() - 10)
      AND sip_timestamp < toDateTime(today() - 3)
)

Across the whole window the checked set printed 257.2 thousand locked records against 25.6 thousand crossed — 10.1 locked for every crossed. The closing half hour's rate, 109.9 per 10,000, ran 4.4 times the opening half hour's 24.9 and 2.3 times the noon hour's 48.5.

The display ban does not even apply before 9:30 a.m., yet the whole 4:00–9:30 stretch — premarket trading, quoting on a fraction of regular-hours traffic — showed just 10.9 per 10,000, and the closing half hour ran 10.1 times that rate. These records collect where quoting runs fast and tight, not where the rulebook is loosest.

Data notes: window and scope
  • The whole-tape census covers one full UTC calendar day, every listed symbol included; the checked-set panels cover a rolling window of recent completed sessions, extended hours (4:00 a.m.–8:00 p.m. ET) included. Every window ends three days behind the refresh date — the quote warehouse carries a one-to-two-day ingest lag at its front edge.
  • The ten-name table is a checked set, not a market-wide ranking; clock buckets after 4:00 p.m. run on a small fraction of regular-hours traffic (the update-count column is charted for that reason).
  • These are counts of records, not durations. Per-update forensics — nanosecond gaps, plus crossed and zero-bid receipts on a single session's SPY tape — live in the June 29 microstructure deep-dive.

FAQ

Что такое заблокированный рынок (locked market) в акциях?

Заблокированный рынок — это ситуация, когда лучшая цена спроса (bid) равна лучшей цене предложения (ask), то есть спред равен нулю. Это происходит при взаимодействии бирж, когда цена спроса на одной площадке совпадает с ценой предложения на другой. Согласно Regulation NMS, биржам запрещено отображать котировки, создающие такую ситуацию, в ходе регулярных торгов.

Что означает ситуация, когда цена спроса выше цены предложения?

Если цена спроса выше цены предложения, это называется пересеченным рынком (crossed market). В рамках одной биржи такая ситуация невозможна — перекрывающиеся ордера исполняются немедленно. Пересечение NBBO почти всегда является результатом задержки обновления котировок на двух разных площадках.

Являются ли заблокированные и пересеченные рынки незаконными?

Для обычного инвестора — нет. Правило 610(d) Regulation NMS обязывает биржи предотвращать отображение заблокированных или пересеченных котировок своими участниками в ходе регулярных торгов. Кратковременные записи в консолидированном потоке данных являются побочным эффектом обновления котировок на разных площадках в разные моменты времени.

Как часто возникают заблокированные и пересеченные рынки?

Регулярно: только за 2026-07-14 фиксируется 9.7 миллионов заблокированных и 67 тысяч пересеченных записей в консолидированной ленте — это 204.9 от каждых 10 000 обновлений. Частота таких событий значительно выше для ликвидных бумаг с узким спредом, чем для низколиквидных, и выше в период перед закрытием рынка, чем при открытии.


Все данные на этой странице извлекаются из сохраненных запросов — вы можете развернуть SQL-код под любой панелью, чтобы увидеть точный метод подсчета заблокированных или пересеченных котировок. Чтобы провести аналогичный анализ по торгуемым вами активам, введите соответствующий запрос на английском языке в терминале Strasmore.

#locked market#crossed market#market structure#quotes#liquidity