Lob Queue Position

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

Published: 2026-06-25 · Trading

Введение При торговле лимитными ордерами (Limit Orders) биржа исполняет их по принципу FIFO (First-In, First-Out): ордера, выставленные раньше по той же цене, исполняются первыми.

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

  • 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.
MemIR AI Agent Summary
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.

Executable Parameters

Contracts

RPC Endpoints

wss://fstream.binance.com/ws/btcusdt@depth@100ms

Constants

level_depth_target: 5
max_queue_delay_ms: 3000
min_fill_probability: 0.65

Safety Guards

Rule Max Limit Action On Breach
cancel_on_low_fill_probability 0.65 cancel_limit_order

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

### Введение
При торговле лимитными ордерами (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`), так как удержание старого ордера в хвосте очереди повышает риск неблагоприятного отбора при развороте цены.