# Математические заметки: Logit Jump-Diffusion ядро для Polymarket
## Концепт
В prediction markets до сих пор нет стандартного унифицированного pricing/risk-фреймворка уровня Black-Scholes для опционов.
Этот крейт реализует подход **Logit Jump-Diffusion**, описанный в:
- Shaw & Dalen (2025), *Toward Black-Scholes for Prediction Markets: A Unified Kernel and Market-Maker's Handbook*
Цель прикладная и HFT-ориентированная: стабильно и быстро строить inventory-aware bid/ask-котировки в реальном времени по большому числу рынков.
## Почему logit-пространство
На Polymarket цены выражены как вероятности:
$$
p \in (0,1)
$$
Считать диффузию напрямую в probability-space неудобно, потому что 0 и 1 являются жёсткими границами.
Мы переводим вероятность в log-odds (logit):
$$
x = \log\left(\frac{p}{1-p}\right), \quad p = S(x)=\frac{1}{1+e^{-x}}
$$
Теперь переменная состояния живёт на всей вещественной прямой:
$$
x \in (-\infty, +\infty)
$$
Это позволяет применять стандартный стохастический аппарат (diffusion + jumps), не упираясь постоянно в граничные ограничения.
## Локальные чувствительности в logit-координатах
Для логистического отображения $S(x)$:
$$
S'(x)=p(1-p)
$$
$$
S''(x)=p(1-p)(1-2p)
$$
Интерпретация:
- $S'(x)$ задаёт, насколько сильно движение в logit переносится в движение вероятности
- $S''(x)$ описывает кривизну/асимметрию около экстремумов (очень низкие или очень высокие вероятности)
## Слой маркет-мейкинга (logit Avellaneda-Stoikov)
Чтобы котировать в стакане, ядро адаптирует Avellaneda-Stoikov напрямую в logit-единицах.
Входы по каждому рынку:
- $x_t$: текущий logit mid
- $q_t$: текущий инвентарь
- $\sigma_b$: волатильность belief
- $\gamma$: риск-аверсия
- $\tau = T-t$: время до экспирации/резолва
- $k$: параметр прихода ордеров/ликвидности
### Reservation Quote
Инвентарь сдвигает внутреннюю fair value:
$$
r_x(t)=x_t - q_t\,\gamma\,\overline{\sigma_b^2}\,(T-t)
$$
Чем больше лонг-инвентарь, тем ниже reservation quote (более агрессивная продажа), и наоборот.
### Оптимальный спред (аппроксимация)
Полный спред в logit-единицах:
$$
2\delta_x(t) \approx \gamma\,\overline{\sigma_b^2}\,(T-t) + \frac{2}{k}\log\left(1+\frac{\gamma}{k}\right)
$$
Half-spread, используемый в коде:
$$
\delta_x(t) \approx \frac{1}{2}\gamma\,\overline{\sigma_b^2}\,(T-t) + \frac{1}{k}\log\left(1+\frac{\gamma}{k}\right)
$$
Далее:
$$
x^{bid}=r_x-\delta_x, \quad x^{ask}=r_x+\delta_x
$$
$$
p^{bid}=S(x^{bid}), \quad p^{ask}=S(x^{ask})
$$
## HFT-детали реализации
Математическая модель реализована с приоритетом на throughput:
- **SoA layout** (`x_t[]`, `q_t[]`, `sigma_b[]`, `gamma[]`, `tau[]`, `k[]`) для contiguous memory stream
- **AVX-512 SIMD** пакетный расчёт по 8 `f64` lane в одном векторе
- **Кастомная AVX-512 аппроксимация `log1p`**, чтобы расчёт спреда оставался полностью векторным
- **Быстрая аппроксимация sigmoid** в hot path
- **Ноль аллокаций в hot path** (все буферы передаются вызывающей стороной)
Такой дизайн убирает штрафы `gather` из AoS-layout и не допускает scalar fallback в AVX-512 пути квотирования.
## Численные guard rails
Для устойчивого продакшн-поведения:
- Входы поджимаются там, где нужно (`k >= \epsilon`, `gamma >= 0`, `tau >= 0`)
- Вероятности ограничиваются в $(\epsilon, 1-\epsilon)$, чтобы `logit` оставался конечным
- Math с минимизацией ветвлений помогает держать предсказуемую latency под нагрузкой
## Практическая интуиция
- Термин инвентарного риска расширяет/смещает котировки при росте позиции.
- Волатильность и время до резолва увеличивают risk compensation.
- Параметр прихода ордеров $k$ определяет нелинейную часть спреда.
- В сумме ядро балансирует вероятность исполнения и adverse selection.
Итог: это production-grade, SIMD-native ядро для котирования prediction markets с математически консистентным risk control.