Avx512 Hawkes Engine

AVX-512 Vectorized Hawkes Engine & Real-time Iceberg Detector

Published: 2026-06-25 · Trading

AVX-512 оптимизация переводит расчет интенсивности потока ордеров (процесс Хокса) в суб-микросекундный диапазон за счет параллельной обработки данных в 512-битных ZMM регистрах. Ic

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

  • Vectorized C++ implementation of a 6-dimensional Hawkes process intensity estimator using Intel AVX-512 instructions, and a 5-microsecond real-time iceberg refill detector.

Safety Guards

Rule Max Limit Action On Breach

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

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

## Как AVX-512 оптимизация и Iceberg Detector снижают задержку анализа стакана?

AVX-512 оптимизация переводит расчет интенсивности потока ордеров (процесс Хокса) в суб-микросекундный диапазон за счет параллельной обработки данных в 512-битных ZMM регистрах. Iceberg Detector выявляет скрытую ликвидность в стакане, отслеживая мгновенные рефиллы уровней в течение пяти микросекунд после их полного исполнения, передавая сигналы через lock-free очереди.


























Технология Принцип работы Ожидаемый HFT-эффект
Векторизация AVX-512 Использование инструкций _mm512_mul_pd и _mm512_fmadd_pd Параллельный расчет 8 значений double за один такт процессора.
Аппроксимация fast_exp512_pd Расчет экспоненциального затухания Хокса на регистрах Исключает переключение контекста процессора на вызов стандартных библиотек math.
Мгновенный рефилл (Iceberg) Поиск добавления ордеров на уровне в течение $\tau \le 5000\text{ нс}$ Выявление скрытых заявок институционалов для корректировки направления пробоя.


### Введение
В высокочастотном маркет-мейкинге (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 для исключения взаимных блокировок потоков.