Avellaneda Stoikov Inventory

Модель Авелланеда-Стойкова: Контроль инвентарного риска в крипто-маркетмейкинге

Published: 2026-06-25 · Trading

Модель Авелланеда-Стойкова динамически смещает цену котирования (резервационную цену) относительно среднего рынка на основе накопленного инвентаря. При росте длинной позиции алгори

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

  • Avellaneda-Stoikov market making model with inventory risk parameters.
  • Dynamically skews bid-ask spreads around reservation price based on current inventory, preventing high directional risk accumulation.

Safety Guards

Rule Max Limit Action On Breach
max_inventory_drift_limit 0.05 halt_new_quotes

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

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

## Как модель Авелланеда-Стойкова защищает маркетмейкеров от инвентарного риска?

Модель Авелланеда-Стойкова динамически смещает цену котирования (резервационную цену) относительно среднего рынка на основе накопленного инвентаря. При росте длинной позиции алгоритм сдвигает биды и аски вниз, снижая вероятность новых покупок и ускоряя распродажу активов. Это защищает маркетмейкера от обесценивания портфеля при направленных трендах.


























Параметр Формула / Описание Влияние на котирование бота
Резервационная цена ($r$) $r(s, q, t) = s - q \gamma \sigma^2 (T - t)$ Смещает рабочую цену вниз при накоплении лонга ($q > 0$) и вверх при шорте.
Оптимальный спрэд ($\delta^a + \delta^b$) $\gamma \sigma^2 (T - t) + \frac{2}{\gamma} \ln\left(1 + \frac{\gamma}{k}\right)$ Расширяет спред при росте волатильности ($\sigma$) для защиты от токсичного потока.
Аварийный лимит (`max_inventory`) $q \ge 0.05 \text{ BTC}$ Блокирует новые котировки покупки и закрывает избыточный инвентарь по рынку.


### Введение
При маркетмейкинге на волатильных криптоактивах ключевой риск дилера — **инвентарный риск** (inventory risk): накопление слишком большой длинной или короткой позиции, которая обесценится в случае направленного движения цены. Модель **Авелланеда-Стойкова** (Avellaneda-Stoikov) решает эту задачу, сдвигая цену предложения (reservation price) относительно среднего рынка (mid-price) в сторону, противоположную накопленному инвентарю.

### Резервационная цена (Reservation Price)
Вместо симметричного размещения лимитных ордеров вокруг текущей средней цены \(s\), маркетмейкер рассчитывает резервационную цену \(r\):

\[ r(s, q, t) = s - q \gamma \sigma^2 (T - t) \]

Где:
- \(s\) — текущая средняя цена (mid-price),
- \(q\) — текущий инвентарь (количество удерживаемых активов, положительное для лонга, отрицательное для шорта),
- \(\gamma\) — коэффициент неприятия риска (risk aversion),
- \(\sigma\) — волатильность цены актива,
- \(T - t\) — оставшееся время торговой сессии (в крипто-HFT часто принимается за 1 или нормированный шаг).

Когда инвентарь \(q > 0\) (накоплен лонг), резервационная цена \(r\) опускается ниже mid-price. Это заставляет алгоритм сдвинуть биды и аски вниз, тем самым делая продажу более вероятной, а покупку — менее вероятной.

### Оптимальный спрэд (Optimal Spread)
Расстояние от резервационной цены до ордеров покупки (\(\delta^a\)) и продажи (\(\delta^b\)) рассчитывается как:

\[ \delta^a + \delta^b = \gamma \sigma^2 (T - t) + \frac{2}{\gamma} \ln\left(1 + \frac{\gamma}{k}\right) \]

Где \(k\) отражает ликвидность и плотность книги ордеров (измеряется эмпирически по частоте исполнения рыночных ордеров в зависимости от спрэда).

### Практическая реализация в боте
1. **Котирование**: Бот выставляет бид на \(r - \delta^b\) и аск на \(r + \delta^a\).
2. **Динамический асимметричный спрэд**: При росте длинной позиции шаг покупки увеличивается (чтобы реже покупать), а шаг продажи сужается к спреду (чтобы быстрее сбросить инвентарь).
3. **Аварийный лимит**: Если инвентарь превышает `max_inventory` (0.05 BTC), новые лимитные ордера на покупку блокируются (`halt_new_quotes`), а накопленная позиция закрывается рыночным ордером для предотвращения токсичного зависания.