Перейти к содержимому

Глава 313: Офлайн обучение с подкреплением для трейдинга

Введение

Офлайн обучение с подкреплением (также называемое пакетным RL) представляет собой смену парадигмы в применении RL к финансовым рынкам. В отличие от традиционного онлайн RL, которое требует непрерывного взаимодействия со средой (и, следовательно, подверженности реальному финансовому риску), офлайн RL обучается исключительно на фиксированном наборе ранее собранных переходов. Это особенно привлекательно для трейдинга по нескольким причинам:

  1. Отсутствие риска при обучении: Агент никогда не совершает реальную сделку во время обучения, что исключает катастрофические потери, которые могут возникнуть при исследовании необученной политикой на реальном рынке.
  2. Использование исторических данных: Компании накапливают годы торговых логов, исполнений ордеров и рыночных данных. Офлайн RL может извлекать оптимальные политики из этой исторической записи.
  3. Регуляторные преимущества: Регуляторы предпочитают стратегии, которые можно проверить на исторических данных перед развёртыванием, и офлайн RL естественно соответствует этому требованию.
  4. Воспроизводимость: Обучение на фиксированном наборе данных означает полную воспроизводимость экспериментов, в отличие от онлайн RL, где рыночные условия меняются между запусками.

Центральная проблема офлайн RL — сдвиг распределения: обученная политика может стремиться совершать действия, плохо представленные в историческом наборе данных, что приводит к завышенным Q-значениям и катастрофической производительности в реальном мире. В этой главе рассматриваются математические основы, ключевые алгоритмы (BCQ, BEAR, IQL) и полная реализация на Rust с интеграцией рыночных данных Bybit.

Математические основы

Задача офлайн RL

В стандартном RL мы имеем марковский процесс принятия решений (MDP), определяемый кортежем $(S, A, P, R, \gamma)$:

  • $S$: Пространство состояний (рыночные признаки: цены, объёмы, индикаторы)
  • $A$: Пространство действий (покупка, продажа, удержание, размеры позиций)
  • $P(s’|s,a)$: Динамика переходов (эволюция рынка)
  • $R(s,a)$: Функция вознаграждения (торговая прибыль/убыток, доходность с поправкой на риск)
  • $\gamma$: Коэффициент дисконтирования

В офлайн RL нам дан фиксированный набор данных $\mathcal{D} = {(s_i, a_i, r_i, s_i’)}_{i=1}^{N}$, собранный некоторой политикой поведения $\beta(a|s)$. Наша цель — обучить политику $\pi(a|s)$, максимизирующую ожидаемую кумулятивную награду, используя только $\mathcal{D}$ без дополнительного взаимодействия со средой.

Проблема сдвига распределения

Фундаментальная трудность возникает из-за несоответствия между распределением состояний-действий, индуцированным обученной политикой $\pi$, и распределением в наборе данных $\mathcal{D}$. При использовании уравнения Беллмана для оценки политики:

$$Q^{\pi}(s,a) = R(s,a) + \gamma \mathbb{E}_{s’ \sim P(\cdot|s,a)} [V^{\pi}(s’)]$$

где $V^{\pi}(s’) = \mathbb{E}_{a’ \sim \pi(\cdot|s’)}[Q^{\pi}(s’, a’)]$, значение $Q^{\pi}(s’, a’)$ может запрашиваться для пар состояние-действие $(s’, a’)$, выходящих за пределы распределения (OOD). Для OOD-пар Q-функция может выдавать произвольно завышенные значения, поскольку она никогда не корректировалась реальными переходами в этих точках.

В трейдинге это проявляется, когда офлайн-политика решает открыть крупную позицию с плечом в волатильном активе, но исторический набор данных содержит только консервативные сделки. Q-функция может присвоить высокие значения этим невиданным агрессивным действиям, что приведёт к катастрофическим результатам при реальном развёртывании.

Базовый метод: клонирование поведения

Простейший офлайн-подход — клонирование поведения (Behavior Cloning, BC): рассматриваем задачу как обучение с учителем и непосредственно имитируем политику поведения:

$$\pi_{BC} = \arg\max_{\pi} \mathbb{E}_{(s,a) \sim \mathcal{D}} [\log \pi(a|s)]$$

BC полностью избегает сдвига распределения, поскольку выбирает только действия, наблюдаемые в данных. Однако он ограничен максимум повторением производительности политики поведения и не может её улучшить. Если исторические сделки были неоптимальными, BC будет точно воспроизводить их неоптимальность.

Принцип пессимизма

