Глава 305: Обратное обучение с подкреплением для трейдинга
Введение
Стандартное обучение с подкреплением (RL) предполагает, что агенту задана чётко определённая функция вознаграждения. Однако в трейдинге определить правильный сигнал вознаграждения крайне сложно. Что оптимизировать: чистую прибыль, коэффициент Шарпа, максимальную просадку или некую сложную многокритериальную комбинацию? Ответ часто скрыт в поведении успешных трейдеров, которые за годы работы на рынке интуитивно встроили сложные критерии в свой процесс принятия решений.
Обратное обучение с подкреплением (Inverse RL, IRL) переворачивает задачу RL: вместо обучения политики по функции вознаграждения, IRL восстанавливает функцию вознаграждения из наблюдаемого поведения эксперта. По набору продемонстрированных траекторий эксперта-трейдера IRL определяет, что именно эксперт оптимизирует, а не просто как он торгует.
В данной главе рассматривается применение IRL к финансовым рынкам для реконструкции неявных целей институциональных трейдеров, маркет-мейкеров и других профессиональных участников рынка. Мы реализуем фреймворк Maximum Entropy IRL на языке Rust с интеграцией данных биржи Bybit, что позволяет восстанавливать функции вознаграждения из реального торгового поведения.
Почему обратное RL для трейдинга?
Традиционные подходы к алгоритмическому трейдингу либо:
- Задают функции вознаграждения вручную — что может упустить тонкие цели, которые эксперты неявно оптимизируют
- Используют клонирование поведения — которое копирует действия, но не обобщается при изменении рыночных условий
- Применяют стандартное RL — что требует тщательной разработки вознаграждения и может переобучиться на выбранную метрику
IRL решает эти ограничения, восстанавливая переносимую функцию вознаграждения, объясняющую поведение эксперта. Обученная функция вознаграждения позволяет тренировать новые политики, которые обобщаются на невиданные рыночные условия, потому что агент понимает почему определённые действия оптимальны, а не просто какие действия выполнять.
Математические основы
Постановка задачи IRL
Мы моделируем трейдинг как марковский процесс принятия решений (MDP), определяемый кортежем $(S, A, T, \gamma, R)$:
- $S$: Пространство состояний (рыночные признаки: цены, объёмы, индикаторы, состояние портфеля)
- $A$: Пространство действий (покупка, продажа, удержание, размер позиции)
- $T(s’ | s, a)$: Динамика переходов (эволюция рынка)
- $\gamma$: Коэффициент дисконтирования
- $R(s, a)$: Функция вознаграждения (неизвестна, подлежит восстановлению)
По демонстрациям эксперта $\mathcal{D} = {\tau_1, \tau_2, \ldots, \tau_N}$, где каждая траектория $\tau_i = (s_0, a_0, s_1, a_1, \ldots)$, цель — найти $R^$ такую, что политика эксперта $\pi_E$ оптимальна при $R^$.
Согласование ожиданий признаков
Фундаментальная идея IRL (Abbeel & Ng, 2004) состоит в том, что функция вознаграждения может быть представлена как линейная комбинация признаков состояния:
$$R(s) = \boldsymbol{w}^T \boldsymbol{\phi}(s)$$
где $\boldsymbol{\phi}(s) \in \mathbb{R}^k$ — вектор признаков, а $\boldsymbol{w} \in \mathbb{R}^k$ — веса вознаграждения, подлежащие обучению.
Ожидание признаков политики $\pi$ определяется как:
$$\boldsymbol{\mu}(\pi) = \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t \boldsymbol{\phi}(s_t) \mid \pi\right]$$
Ограничение IRL требует, чтобы ожидания признаков эксперта были не хуже, чем у любой другой политики:
$$\boldsymbol{w}^T \boldsymbol{\mu}(\pi_E) \geq \boldsymbol{w}^T \boldsymbol{\mu}(\pi) \quad \forall \pi$$
Maximum Entropy IRL (Ziebart и др., 2008)
Фреймворк Maximum Entropy (MaxEnt) IRL разрешает неоднозначность в IRL, выбирая распределение по траекториям с максимальной энтропией при условии согласования ожиданий признаков эксперта:
$$P(\tau | \boldsymbol{w}) = \frac{1}{Z(\boldsymbol{w})} \exp\left(\boldsymbol{w}^T \boldsymbol{f}_\tau\right)$$
где $\boldsymbol{f}\tau = \sum{t} \boldsymbol{\phi}(s_t)$ — кумулятивный счёт признаков вдоль траектории $\tau$, а $Z(\boldsymbol{w})$ — статистическая сумма.
Логарифм правдоподобия демонстраций эксперта при данной модели:
$$\mathcal{L}(\boldsymbol{w}) = \sum_{i=1}^{N} \boldsymbol{w}^T \boldsymbol{f}_{\tau_i} - N \log Z(\boldsymbol{w})$$
Градиент логарифма правдоподобия:
$$\nabla_{\boldsymbol{w}} \mathcal{L} = \boldsymbol{f}{\text{expert}} - \mathbb{E}{\pi_{\boldsymbol{w}}}[\boldsymbol{f}]$$
где $\boldsymbol{f}{\text{expert}} = \frac{1}{N}\sum_i \boldsymbol{f}{\tau_i}$ — средний счёт признаков эксперта, а $\mathbb{E}{\pi{\boldsymbol{w}}}[\boldsymbol{f}]$ — ожидаемый счёт признаков при текущей политике, индуцированной выученным вознаграждением. Обновление градиентным подъёмом:
$$\boldsymbol{w} \leftarrow \boldsymbol{w} + \alpha \left(\boldsymbol{f}{\text{expert}} - \mathbb{E}{\pi_{\boldsymbol{w}}}[\boldsymbol{f}]\right)$$
Итеративный процесс чередует:
- Прямое RL: Решение для оптимальной политики $\pi_{\boldsymbol{w}}$ при текущих весах вознаграждения $\boldsymbol{w}$
- Обратный градиент: Обновление $\boldsymbol{w}$ для приближения ожидаемых счётов признаков к экспертным
Итерация по значениям с линейным вознаграждением
По выученным весам вознаграждения $\boldsymbol{w}$ вознаграждение в состоянии $s$ равно $R(s) = \boldsymbol{w}^T \boldsymbol{\phi}(s)$. Стандартная итерация по значениям вычисляет:
$$V(s) = \max_a \left[ R(s) + \gamma \sum_{s’} T(s’|s,a) V(s’) \right]$$
$$Q(s, a) = R(s) + \gamma \sum_{s’} T(s’|s,a) V(s’)$$
Мягкий (MaxEnt) вариант использует softmax вместо max:
$$V_{\text{soft}}(s) = \text{softmax}a \left[ R(s) + \gamma \sum{s’} T(s’|s,a) V_{\text{soft}}(s’) \right]$$
что даёт стохастическую политику $\pi(a|s) \propto \exp(Q(s,a) - V(s))$.
Применения в трейдинге
Реконструкция целей институциональных трейдеров
Институциональные трейдеры часто имеют сложные многогранные цели, выходящие за рамки простой максимизации прибыли:
- Качество исполнения: Минимизация рыночного воздействия при исполнении крупных заказов
- Ограничения риска: Поддержание VaR портфеля в пределах лимитов
- Регуляторное соответствие: Обеспечение обязательств наилучшего исполнения
- Утечка информации: Предотвращение обнаружения намерений другими участниками
Наблюдая за паттернами потока ордеров (через публичные данные о сделках и книге заявок), IRL может определить относительную важность каждой из этих целей. Восстановленные веса вознаграждения $\boldsymbol{w}$ показывают, приоритизирует ли данный институциональный участник скорость над воздействием или наоборот.
Анализ стимулов маркет-мейкеров
Маркет-мейкеры обеспечивают ликвидность, непрерывно котируя спреды покупки-продажи. Их неявная функция вознаграждения балансирует:
- Захват спреда: Заработок на спреде покупки-продажи при круговых сделках
- Инвентарный риск: Избежание чрезмерной направленной экспозиции
- Неблагоприятный отбор: Минимизация потерь от информированных трейдеров
- Оптимизация комиссий: Максимизация комиссионных возвратов биржи
IRL, применённое к поведению маркет-мейкеров, может раскрыть, как эти стимулы смещаются в различных рыночных режимах (высокая волатильность, низкая ликвидность, вокруг новостных событий). Эта информация ценна для проектирования конкурирующих стратегий или для бирж, оптимизирующих свои структуры комиссий.
Декомпозиция экспертных стратегий
По истории прибыльного трейдера IRL может разложить его стратегию на интерпретируемые компоненты вознаграждения:
- Вес импульса: Насколько эксперт вознаграждает признаки следования за трендом
- Вес возврата к среднему: Важность сигналов возврата
- Предпочтение волатильности: Ищет ли эксперт волатильные условия или избегает их
- Чувствительность к корреляциям: Как кросс-активные корреляции влияют на решения
Реализация на Rust
Наша реализация в rust/src/lib.rs предоставляет:
-
MarketFeatureExtractor: Извлекает нормализованные признаки из сырых рыночных данных, включая доходности, волатильность, импульс, отношение объёмов и спред. Они формируют вектор признаков $\boldsymbol{\phi}(s)$. -
MaxEntIRL: Основной алгоритм IRL, реализующий:- Градиентный подъём по логарифму правдоподобия для обучения весов вознаграждения $\boldsymbol{w}$
- Мягкую итерацию по значениям с выученным вознаграждением
- Вычисление ожиданий признаков из траекторий эксперта и выученной политики
- Мониторинг сходимости через разность счётов признаков
-
TradingEnvironment: Дискретное MDP-окружение для трейдинга с настраиваемыми состояниями и действиями, поддерживающее динамику переходов и вычисление вознаграждений. -
ExpertTrajectoryCollector: Генерирует или собирает демонстрации экспертов из симулированных экспертов или реальных торговых данных. -
BybitClient: Получает рыночные данные в реальном времени и исторические данные из API Bybit, преобразуя сырые данные свечей в векторы признаков, пригодные для IRL.
Инженерия признаков для IRL
Вектор признаков $\boldsymbol{\phi}(s)$ для каждого рыночного состояния включает:
| Признак | Описание | Нормализация |
|---|---|---|
return_1 | Логарифмическая доходность за 1 период | Обрезка до [-0.1, 0.1] |
return_5 | Логарифмическая доходность за 5 периодов | Обрезка до [-0.2, 0.2] |
volatility | Скользящее стд. откл. доходностей | Min-max масштабирование |
momentum | Отношение EMA (быстрая/медленная) | Центрирование на 1.0 |
volume_ratio | Объём к скользящему среднему | Логарифмическое масштабирование |
spread | Прокси спреда покупки-продажи | Min-max масштабирование |
Интеграция данных Bybit
Реализация подключается к публичному API Bybit для получения исторических данных свечей:
GET https://api.bybit.com/v5/market/kline?category=linear&symbol=BTCUSDT&interval=15&limit=200Сырые данные OHLCV преобразуются в описанное выше признаковое представление. Экспертные траектории формируются путём разметки исторических периодов, где наблюдаются определённые торговые паттерны (например, следование за импульсом, возврат к среднему), а затем IRL восстанавливает неявную функцию вознаграждения, управляющую этими паттернами.
Конвейер данных
- Получение: Загрузка данных свечей BTCUSDT из Bybit
- Преобразование: Вычисление технических признаков (доходности, волатильность, импульс, отношение объёмов)
- Дискретизация: Отображение непрерывных признаков в дискретные состояния для табличного IRL
- Разметка: Определение экспертных действий по движениям цен и паттернам объёмов
- Обучение: Запуск MaxEnt IRL для восстановления весов вознаграждения
- Оценка: Сравнение выученной политики с базовым клонированием поведения
Ключевые выводы
-
IRL восстанавливает “почему”, а не только “что”: В отличие от клонирования поведения, которое копирует действия, IRL определяет базовую функцию вознаграждения, создавая политики, обобщающиеся на новые рыночные условия.
-
MaxEnt IRL обеспечивает принципиальное разрешение неоднозначности: Фреймворк максимальной энтропии выбирает наименее предвзятую функцию вознаграждения, согласованную с поведением эксперта, избегая переобучения на конкретные траектории.
-
Инженерия признаков критически важна: Качество восстановленных функций вознаграждения сильно зависит от признакового представления $\boldsymbol{\phi}(s)$. Экспертные знания о микроструктуре рынка должны определять выбор признаков.
-
Институциональное поведение раскрывает скрытые цели: Применение IRL к данным потока ордеров может обнаружить многогранные цели институциональных участников, предоставляя стратегическую разведку.
-
Выученные вознаграждения переносятся между рынками: Функции вознаграждения, восстановленные из одного рынка, потенциально применимы к схожим инструментам, обеспечивая перенос обучения между активами.
-
Вычислительная стоимость управляема в дискретных средах: Табличный MaxEnt IRL с мягкой итерацией по значениям вычислительно выполним для дискретизированных торговых сред, хотя непрерывные пространства состояний требуют расширений с аппроксимацией функций.
-
Комбинация IRL с прямым RL эффективна: Двухэтапный подход: (1) обучение вознаграждений через IRL, затем (2) оптимизация политики стандартным RL с выученным вознаграждением — часто превосходит каждый подход по отдельности.
Литература
- Ng, A. & Russell, S. (2000). Algorithms for Inverse Reinforcement Learning. ICML.
- Abbeel, P. & Ng, A. (2004). Apprenticeship Learning via Inverse Reinforcement Learning. ICML.
- Ziebart, B. et al. (2008). Maximum Entropy Inverse Reinforcement Learning. AAAI.
- Wulfmeier, M. et al. (2015). Maximum Entropy Deep Inverse Reinforcement Learning. arXiv.
- Yang, S. et al. (2020). Inverse Reinforcement Learning for Order Execution. ICAIF.