Разработка AI-маркет-мейкинг бота
Маркет-мейкер выставляет bid и ask одновременно, зарабатывая на спреде. Риск: inventory накапливается при одностороннем движении рынка. ML помогает адаптивно управлять спредами и inventory.
Экономика маркет-мейкинга
P&L компоненты
- Spread capture: каждая buy/sell пара по разным ценам → прибыль
- Inventory risk: накопление позиции при направленном движении → риск
- Adverse selection: информированные трейдеры торгуют против маркет-мейкера → убытки
- Rebates/maker fees: биржи платят за liquidity provision (maker-taker модель)
Цель: максимизировать spread capture при минимальном inventory risk.
Модели маркет-мейкинга
Avellaneda-Stoikov модель
Классическая теоретическая база. Оптимальные котировки:
- bid = mid - (spread/2) - γ·σ²·q·T (discount for inventory)
- ask = mid + (spread/2) + γ·σ²·q·T
γ — risk aversion параметр, q — текущий inventory, T — time to end, σ — volatility.
ML улучшения: динамически оцениваемые параметры модели (σ, γ) вместо константных.
Стохастические модели с ML
Классические модели предполагают экзогенный order flow. ML предсказывает:
- Order flow intensity: сколько ордеров ожидается в следующую секунду
- Adverse selection probability: следующий ордер информированный или noise trader?
- Short-term price direction: price push в ближайшие N секунд
Hawkes процессы
Самовозбуждающиеся процессы для моделирования кластерного прихода ордеров. Обучение на order flow → предсказание burst activity → временный сброс позиции перед ожидаемым потоком.
Управление inventory
Стохастический контроль
Inventory limit: не держать больше N единиц в позиции. Алгоритм: при приближении к лимиту — скос котировок (асимметричный bid/ask) для reduction inventory через market flow, без агрессивного рыночного ордера.
ML inventory management
RL agent управляет inventory стратегией. State: current inventory, volatility, order flow imbalance, time of day. Actions: spread width, skew amount. Reward: P&L - inventory cost.
# Simplified market making state space
state = np.array([
inventory / max_inventory, # Normalized inventory
bid_ask_imbalance, # Order book imbalance
recent_vol_normalized, # Short-term volatility
time_of_day_features, # Session effects
recent_price_trend # Directional signal
])
action = agent.act(state)
# action: [spread_half_width, inventory_skew]
Crypto DeFi Market Making
Automated Market Makers (AMM)
Uniswap V3 concentrated liquidity: LP позиция в заданном ценовом диапазоне. ML-оптимизация: какой диапазон выбрать (шире — меньше fees, уже — больше fees но риск impermanent loss).
Rebalancing стратегия: когда пересмотреть диапазон при изменении рыночных условий. RL-агент для dynamic LP management.
Impermanent Loss предсказание
IL — убыток от предоставления ликвидности vs. просто держать активы. ML предсказывает ожидаемый IL на горизонте → включает в расчёт rentability позиции.
Техническая инфраструктура
Latency критична: конкурируем с другими MM за тот же order flow.
Exchange WebSocket → Order Book State → Quote Engine
↓
Quote Generator (ML model)
↓
Order Manager → Exchange API
Colocation для CEX. Для DEX — MEV-protected RPC провайдеры (Flashbots Protect), оптимизация gas.
Monitoring: P&L attribution (spread capture vs. inventory), fill rate, adverse selection ratio, inventory time series.