Современные алгоритмы офлайн RL решают проблему сдвига распределения через принцип пессимизма: быть консервативным в отношении действий, плохо представленных в данных. Это может быть реализовано через:

  1. Ограничение носителя: Рассматривать только действия в пределах носителя $\beta(a|s)$ (BCQ)
  2. Сопоставление распределений: Ограничить $\pi$ близостью к $\beta$ через MMD или KL-дивергенцию (BEAR)
  3. Неявный пессимизм: Использовать экспектильную регрессию для обучения консервативной функции ценности (IQL)

Формально, пессимистический оператор Беллмана:

$$\hat{Q}^{\pi}(s,a) = R(s,a) + \gamma \mathbb{E}{s’}[\max{a’: a’ \in \text{supp}(\beta(\cdot|s’))} Q^{\pi}(s’, a’) - \lambda \cdot u(s’, a’)]$$

где $u(s’,a’)$ — штраф за неопределённость, возрастающий для действий, далёких от распределения данных.

Ключевые алгоритмы

BCQ (Batch-Constrained deep Q-learning)

BCQ (Fujimoto и др., 2019) ограничивает политику выбором только действий, подобных тем, что есть в наборе данных. Он обучает генеративную модель (VAE) политики поведения и рассматривает только действия в пределах порога от сгенерированных образцов:

  1. Обучить условный VAE для моделирования $\beta(a|s)$
  2. Выбрать $n$ действий-кандидатов из VAE для каждого состояния
  3. Выбрать действие с наивысшим Q-значением среди кандидатов
  4. Уточнить выбранное действие с помощью обученной сети возмущений

Применение в трейдинге: BCQ гарантирует, что агент рассматривает только размеры сделок и тайминги, подобные историческим исполнениям, предотвращая экстремальные позиции.

BEAR (Bootstrapping Error Accumulation Reduction)

BEAR (Kumar и др., 2019) ограничивает обученную политику ограниченным максимальным средним расхождением (MMD) от политики поведения:

$$\pi^* = \arg\max_{\pi} \mathbb{E}{s \sim \mathcal{D}} [\mathbb{E}{a \sim \pi(\cdot|s)}[Q(s,a)]]$$ $$\text{при } \text{MMD}(\pi(\cdot|s) | \beta(\cdot|s)) \leq \epsilon$$

Это более гибко, чем BCQ, поскольку позволяет действия, не точно представленные в наборе данных, при условии, что общее распределение остаётся близким.

Применение в трейдинге: BEAR позволяет политике обнаруживать слегка отличающиеся торговые стратегии от исторических, сохраняя при этом границу безопасности отклонения.

IQL (Implicit Q-Learning)

IQL (Kostrikov и др., 2022) полностью избегает запроса OOD-действий, используя экспектильную регрессию для обучения функции ценности. Вместо взятия максимума по действиям:

$$V(s) = \max_a Q(s,a)$$

IQL использует экспектильную функцию потерь:

$$L_{\tau}(u) = |\tau - \mathbb{1}(u < 0)| \cdot u^2$$

для аппроксимации максимума с высоким экспектилем $\tau \to 1$:

$$V_{\psi} = \arg\min_{V} \mathbb{E}{(s,a) \sim \mathcal{D}} [L{\tau}(Q_{\theta}(s,a) - V(s))]$$

Политика затем извлекается через регрессию, взвешенную преимуществом:

$$\pi^* = \arg\max_{\pi} \mathbb{E}_{(s,a) \sim \mathcal{D}} [\exp(\beta \cdot (Q(s,a) - V(s))) \cdot \log \pi(a|s)]$$

Применение в трейдинге: IQL особенно подходит для трейдинга, поскольку никогда не оценивает Q-значения для невиданных действий. Он извлекает лучшее поведение из исторических данных, используя только вычисления внутри выборки, что делает его устойчивым к шумной, нестационарной природе финансовых рынков.

Сравнение алгоритмов

ХарактеристикаBCQBEARIQL
Тип ограниченияНосительРаспределение (MMD)Неявное (экспектиль)
Нужна модель поведенияДа (VAE)Да (для MMD)Нет
Пространство действийНепрерывноеНепрерывноеОба
Контроль консерватизмаПорогГраница MMDЭкспектиль $\tau$
Вычислительная стоимостьВысокаяСредняяНизкая
Пригодность для трейдингаХорошаяХорошаяОтличная

Приложения: обучение на исторических торговых логах

Построение офлайн-набора данных

Офлайн-набор данных для трейдинга строится из исторических данных OHLCV и торговых логов:

  1. Признаки состояния: Нормализованные ценовые доходности, коэффициенты объёма, технические индикаторы (RSI, MACD, полосы Боллинджера), дисбаланс стакана, оценки волатильности
  2. Действия: Дискретные (покупка/продажа/удержание) или непрерывные (размер позиции от -1 до +1)
  3. Вознаграждения: Периодические доходности, вклад в коэффициент Шарпа, штрафы за просадку
  4. Переходы: Последовательные рыночные состояния, связанные временными шагами

