Avx512 Hawkes Engine

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

Published: 2026-06-25 · Trading

Введение В высокочастотном маркет-мейкинге (HFT) скорость принятия решений и вычисления вероятности сквиза стакана критически зависят от латентности вычислений.

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

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

Executable Parameters

Contracts

RPC Endpoints

Constants

hawkes_dimensions: 6
hawkes_window_events: 100000
iceberg_refill_threshold_ns: 5000

Safety Guards

Rule Max Limit Action On Breach

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

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