Разница между рыночными данными Level 1, Level 2 и Level 3
Разбор отличий между уровнями биржевых данных. Узнайте, что входит в верхушку стакана, глубину рынка и детализацию заявок, а также какие сведения обычно скрыты от частных трейдеров.
Данные уровней Level 1 и Level 2 касаются того, какой объем биржевого стакана доступен для просмотра. Level 1 — это «верхушка» стакана: лучшая цена покупки (bid), лучшая цена продажи (ask), объем по каждой из них и последняя совершенная сделка. Level 2 — это глубина рынка под первой строкой: каждый отображаемый ценовой уровень с общим объемом заявок на нем. Level 3 содержит каждую отдельную заявку с уникальным идентификатором. Каждый последующий уровень включает в себя все данные предыдущего.
Что такое рыночные данные Level 1?
Level 1, или «верхушка стакана» (top of book), отвечает на один вопрос: какая цена является лучшей в данный момент и какой объем по ней доступен. На рынке акций США консолидированной версией этой строки является национальная лучшая цена покупки и продажи (NBBO), что подробно описано в нашем руководстве по NBBO. Запись Level 1 содержит лучший bid, лучший ask, отображаемый объем с каждой стороны, а также последнюю сделку (print) с ее объемом. Информация о второй лучшей цене и о том, кто именно выставил заявку, отсутствует.
Два показателя играют ключевую роль на этом уровне: спред в центах и тот же спред в базисных пунктах (один базисный пункт равен одной сотой процента). На графике ниже оба показателя отображены для одной акции с большой капитализацией в течение одной торговой сессии: с открытия премаркета в 4:00 утра по восточному времени (ET) до закрытия постмаркета в 8:00 вечера ET.
Точный SQL-код для каждого числа
SELECT
formatDateTime(
toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE),
'%H:%i'
) AS et_time,
round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2) AS spread_cents,
round(avg((toFloat64(ask_price) - toFloat64(bid_price))
/ ((toFloat64(ask_price) + toFloat64(bid_price)) / 2)) * 10000, 2) AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-17 08:00:00'
AND sip_timestamp < '2026-06-18 00:00:00'
AND bid_price > 0
AND ask_price > bid_price
AND (toFloat64(ask_price) - toFloat64(bid_price)) / toFloat64(bid_price) < 0.05
GROUP BY et_time
ORDER BY et_timeВ 04:00 ET средний котируемый спред составлял 37.38 центов, или 12.51 базисных пунктов. В последнем интервале на графике, 19:30 ET, среднее значение составило 16.85 центов, или 5.67 базисных пунктов. Получасовые интервалы 32 охватывают весь торговый день. Каждая точка на этом графике — это данные Level 1: одна строка стакана, измеренная многократно.
Что такое рыночные данные Level 2?
Level 2, также называемый «рынок по цене» (market by price) или «глубина стакана» (depth of book), показывает лестницу цен под первой строкой. Для каждой цены он суммирует общий отображаемый объем: 4000 акций на покупку по $49.98, 1200 по $49.97, 900 по $49.96 и 2500 по $49.95, с зеркальным отображением на стороне продажи. Именно эту структуру трейдеры называют глубиной рынка.
Чего Level 2 не показывает, так это состава заявок. 4000 акций по $49.98 могут быть одной институциональной заявкой или сорока розничными, но в стакане это выглядит одинаково.
Схожую структуру можно оценить на основе данных о реальных сделках: где именно проходили объемы по разным ценовым уровням. Котируемый стакан — это пассивный интерес. На графике ниже показан исполненный объем за полчаса той же сессии.
Точный SQL-код для каждого числа
SELECT
toString(px) AS price_level,
round(sum(sz) / 1000, 1) AS shares_thousands,
count() AS prints
FROM
(
SELECT
round(toFloat64(price), 2) AS px,
toFloat64(size) AS sz
FROM global_markets.stocks_trades
WHERE ticker = 'KO'
AND sip_timestamp >= '2026-06-17 14:30:00'
AND sip_timestamp < '2026-06-17 15:00:00'
AND price > 0
AND size > 0
)
GROUP BY px
ORDER BY pxТорговля за этот получасовой интервал распределилась по 63 отдельным ценовым уровням, от $79.42 на нижней границе до $80.04 на верхней. Два крайних уровня являются «тонкими»: 0.1 тысяч акций внизу и 0.8 тысяч вверху, при этом основной объем прошел между ними. Лента Level 1 показывает только одну цену в каждый момент времени. Лента Level 2 показывает стакан заранее, в виде пассивных заявок, а не постфактум в виде совершенных сделок.
Что такое рыночные данные Level 3?
Level 3, или «рынок по заявкам» (market by order), — это полная картина: каждая пассивная заявка в отдельности, с идентификатором, ценой, объемом и позицией в очереди на данном уровне. Агрегируйте ленту Level 3 по цене, и вы получите Level 2. Возьмите лучшую цену с каждой стороны, и вы получите Level 1.
Level 3 отвечает на два вопроса, на которые не могут ответить агрегированные уровни. Где находится заявка в очереди по конкретной цене (что определяет, будет ли она исполнена при сделке на этом уровне). И что произошло с конкретной заявкой за время ее жизни: от выставления до отмены. Проприетарные биржевые ленты, такие как Nasdaq TotalView-ITCH, предоставляют такую глубину. Консолидированная лента — нет.
Что на самом деле дает розничная подписка на Level 2?
Здесь терминология становится неточной. «Level 2» на розничной платформе редко является полной национальной глубиной стакана. Обычно это книга заявок одной площадки (часто той, куда ваш брокер направляет ордера) или объединенная книга, ограниченная пятью-десятью ценовыми уровнями с каждой стороны. Десятиуровневый стакан для акции, торгующейся с шагом в цент, охватывает диапазон в десять центов, и для активного инструмента этот диапазон постоянно обновляется.
Объем сообщений — одна из главных причин, почему стоимость уровней так сильно различается. На графике ниже подсчитано количество записей котировок «верхушки стакана» для пяти известных компаний за один час той же сессии, наряду со средним спредом для каждой.
Точный SQL-код для каждого числа
SELECT
ticker AS symbol,
round(avg((toFloat64(ask_price) - toFloat64(bid_price))
/ ((toFloat64(ask_price) + toFloat64(bid_price)) / 2)) * 10000, 2) AS spread_bps,
count() AS quote_update_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO')
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 15:00:00'
AND bid_price > 0
AND ask_price > bid_price
AND (toFloat64(ask_price) - toFloat64(bid_price)) / toFloat64(bid_price) < 0.05
GROUP BY symbol
ORDER BY spread_bpsSPY показал самый узкий средний спред из пяти — 0.32 базисных пунктов, в то время как у KO среднее значение составило 1.95. Эти данные об обновлениях касаются только верхушки стакана. Лента глубины рынка содержит каждое изменение на каждом ценовом уровне ниже, а лента по каждой заявке — каждое сообщение, стоящее за ними. Опционы — это крайний случай той же арифметики: насколько велика лента опционных котировок дает количественную оценку этому.
Почему видимый стакан занижает реальную ликвидность
Отображаемый стакан — это лишь нижний порог доступной ликвидности, а не ее полная мера. Две крупные составляющие остаются за кадром.
Скрытые и резервные заявки. «Айсберг-заявка» отображает лишь малую часть, сохраняя остальное в резерве и обновляя видимую часть по мере исполнения. В стакане видно 200 акций, но за ними могут стоять двадцать тысяч. Как работают айсберг-заявки описывает этот механизм.
Внебиржевое исполнение. Значительная доля объема акций США проходит вне публичных бирж — через брокерские интернализаторы и альтернативные торговые системы, которые вообще не публикуют предторговые котировки. Торговля в дарк-пулах: объяснение описывает, куда уходит этот объем.
Что означает конфляция (conflation) в ленте рыночных данных?
Конфлированная лента не отправляет каждое обновление. Она делает «снимки» стакана через фиксированные интервалы, например, каждые 250 миллисекунд или каждую секунду, и передает состояние на этот момент. Все, что произошло между двумя снимками, не передается, и два подписчика с разными интервалами видят два разных стакана, каждый из которых точен лишь в соответствии с его собственными часами.
Это различие критично для тех, кто строит системы на основе ленты. Неконфлированные данные означают получение каждого сообщения в последовательности, что необходимо для симуляции торгового движка или модели очереди. В конфлированной ленте такие расчеты становятся лишь приближениями. Для человека, который просто смотрит на стакан, интервал практически не имеет значения.
Точный SQL-код для каждого числа
SELECT
et_time,
round(avg(sec_updates), 1) AS avg_updates_per_second,
max(sec_updates) AS peak_updates_in_one_second
FROM
(
SELECT
formatDateTime(toStartOfMinute(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
toDateTime(sip_timestamp) AS et_second,
count() AS sec_updates
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'NVDA'
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 15:00:00'
GROUP BY et_time, et_second
)
GROUP BY et_time
ORDER BY et_timeВ первую минуту того часа, 10:00 ET, записи верхушки стакана поступали в среднем со скоростью 163.8 в секунду, а в самую загруженную секунду внутри этой минуты их было 371. Лента, делающая снимок раз в секунду, передает лишь одно состояние стакана из этого потока. Это верхушка стакана по одной акции. Ленты глубины и по каждой заявке увеличивают это число многократно.
Стоит ли платить за данные Level 2?
Ценность зависит от периода удержания позиции. Трейдер, работающий с заявками внутри спреда и рассчитывающий вход в сделку на секунды, считывает глубину ради информации, которой нет в первой строке: где сосредоточен объем и какая сторона «худеет». Это чтение несовершенно из-за упомянутых выше причин со скрытой ликвидностью, но оно все равно лучше, чем отсутствие стакана вовсе.
При торговле днями или неделями маржинальная информация десятиуровневого стакана невелика по сравнению с его стоимостью. Уровень ниже Level 1 здесь также важен: отложенные котировки, обычно с задержкой в пятнадцать минут, на большинстве платформ бесплатны и достаточны для решений, измеряемых днями. Почему биржевые котировки задерживаются на 15 минут объясняет происхождение этой конвенции. Последнее, что стоит уточнить, — это способ доставки: стакан, транслируемый одной площадкой и конфлированный с интервалом, который провайдер не раскрывает, — это лишь частичный взгляд на частичную картину.
Часто задаваемые вопросы
В чем разница между рыночными данными Level 1 и Level 2?
Level 1 дает лучший bid и лучший ask с объемами по ним, плюс последнюю сделку. Level 2 добавляет отображаемые ценовые уровни ниже с общим объемом на каждом из них, поэтому он содержит все, что есть в Level 1, и больше.
Являются ли рыночные данные Level 2 данными в реальном времени?
Это зависит от подписки. Биржевые ленты глубины рынка предоставляются в реальном времени и платно, в то время как многие розничные платформы доставляют конфлированную версию, которая делает снимки через интервалы. На странице продукта это редко указывается, но служба поддержки брокера может это подтвердить.
Показывает ли Level 2 скрытые заявки?
Нет. Лента глубины стакана показывает только отображаемый объем. Резервный объем айсберг-заявок и полностью скрытые заявки остаются невидимыми в стакане до тех пор, пока они не будут исполнены и не появятся в ленте сделок.
Для чего используются рыночные данные Level 3?
Level 3, или «рынок по заявкам», содержит каждую отдельную пассивную заявку с ее идентификатором, ценой, объемом и позицией в очереди. Они продаются в основном фирмам, использующим модели исполнения и маршрутизации заявок, где позиция в очереди влияет на экономику исполнения.
Нужны ли мне данные Level 2 для торговли?
Нет. Котировок Level 1 и ленты сделок достаточно для выставления и управления заявками на любой розничной платформе. Глубина становится полезной, когда решение зависит от ликвидности в момент исполнения, а не от цены закрытия.
Каждая панель здесь поставляется с SQL-запросом, на основе которого она построена, поэтому вы можете открыть его и увидеть, как именно было подсчитано каждое число. Те же запросы можно применить к любому тикеру и любой сессии в терминале Strasmore.