Глава 262: Market Making с машинным обучением
Введение
Market making (маркет-мейкинг) — это практика непрерывного выставления котировок bid (покупка) и ask (продажа) на финансовый инструмент с целью заработка на спреде между ними при управлении инвентарным риском. Традиционный маркет-мейкинг опирался на ручные правила и интуицию, но современные электронные рынки требуют более быстрых и адаптивных стратегий. Машинное обучение трансформирует маркет-мейкинг, позволяя моделям обучаться оптимальным политикам котирования, предсказывать неблагоприятный отбор и динамически управлять инвентарём на основе данных.
Основная проблема маркет-мейкинга — это баланс между двумя конкурирующими целями: получением дохода от спреда за счёт агрессивного котирования и избежанием убытков от торговли против информированных контрагентов или удержания несбалансированного инвентаря при неблагоприятных ценовых движениях. ML-маркет-мейкеры учатся навигировать этот компромисс, обрабатывая сигналы микроструктуры — дисбаланс книги ордеров, токсичность торгового потока, оценки волатильности — и корректируя своё поведение котирования в реальном времени.
В этой главе представлен комплексный фреймворк для маркет-мейкинга на основе ML. Мы рассматриваем теоретические основы оптимального котирования, ключевые признаки, определяющие решения о котировании, и модели машинного обучения, используемые для оптимизации стратегий маркет-мейкинга. Полная реализация на Rust подключается к криптовалютной бирже Bybit для получения данных в реальном времени.
Ключевые концепции
Спред Bid-Ask и прибыль маркет-мейкера
Маркет-мейкер одновременно выставляет цену покупки $P^b$ и цену продажи $P^a$. Спред $s = P^a - P^b$ представляет валовую прибыль маркет-мейкера за полный цикл (покупка по bid и продажа по ask). Однако реализованная прибыль уменьшается из-за неблагоприятного отбора — стоимости торговли против информированных участников, знающих истинную стоимость актива.
Эффективный спред, заработанный маркет-мейкером, может быть разложен как:
$$\text{Реализованный спред} = \frac{s}{2} - \text{Стоимость неблагоприятного отбора}$$
Прибыльный маркет-мейкер должен устанавливать спреды достаточно широкие для покрытия неблагоприятного отбора и инвентарных затрат, но достаточно узкие для привлечения потока ордеров и сохранения приоритета в очереди.
Модель Авелланеда-Стоикова
Основополагающая модель Авелланеда-Стоикова (2008) предоставляет аналитический фундамент для оптимального маркет-мейкинга. Маркет-мейкер максимизирует ожидаемую полезность конечного богатства при ограничениях на инвентарь. Оптимальные котировки bid и ask:
$$P^b = S - \delta^b, \quad P^a = S + \delta^a$$
где $S$ — средняя цена (mid-price), а оптимальные смещения:
$$\delta^b = \delta^a = \frac{1}{\gamma} \ln\left(1 + \frac{\gamma}{\kappa}\right) + \frac{\gamma \sigma^2 (T - t)}{2} q$$
Здесь $\gamma$ — параметр неприятия риска, $\kappa$ контролирует чувствительность вероятности исполнения к спреду, $\sigma$ — волатильность, $T - t$ — оставшийся временной горизонт, а $q$ — текущий инвентарь. Ключевое понимание состоит в том, что маркет-мейкер смещает котировки на основе инвентаря: при длинной позиции bid расширяется, а ask сужается для стимулирования продаж.
Управление инвентарным риском
Инвентарный риск — это подверженность маркет-мейкера от удержания чистой позиции. Если маркет-мейкер накапливает большую длинную (короткую) позицию и цена падает (растёт), убытки могут превысить доход от спреда. Инвентарный штраф моделируется как:
$$\text{Инвентарная стоимость} = \gamma \cdot q^2 \cdot \sigma^2 \cdot \Delta t$$
где $q$ — уровень инвентаря, $\sigma$ — волатильность, $\Delta t$ — период удержания, а $\gamma$ — коэффициент неприятия риска. Этот квадратичный штраф мотивирует маркет-мейкера удерживать инвентарь близко к нулю.
Неблагоприятный отбор
Неблагоприятный отбор (adverse selection) возникает, когда стоящие в очереди ордера маркет-мейкера исполняются трейдерами с превосходящей информацией. Вероятность того, что входящий ордер является информированным, связана с метрикой токсичности потока VPIN:
$$P(\text{информированный}) = \frac{\alpha \mu}{\alpha \mu + 2 \varepsilon}$$
где $\alpha$ — вероятность информационного события, $\mu$ — интенсивность прихода информированных трейдеров, а $\varepsilon$ — интенсивность прихода неинформированных трейдеров с каждой стороны. При высоком неблагоприятном отборе маркет-мейкер должен расширять спреды для компенсации ожидаемых убытков от торговли против информированного потока.
Вероятность исполнения
Вероятность исполнения лимитного ордера на расстоянии $\delta$ от средней цены следует экспоненциальному затуханию:
$$P(\text{исполнение} | \delta) = A \cdot e^{-\kappa \delta}$$
где $A$ — нормировочная константа, а $\kappa$ определяет, насколько чувствительна вероятность исполнения к расстоянию ордера от средней цены. Это создаёт фундаментальный компромисс: более широкие спреды приносят больше прибыли за исполнение, но меньше исполнений; более узкие спреды привлекают больше потока, но зарабатывают меньше за сделку.
Оценка волатильности
Точная оценка волатильности критически важна для маркет-мейкинга. Реализованная волатильность на окне из $n$ доходностей $r_i$:
$$\hat{\sigma} = \sqrt{\frac{1}{n-1} \sum_{i=1}^{n} (r_i - \bar{r})^2}$$
В высокочастотных условиях оценка Гармана-Класса обеспечивает более эффективную оценку на основе данных OHLC:
$$\hat{\sigma}_{GK}^2 = \frac{1}{2}(\ln H - \ln L)^2 - (2\ln 2 - 1)(\ln C - \ln O)^2$$
где $H, L, O, C$ — максимальная, минимальная, цена открытия и цена закрытия соответственно. Маркет-мейкер использует волатильность для масштабирования ширины спреда: более высокая волатильность требует более широких спредов для компенсации возросшего инвентарного риска.
Подходы ML
Обучение с подкреплением для оптимального котирования
Обучение с подкреплением (RL) — наиболее естественный фреймворк для маркет-мейкинга, поскольку задача по своей сути последовательна: маркет-мейкер наблюдает состояние (цены, инвентарь, книга ордеров), совершает действие (размещение котировки) и получает вознаграждение (PnL). Пространство состояний:
$$\mathbf{s}_t = [q_t, \hat{\sigma}_t, \text{OFI}_t, \text{VPIN}_t, \text{spread}_t, \text{imbalance}_t, T - t]$$
Пространство действий состоит из смещений bid и ask $(\delta^b, \delta^a)$ от средней цены. Функция вознаграждения балансирует PnL с инвентарным риском:
$$r_t = \text{PnL}_t - \gamma \cdot q_t^2$$
Агент Q-обучения аппроксимирует оптимальную функцию ценности действий:
$$Q(\mathbf{s}, \mathbf{a}) \leftarrow Q(\mathbf{s}, \mathbf{a}) + \alpha \left[ r + \gamma’ \max_{\mathbf{a}’} Q(\mathbf{s}’, \mathbf{a}’) - Q(\mathbf{s}, \mathbf{a}) \right]$$
где $\alpha$ — скорость обучения, а $\gamma’$ — коэффициент дисконтирования. После сходимости маркет-мейкер выбирает котировки, максимизирующие ожидаемое кумулятивное вознаграждение.
Логистическая регрессия для обнаружения неблагоприятного отбора
Более простой ML-компонент обнаруживает, когда неблагоприятный отбор повышен. По заданным признакам $\mathbf{x}_t = [\text{VPIN}_t, \text{OFI}_t, \text{spread}_t, \text{volume}_t, \text{imbalance}_t]$ логистический классификатор предсказывает вероятность скорого неблагоприятного движения:
$$P(\text{неблагоприятный} | \mathbf{x}_t) = \sigma(\mathbf{w}^T \mathbf{x}_t + b) = \frac{1}{1 + e^{-(\mathbf{w}^T \mathbf{x}_t + b)}}$$
Когда предсказанная вероятность неблагоприятного отбора превышает порог, маркет-мейкер расширяет спреды или временно выходит с рынка.
Нейросетевой предиктор спреда
Нейронная сеть прямого распространения может обучиться отображению из рыночного состояния в оптимальную ширину спреда. Архитектура обрабатывает вектор признаков через скрытые слои:
$$\mathbf{h}_1 = \text{ReLU}(\mathbf{W}_1 \mathbf{x} + \mathbf{b}_1)$$ $$\mathbf{h}_2 = \text{ReLU}(\mathbf{W}_2 \mathbf{h}_1 + \mathbf{b}_2)$$ $$\hat{s} = \text{softplus}(\mathbf{W}_3 \mathbf{h}_2 + \mathbf{b}_3)$$
Активация softplus обеспечивает положительный выходной спред. Сеть обучается на исторических данных, где целевой спред выводится из апостериорного оптимального спреда, который максимизировал бы скорректированный на риск PnL.
Инженерия признаков
Признаки книги ордеров
Признаки книги ордеров описывают текущее состояние спроса и предложения:
- Дисбаланс bid-ask: $\text{Imbalance} = \frac{V^b - V^a}{V^b + V^a}$, в диапазоне от -1 до +1
- Коэффициент глубины: Общий объём в пределах $k$ уровней с каждой стороны, нормализованный
- Взвешенная средняя цена: $P_w = \frac{V^a \cdot P^b + V^b \cdot P^a}{V^b + V^a}$, лучше отражающая истинную справедливую стоимость при наличии дисбаланса
- Давление позиции в очереди: Скорость изменения объёма на лучших уровнях
Признаки торгового потока
Признаки торгового потока суммируют недавнюю торговую активность:
- Дисбаланс потока ордеров (OFI): Чистое изменение объёма bid vs ask по обновлениям книги
- Кумулятивная дельта: Накопленная сумма объёмов покупок минус объёмов продаж
- Интенсивность прихода сделок: Количество сделок в единицу времени, отражающее срочность
- Средний размер сделки: Средний объём за сделку, различающий розничный и институциональный поток
Признаки волатильности и спреда
- Реализованная волатильность: Скользящее стандартное отклонение доходностей средней цены
- Волатильность Гармана-Класса: Более эффективная оценка на основе OHLC
- Текущий спред: Преобладающий спред bid-ask как доля от средней цены
- Z-оценка спреда: Текущий спред относительно его скользящего распределения
Применения
Маркет-мейкинг на криптовалютных рынках
Криптовалютные рынки особенно подходят для ML-маркет-мейкинга благодаря их круглосуточной работе, высокой волатильности и фрагментированной ликвидности между биржами. На платформах вроде Bybit маркет-мейкер может:
- Непрерывно котировать бессрочные контракты BTCUSDT, зарабатывая спред bid-ask при управлении инвентарём через механизм фандинга.
- Использовать сигналы дисбаланса книги ордеров и VPIN для обнаружения информированного потока от китов или арбитражёров и соответствующего расширения спредов.
- Корректировать лимиты позиций на основе прогнозируемых режимов волатильности, снижая экспозицию перед событиями с высоким влиянием.
Маркет-мейкинг на фондовых рынках
На фондовых рынках назначенные маркет-мейкеры (DMM) имеют формальные обязательства по предоставлению непрерывных котировок. ML повышает их эффективность, предсказывая краткосрочные движения цен, оптимизируя позицию в очереди и управляя инвентарём по коррелированным инструментам. Кросс-активные сигналы, такие как потоки создания/погашения ETF и активность рынка опционов, предоставляют дополнительные признаки.
Мультиактивный маркет-мейкинг
Продвинутые стратегии маркет-мейкинга работают одновременно с несколькими коррелированными инструментами. Маркет-мейкер фьючерсов на индексы, например, должен учитывать совместное движение фьючерса, составляющих акций и связанных ETF. Модели ML могут обучаться этим кросс-активным связям и генерировать сигналы хеджирования:
$$q_{\text{хедж}} = -\sum_{i=1}^{N} \beta_i \cdot q_i$$
где $q_i$ — инвентарь по активу $i$, а $\beta_i$ — коэффициент хеджирования, обученный на исторических данных совместного движения.
Реализация на Rust
Наша реализация на Rust предоставляет полный набор инструментов для ML-маркет-мейкинга со следующими компонентами:
AvellanedaStoikov
Структура AvellanedaStoikov реализует классическую модель оптимального котирования. Она вычисляет смещения bid и ask от средней цены на основе уровня инвентаря, волатильности, неприятия риска и временного горизонта. Ключевое понимание модели — смещение котировок для управления инвентарём — формирует базовую линию, относительно которой измеряются улучшения ML.
InventoryManager
Структура InventoryManager отслеживает текущую позицию маркет-мейкера, вычисляет штрафы за инвентарный риск и применяет лимиты позиций. Поддерживает как симметричные, так и асимметричные инвентарные штрафы, а также методы для вычисления оптимального инвентарно-нейтрального коэффициента хеджирования.
AdverseSelectionDetector
AdverseSelectionDetector реализует логистическую регрессию для обнаружения неблагоприятного отбора в реальном времени. Он обрабатывает признаки на основе VPIN, OFI и динамики спреда, выдавая вероятность того, что текущие рыночные условия являются токсичными. Маркет-мейкер использует этот сигнал для динамической корректировки ширины спреда.
MarketMakingRL
Структура MarketMakingRL реализует табличного агента Q-обучения для оптимального размещения котировок. Пространство состояний дискретизируется на бины инвентаря, волатильности и дисбаланса потока. Агент обучается оптимальным смещениям bid/ask, максимизирующим скорректированный на риск PnL в симулированной торговой сессии.
BybitClient
Структура BybitClient обеспечивает асинхронный HTTP-доступ к API Bybit V5. Она получает данные kline (свечи) с эндпоинта /v5/market/kline и снимки книги ордеров с эндпоинта /v5/market/orderbook. Клиент обрабатывает парсинг ответов, обработку ошибок и предоставляет поток данных в реальном времени для системы маркет-мейкинга.
Интеграция с API Bybit
Реализация подключается к REST API Bybit V5 для получения рыночных данных в реальном времени:
- Эндпоинт Kline (
/v5/market/kline): Предоставляет данные свечей OHLCV с настраиваемыми интервалами. Используется для оценки волатильности и исторического бэктестинга стратегий маркет-мейкинга. - Эндпоинт книги ордеров (
/v5/market/orderbook): Предоставляет снимок текущей книги лимитных ордеров с настраиваемой глубиной. Используется для вычисления дисбаланса bid-ask, OFI и калибровки моделей вероятности исполнения.
API Bybit хорошо подходит для исследований маркет-мейкинга, предоставляя:
- Мелкие интервалы (1-минутные свечи для высокочастотного анализа)
- Глубокие снимки книги ордеров (до 200 уровней)
- Стабильные ответы с низкой задержкой для систем котирования в реальном времени
Литература
- Avellaneda, M., & Stoikov, S. (2008). High-frequency trading in a limit order book. Quantitative Finance, 8(3), 217-224.
- Gueant, O., Lehalle, C. A., & Fernandez-Tapia, J. (2013). Dealing with the inventory risk: a solution to the market making problem. Mathematics and Financial Economics, 7(4), 477-507.
- Spooner, T., Fearnley, J., Savani, R., & Koukorinis, A. (2018). Market making via reinforcement learning. Proceedings of AAMAS 2018.
- Easley, D., Lopez de Prado, M. M., & O’Hara, M. (2012). Flow toxicity and liquidity in a high-frequency world. The Review of Financial Studies, 25(5), 1457-1493.
- Cartea, A., Jaimungal, S., & Penalva, J. (2015). Algorithmic and High-Frequency Trading. Cambridge University Press.
- Gasperov, B., & Kostanjcar, Z. (2021). Market making with signals through deep reinforcement learning. IEEE Access, 9, 61611-61622.