Руководство по интеграции
### Введение
В высокочастотном маркет-мейкинге (HFT) скорость принятия решений и вычисления вероятности сквиза стакана критически зависят от латентности вычислений. **Hawkes Process Engine** используется для оценки интенсивности входящего потока ордеров (order flow toxicity) в реальном времени. Внедрение инструкций Intel AVX-512 позволяет векторизовать расчеты затухания интенсивности многомерных процессов Хокса, переводя их из миллисекундного диапазона в суб-микросекундный.
### Многомерный процесс Хокса (Hawkes Process)
Интенсивность $\lambda_i(t)$ для $i$-й компоненты (где размерность $M=6$ описывает: Bid/Ask ордера, Bid/Ask отмены, Bid/Ask сделки) задается формулой:
\[ \lambda_i(t) = \mu_i + \sum_{j=1}^M \int_0^t \alpha_{ij} e^{-\beta_{ij}(t - s)} dN_j(s) \]
Где:
* $\mu_i$: Базовая интенсивность.
* $\alpha_{ij}$: Амплитуда возбуждения (влияние события $j$ на интенсивность события $i$).
* $\beta_{ij}$: Скорость экспоненциального затухания влияния.
### AVX-512 Векторизация
Использование 512-битных регистров (ZMM) позволяет параллельно обрабатывать 8 значений типа `double`. Векторизованный движок заменяет циклы попарного расчета затухания накопленных интенсивностей (`accumulator`) на единые инструкции:
* `_mm512_mul_pd`: Одновременное умножение векторов.
* `fast_exp512_pd`: Аппроксимация экспоненты на регистрах процессора без переключения контекста.
* `_mm512_fmadd_pd`: Слитые операции умножения-сложения (FMA).
### Детектор Айсберг-Ордеров (hft::IcebergDetector)
Скрытая ликвидность («айсберги») выявляется через высокоскоростной мониторинг событий ITCH-фида:
1. **Полное исполнение (on_full_execute)**: Ордер на ценовом уровне $P$ полностью исполняется до нуля.
2. **Мгновенный рефилл (on_add)**: Если в течение $\tau \le 5000\text{ нс}$ (5 микросекунд) на том же уровне $P$ и стороне стакана добавляется новый ордер, это событие классифицируется как Айсберг-сигнал (`IcebergSignal`).
3. **Локальная очередь (SpscRingBuffer)**: Обнаруженные сигналы передаются в поток принятия решений HFT через lock-free буферы Single Producer Single Consumer для исключения взаимных блокировок потоков.
В высокочастотном маркет-мейкинге (HFT) скорость принятия решений и вычисления вероятности сквиза стакана критически зависят от латентности вычислений. **Hawkes Process Engine** используется для оценки интенсивности входящего потока ордеров (order flow toxicity) в реальном времени. Внедрение инструкций Intel AVX-512 позволяет векторизовать расчеты затухания интенсивности многомерных процессов Хокса, переводя их из миллисекундного диапазона в суб-микросекундный.
### Многомерный процесс Хокса (Hawkes Process)
Интенсивность $\lambda_i(t)$ для $i$-й компоненты (где размерность $M=6$ описывает: Bid/Ask ордера, Bid/Ask отмены, Bid/Ask сделки) задается формулой:
\[ \lambda_i(t) = \mu_i + \sum_{j=1}^M \int_0^t \alpha_{ij} e^{-\beta_{ij}(t - s)} dN_j(s) \]
Где:
* $\mu_i$: Базовая интенсивность.
* $\alpha_{ij}$: Амплитуда возбуждения (влияние события $j$ на интенсивность события $i$).
* $\beta_{ij}$: Скорость экспоненциального затухания влияния.
### AVX-512 Векторизация
Использование 512-битных регистров (ZMM) позволяет параллельно обрабатывать 8 значений типа `double`. Векторизованный движок заменяет циклы попарного расчета затухания накопленных интенсивностей (`accumulator`) на единые инструкции:
* `_mm512_mul_pd`: Одновременное умножение векторов.
* `fast_exp512_pd`: Аппроксимация экспоненты на регистрах процессора без переключения контекста.
* `_mm512_fmadd_pd`: Слитые операции умножения-сложения (FMA).
### Детектор Айсберг-Ордеров (hft::IcebergDetector)
Скрытая ликвидность («айсберги») выявляется через высокоскоростной мониторинг событий ITCH-фида:
1. **Полное исполнение (on_full_execute)**: Ордер на ценовом уровне $P$ полностью исполняется до нуля.
2. **Мгновенный рефилл (on_add)**: Если в течение $\tau \le 5000\text{ нс}$ (5 микросекунд) на том же уровне $P$ и стороне стакана добавляется новый ордер, это событие классифицируется как Айсберг-сигнал (`IcebergSignal`).
3. **Локальная очередь (SpscRingBuffer)**: Обнаруженные сигналы передаются в поток принятия решений HFT через lock-free буферы Single Producer Single Consumer для исключения взаимных блокировок потоков.