Руководство по интеграции
### Введение
При маркетмейкинге и пассивном котировании с использованием лимитных ордеров (Post-Only) простого нахождения цены на нужном уровне недостаточно для совершения сделки. Ордер должен отстоять свою очередь. Протокол **Queue Admission Simulator** в реальном времени моделирует стакан и интенсивность ленты сделок, решая, имеет ли смысл выставлять пассивный ордер, или же он зависнет в конце очереди и подвергнется неблагоприятному отбору.
### Модель пропуска в очередь (Queue Admission Policy)
Политика оценивает состояние стакана и скорость потока на основе параметров `QueueAdmissionConfig`:
* **Min Expected Fill Ratio (Минимальный порог наполнения)** = `35%` (`min_expected_fill_ratio = 0.35`).
* **Max Expected Queue Clear Time (Максимальное время очистки очереди)** = `4 секунды` (`max_expected_queue_clear_seconds = 4.0`).
* **Max Queue Ahead Ratio (Максимальное отношение очереди к объему ордера)** = `8.0` (`max_queue_ahead_to_order_ratio = 8.0`).
### Логика принятия решений (Evaluation)
1. **Проверка Taker-отклонения**: Если входящее состояние указывает, что ордер пересечет спред и будет отклонен биржей из-за флага Post-Only (`post_only_cross_reject`), симулятор мгновенно блокирует выставление.
2. **Расчет скорости потока (Flow Rate)**:
\[ FlowRate = \frac{Qty_{directional}}{Window_{seconds}} \]
Если скорость направленного потока ниже `min_directional_flow_qty_per_second` (0.01 BTC/сек), пассивный вход признается бесперспективным из-за отсутствия активности.
3. **Оценка времени очистки очереди**: Рассчитывается ожидаемое время, за которое рыночные ордера исполнят объем стакана, стоящий перед нашим ордером (Queue Ahead):
\[ ClearTime = \frac{Qty_{queue\_ahead}}{FlowRate} \]
Если \(ClearTime > 4\) секунд, ордер отклоняется (`reject_passive_entry`), так как время ожидания превышает допустимые рамки волатильности, создавая риск того, что рынок уйдет против нас до исполнения.
При маркетмейкинге и пассивном котировании с использованием лимитных ордеров (Post-Only) простого нахождения цены на нужном уровне недостаточно для совершения сделки. Ордер должен отстоять свою очередь. Протокол **Queue Admission Simulator** в реальном времени моделирует стакан и интенсивность ленты сделок, решая, имеет ли смысл выставлять пассивный ордер, или же он зависнет в конце очереди и подвергнется неблагоприятному отбору.
### Модель пропуска в очередь (Queue Admission Policy)
Политика оценивает состояние стакана и скорость потока на основе параметров `QueueAdmissionConfig`:
* **Min Expected Fill Ratio (Минимальный порог наполнения)** = `35%` (`min_expected_fill_ratio = 0.35`).
* **Max Expected Queue Clear Time (Максимальное время очистки очереди)** = `4 секунды` (`max_expected_queue_clear_seconds = 4.0`).
* **Max Queue Ahead Ratio (Максимальное отношение очереди к объему ордера)** = `8.0` (`max_queue_ahead_to_order_ratio = 8.0`).
### Логика принятия решений (Evaluation)
1. **Проверка Taker-отклонения**: Если входящее состояние указывает, что ордер пересечет спред и будет отклонен биржей из-за флага Post-Only (`post_only_cross_reject`), симулятор мгновенно блокирует выставление.
2. **Расчет скорости потока (Flow Rate)**:
\[ FlowRate = \frac{Qty_{directional}}{Window_{seconds}} \]
Если скорость направленного потока ниже `min_directional_flow_qty_per_second` (0.01 BTC/сек), пассивный вход признается бесперспективным из-за отсутствия активности.
3. **Оценка времени очистки очереди**: Рассчитывается ожидаемое время, за которое рыночные ордера исполнят объем стакана, стоящий перед нашим ордером (Queue Ahead):
\[ ClearTime = \frac{Qty_{queue\_ahead}}{FlowRate} \]
Если \(ClearTime > 4\) секунд, ордер отклоняется (`reject_passive_entry`), так как время ожидания превышает допустимые рамки волатильности, создавая риск того, что рынок уйдет против нас до исполнения.