Lob Queue Position

Queue Position Estimation: Оценка позиции в очереди стакана лимитных ордеров

Published: 2026-06-25 · Trading

Так как биржи скрывают идентификаторы ордеров в L2 обновлениях, позиция в очереди моделируется математически. Алгоритм оценивает объем перед ордером, вычитая сделки и пропорциональ

⚡ Быстрый ответ

  • Queue position estimation model for limit order book trading.
  • Calculates the execution probability and queue position of limit orders using order flow events and cancellation patterns.

Safety Guards

Rule Max Limit Action On Breach
cancel_on_low_fill_probability 0.65 cancel_limit_order

Руководство по интеграции

Обновлено: 2026-07-04
*Дисклеймер: Данный материал носит исключительно информационный характер и не является финансовой рекомендацией.*

## Как оценить позицию лимитного ордера в очереди стакана L2?

Так как биржи скрывают идентификаторы ордеров в L2 обновлениях, позиция в очереди моделируется математически. Алгоритм оценивает объем перед ордером, вычитая сделки и пропорционально распределенные отмены. Если расчетная вероятность исполнения падает ниже допустимого минимума, ордер отменяется во избежание рисков неблагоприятного отбора.































Переменная Описание Роль в формуле
$Q_t$ Объем перед ордером Определяет текущий остаточный объем в очереди до нашей заявки.
$Trade_t$ Рыночные сделки Вычитаются напрямую, так как исполняют ордера спереди очереди (FIFO).
$C_t$ Объем отмененных лимитов Оценивается пропорционально доле очереди перед нами ($Q_{t-1} / V_{t-1}$).
$P(\text{Execution})$ Вероятность исполнения Рассчитывается на основе интенсивности сделок; порог отмены < 0.65.


### Введение
При торговле лимитными ордерами (Limit Orders) биржа исполняет их по принципу **FIFO** (First-In, First-Out): ордера, выставленные раньше по той же цене, исполняются первыми. Знание своей позиции в очереди (Queue Position) позволяет оценивать вероятность исполнения ордера до изменения цены и вовремя отменять неэффективные заявки.

### Моделирование позиции в очереди стакана
Поскольку биржи не раскрывают точные индентификаты ордеров в публичном потоке данных L2 (Order Book Updates), позиция ордера в очереди оценивается математически.

При отправке ордера объемом \(D\) по цене \(p\), текущий объем на этом ценовом уровне равен \(V_0\). В этот момент перед нашим ордером находится объем \(Q_0 = V_0\). Со временем позиция в очереди меняется из-за сделок (рыночные ордера уменьшают очередь спереди) и отмен (cancel events уменьшают как спереди, так и сзади нас).

### Расчет остаточного объема перед ордером
В момент времени \(t\) объем перед нашим ордером \(Q_t\) рассчитывается по приближенной формуле:

\[ Q_t = Q_{t-1} - Trade_t - C_t \cdot \frac{Q_{t-1}}{V_{t-1}} \]

Где:
- \(Trade_t\) — объем сделок, совершенных по цене \(p\) за шаг времени,
- \(C_t\) — объем отмененных лимитных ордеров на данном уровне,
- \(\frac{Q_{t-1}}{V_{t-1}}\) — вероятность того, что отмененный ордер находился в очереди перед нами (предполагая равномерное распределение отмен).

### Оценка вероятности исполнения (Fill Probability)
Вероятность исполнения ордера за время \(T\) оценивается на основе интенсивности входящих рыночных сделок \(\lambda_{mkt}\):

\[ P(\text{Execution}) = 1 - e^{-\lambda_{mkt} \frac{T}{Q_t}} \]

Если оценка вероятности исполнения \(P(\text{Execution})\) падает ниже `min_fill_probability` (0.65) или время нахождения в очереди превышает `max_queue_delay_ms` (3 секунды) без исполнения, ордер отменяется (`cancel_limit_order`), так как удержание старого ордера в хвосте очереди повышает риск неблагоприятного отбора при развороте цены.