Skip to main content
У каждого рынка есть центральный стакан лимитных заявок (CLOB): все стоящие в стакане ордера на покупку — с одной стороны, все ордера на продажу — с другой, отсортированные по цене. Сделка происходит, когда входящий ордер пересекает разрыв между ними. Стакан находится на блокчейне. Его состояние — часть зафиксированного состояния блокчейна, а значит, стакан у всех один и тот же, и любой узел может точно восстановить, как он выглядел в любом блоке.

Устройство

спред
лучший аск
50 000 − 49 950 = 50середина 49 975
лучший бид
Рыночная покупка на 1,00,2 по 50 000
0,3 по 50 100
0,5 по 50 200
Средняя ≈ 50 130, а не 50 000
на вершине стакана. Этот разрыв
и скрывает рыночный ордер.
Аски — продавцы
Биды — покупатели
50,2000.5
50,1000.3
50,0000.2
49,9500.4
49,9000.6
49,8001.2
Лучший бид — самая высокая цена, которую готов заплатить покупатель. Лучший аск — самая низкая цена, на которую согласен продавец. Разрыв между ними — это спред, а точка посередине — середина спреда (mid), которая служит опорой в нескольких местах, включая премию финансирования. Глубина — это объём, стоящий на каждом ценовом уровне. Именно она определяет, исполнится ли ордер у вершины стакана или уйдёт по худшим ценам.

Приоритет

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

Как читать глубину перед отправкой

Лучший бид и лучший аск — это то, что вы видите в котировке. Это не то, что вы получите, если ваш ордер крупнее стоящего там объёма. Пройдём по стороне асков стакана выше: Рыночная покупка на 0,2 исполняется целиком по 50 000. Рыночная покупка на 1,0 проходит по всем трём уровням — средняя цена около 50 130, а не 50 000, показанные на вершине стакана. Поэтому рыночные ордера получают ограничение цены, выведенное из глубины, которую реально съест ваш объём, и поэтому разбить крупный ордер по времени или по цене обычно дешевле, чем взять его разом.
Полезная привычка перед любым ордером, крупным относительно стакана: считать не только вершину, но и худшую цену, до которой дойдёт ваш объём. Разница между этими двумя числами — те издержки, которые скрывает рыночный ордер.

Цены целочисленны

Цены в стакане — это целое число шагов цены (tick size) рынка, а объёмы — целое число шагов количества (lot size). На пути исполнения нет плавающей запятой: расхождение в округлении между двумя узлами — это форк. См. Точность и округление.

Чего стакан не показывает

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

Что дальше

Типы ордеров

Что можно выставить в стакан и что в нём стоит, а что забирает ликвидность.

Рыночные ордера

Как ограничение, выведенное из глубины, защищает рыночный ордер.

Упорядочивание транзакций

Почему отмены выигрывают у агрессивных ордеров в одном блоке.

Сопоставление

Как стакан устроен и как ядро по нему проходит.