Преимущества перед онлайн RL для трейдинга

  • Безопасность: Нет риска того, что агент разорит счёт во время исследования
  • Эффективность данных: Можно повторно использовать годы исторических данных без необходимости симулятора
  • Интеграция с бэктестингом: Офлайн RL естественно производит политики, пригодные для бэктестирования
  • Извлечение множества стратегий: Различные параметры экспектиля/ограничений дают разные профили риск-доходность из одного набора данных

Практические соображения

  1. Качество данных важно: Мусор на входе — мусор на выходе. Если исторические сделки постоянно теряли деньги, офлайн RL в лучшем случае научится терять меньше.
  2. Нестационарность: Финансовые рынки меняются. Политики, обученные на данных 2020 года, могут не работать в 2024. Периодическое переобучение на свежих данных необходимо.
  3. Дискретизация действий: Для простоты и устойчивости дискретизация пространства действий (покупка/продажа/удержание) часто работает лучше, чем непрерывные действия в трейдинге.

Реализация на Rust

Реализация в rust/src/lib.rs включает:

  • OfflineDataset: Фиксированный буфер воспроизведения, хранящий переходы из исторических данных, с методами пакетной выборки
  • BehaviorCloning: Базовый метод обучения с учителем, имитирующий политику поведения с использованием кросс-энтропийных потерь
  • ImplicitQLearning (IQL): Полная реализация с экспектильной регрессией для функции ценности и клонированием поведения, взвешенным преимуществом, для извлечения политики
  • DistributionShiftDetector: Мониторинг расхождения между обученной политикой и политикой поведения для обнаружения потенциальных OOD-проблем
  • BybitClient: Получение исторических данных OHLCV из API Bybit для построения офлайн-наборов данных

Ключевые проектные решения

  • Дискретные действия: Используем {Покупка, Продажа, Удержание} для устойчивости и интерпретируемости
  • Конструирование признаков: Доходности, волатильность, RSI и коэффициент объёма как признаки состояния
  • Экспектильные потери: Реализованы с настраиваемым параметром $\tau$ (по умолчанию 0.7) для контроля консерватизма
  • Параметр температуры: Контролирует агрессивность использования преимуществ политикой (по умолчанию $\beta = 1.0$)

Интеграция данных Bybit

Реализация получает реальные рыночные данные из публичного API Bybit:

GET /v5/market/kline?symbol=BTCUSDT&interval=60&limit=200

Каждая свеча предоставляет open, high, low, close, volume и turnover. Конвейер данных:

  1. Получить сырые свечи OHLCV из Bybit
  2. Вычислить признаки состояния (доходности, волатильность, RSI, коэффициент объёма)
  3. Сгенерировать действия с помощью правиловой политики поведения (имитирующей исторические решения трейдера)
  4. Рассчитать вознаграждения (доходности со штрафом за риск)
  5. Упаковать в структуры Transition для офлайн-набора данных

Это позволяет пользователям быстро строить реалистичные офлайн-наборы данных для экспериментов без необходимости в проприетарных торговых логах.

Ключевые выводы

  1. Офлайн RL исключает риск при обучении, обучаясь исключительно на исторических данных, что делает его идеальным для финансовых приложений, где стоимость исследования непомерно высока.

  2. Сдвиг распределения — основная проблема: наивное применение off-policy RL к фиксированным наборам данных приводит к завышению значений и плохой реальной производительности. Принцип пессимизма (консервативность в отношении невиданных действий) необходим.

  3. IQL особенно подходит для трейдинга, поскольку никогда не оценивает Q-значения для OOD-действий, использует только вычисления внутри выборки и естественно производит консервативные политики.

  4. Клонирование поведения обеспечивает простой, но ограниченный базовый уровень: оно может только соответствовать производительности политики поведения, тогда как методы офлайн RL, такие как IQL, могут её улучшить.

  5. Качество и актуальность данных критически важны: офлайн RL не может создать альфу из шума. Высококачественные исторические данные и периодическое переобучение необходимы для практического развёртывания.

  6. Параметр экспектиля $\tau$ контролирует компромисс риск-доходность: более высокие значения извлекают более агрессивные политики, более низкие — более консервативные. Это обеспечивает естественный рычаг управления рисками.

  7. Практическое развёртывание требует мониторинга сдвига распределения: даже после обучения агент должен отслеживать, насколько его действия отличаются от обучающих данных, и сигнализировать о потенциальных проблемах до того, как они приведут к убыткам.