Глава 317: Целеориентированное обучение с подкреплением для трейдинга
1. Введение
Традиционные агенты обучения с подкреплением (RL) в торговых средах оптимизируют единственный фиксированный сигнал вознаграждения — как правило, максимизацию кумулятивной доходности или коэффициента Шарпа. Хотя этот подход показал впечатляющие результаты, он страдает от фундаментального ограничения: агент не может адаптировать своё поведение к различным целям во время тестирования без полного переобучения. Портфельный управляющий может стремиться к 5% месячной доходности во время бычьих рынков, но переключиться на сохранение капитала в периоды волатильности. Риск-менеджер может требовать стратегий, которые никогда не превышают 10% просадку, а проприетарная торговая группа нацелена на конкретные пороги доходности за сделку.
Целеориентированное обучение с подкреплением (Goal-Conditioned RL, GCRL) решает это ограничение, обучая агентов, которые принимают явные цели в качестве входных данных наряду с рыночным состоянием. Вместо изучения единственной политики агент изучает универсальную политику, способную достигать континуума целей по запросу. При развёртывании трейдер указывает желаемый результат — целевую доходность, максимальную просадку, порог коэффициента Шарпа — и агент адаптирует своё торговое поведение соответственно.
Ключевая идея состоит в том, что одна тренировочная сессия может создать агента, способного преследовать множество различных торговых целей, что значительно повышает эффективность использования данных и операционную гибкость. Это стало возможным благодаря трём фундаментальным идеям:
- Целе-дополненные MDP: расширение пространства состояний для включения спецификаций целей
- Универсальные функции ценности (UVF): функции ценности, обобщающие как по состояниям, так и по целям
- Воспроизведение опыта с ретроспективой (HER): техника аугментации данных, которая учится на неудачах, переназначая достигнутые результаты как намеченные цели
В трейдинге GCRL особенно эффективен, поскольку рыночные условия нестационарны, и возможность динамической корректировки целей без переобучения обеспечивает значительное операционное преимущество. В этой главе представлены математические основы, практические алгоритмы и полная реализация на Rust с интеграцией рыночных данных Bybit.
2. Математические основы
2.1 Целе-дополненный марковский процесс принятия решений
Стандартный MDP определяется кортежем $(S, A, P, R, \gamma)$. Целе-ориентированный MDP расширяет его до $(S, A, G, P, R_g, \gamma, \phi)$, где:
- $S$ — пространство состояний (рыночные наблюдения: цены, объёмы, индикаторы)
- $A$ — пространство действий (покупка, продажа, удержание, размеры позиций)
- $G$ — пространство целей (целевая доходность, лимиты просадки, целевой Шарп)
- $P: S \times A \times S \rightarrow [0, 1]$ — функция переходов
- $R_g: S \times A \times G \rightarrow \mathbb{R}$ — целе-ориентированная функция вознаграждения
- $\gamma \in [0, 1)$ — коэффициент дисконтирования
- $\phi: S \rightarrow G$ — функция отображения целей, извлекающая достигнутую цель из состояния
Целе-ориентированная функция вознаграждения обычно определяется как:
$$R_g(s, a, g) = -|g - \phi(s’)|_2 + \mathbb{1}[|\phi(s’) - g| < \epsilon]$$
где $s’$ — следующее состояние, $\phi(s’)$ отображает состояние на достигнутую цель (например, текущую кумулятивную доходность), а $\epsilon$ — порог допуска. Первый член обеспечивает формирующий сигнал, пропорциональный расстоянию до цели, а второй — разреженный бонус при достижении цели.
Для трейдинга определяем:
$$\phi_{\text{return}}(s_t) = \frac{V_t - V_0}{V_0}$$
$$\phi_{\text{sharpe}}(s_t) = \frac{\bar{r}t}{\sigma{r_t}} \cdot \sqrt{252}$$
$$\phi_{\text{drawdown}}(s_t) = \frac{V_t - \max_{\tau \leq t} V_\tau}{\max_{\tau \leq t} V_\tau}$$
где $V_t$ — стоимость портфеля в момент времени $t$, $\bar{r}t$ — средняя дневная доходность, а $\sigma{r_t}$ — стандартное отклонение дневной доходности.
2.2 Универсальные аппроксиматоры функций ценности (UVFA)
Универсальная функция ценности $V(s, g; \theta)$ оценивает ожидаемую доходность для нахождения в состоянии $s$ при преследовании цели $g$:
$$V(s, g; \theta) \approx \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t R_g(s_t, a_t, g) \mid s_0 = s\right]$$
Аналогично, универсальная функция ценности действий:
$$Q(s, a, g; \theta) \approx \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t R_g(s_t, a_t, g) \mid s_0 = s, a_0 = a\right]$$
Политика тогда является целе-ориентированной:
$$\pi(a \mid s, g; \theta) = \arg\max_a Q(s, a, g; \theta)$$
На практике векторы состояния и цели конкатенируются и подаются в нейронную сеть:
$$\text{input} = [s | g] \in \mathbb{R}^{d_s + d_g}$$
Архитектура сети обычно использует отдельные ветви кодирования для состояний и целей перед их объединением:
$$h_s = f_s(s; \theta_s), \quad h_g = f_g(g; \theta_g)$$
$$Q(s, a, g) = f_q([h_s | h_g]; \theta_q)$$
2.3 Воспроизведение опыта с ретроспективой (HER)
HER — ключевая инновация, делающая целе-ориентированное RL практичным. Фундаментальная проблема заключается в том, что при разреженных вознаграждениях агент редко достигает желаемой цели, что делает обучение чрезвычайно медленным. HER решает эту проблему, ретроспективно перемечая неудачные эпизоды целями, которые были фактически достигнуты.
Для данной траектории $\tau = {(s_0, a_0, g), (s_1, a_1, g), \ldots, (s_T, a_T, g)}$, где желаемая цель $g$ не была достигнута, HER создаёт дополнительные обучающие примеры, заменяя $g$ на $g’ = \phi(s_T)$ (достигнутую цель):
$$\tau’ = {(s_0, a_0, g’), (s_1, a_1, g’), \ldots, (s_T, a_T, g’)}$$
Стратегии перемечивания включают:
- Финальная (Final): использование цели, достигнутой в конце эпизода: $g’ = \phi(s_T)$
- Будущая (Future): для каждого перехода в момент $t$ выбирается будущее состояние $s_k$, где $k > t$, и устанавливается $g’ = \phi(s_k)$
- Эпизодная (Episode): выбирается любое состояние из эпизода: $g’ = \phi(s_k)$, где $k \sim \text{Uniform}(0, T)$
- Случайная (Random): выборка целей из всего буфера воспроизведения
В торговых терминах, если агент стремился к 5% доходности, но достиг только 2%, HER создаёт обучающие данные, как если бы агент намеревался достичь 2% изначально. Это значительно ускоряет обучение, поскольку каждая траектория становится информативной.
2.4 Целе-ориентированное уравнение Беллмана
Уравнение Беллмана для целе-ориентированного Q-обучения:
$$Q(s, a, g) = R_g(s, a, g) + \gamma \max_{a’} Q(s’, a’, g)$$
Функция потерь для обучения:
$$\mathcal{L}(\theta) = \mathbb{E}{(s, a, g, r, s’) \sim \mathcal{B}} \left[(r + \gamma \max{a’} Q(s’, a’, g; \theta^{-}) - Q(s, a, g; \theta))^2\right]$$
где $\mathcal{B}$ — буфер воспроизведения (дополненный HER-переразмеченными переходами), а $\theta^{-}$ — параметры целевой сети.
3. Применения в трейдинге
3.1 Торговля с целевой доходностью
Наиболее прямое применение GCRL в трейдинге — указание целевой доходности. Пространство целей просто $G = \mathbb{R}$, представляющее желаемую кумулятивную доходность за торговый горизонт. Агент учится модулировать размеры позиций, время входа/выхода и выбор активов для достижения указанной доходности.
На бычьих рынках цель в 10% месячной доходности может быть достижима при умеренном кредитном плече. На боковых рынках та же цель может потребовать от агента более концентрированных позиций. GCRL-агент изучает эти адаптации неявно.
3.2 Стратегии с ограничением просадки
Цели могут кодировать ограничения риска, а не целевую доходность. Установка $g = (\text{max_drawdown} = -5%)$ инструктирует агента торговать, никогда не допуская снижения портфеля более чем на 5% от его пика. Функция вознаграждения штрафует за нарушения просадки:
$$R_g(s, a, g) = r_t - \lambda \cdot \max(0, |\text{DD}_t| - |g|)$$
где $\text{DD}_t$ — текущая просадка, а $\lambda$ — коэффициент штрафа.
3.3 Целевые показатели Value-at-Risk (VaR)
Институциональные торговые подразделения часто имеют лимиты VaR. GCRL может включать целевые показатели VaR непосредственно в спецификацию цели: $g = (\text{VaR}_{95%} = -2%)$. Агент учится формировать портфели, где 95-й перцентиль дневных убытков не превышает 2%.
3.4 Композиция множественных целей
Цели могут быть скомпонованы в векторы: $g = (r_{\text{target}}, \text{DD}{\max}, \text{Sharpe}{\min})$. Это позволяет агенту одновременно стремиться к доходности, соблюдая ограничения риска, обеспечивая гибкий интерфейс для управления портфелем.
3.5 Динамическая корректировка целей
При реальной торговле цели могут корректироваться в реальном времени на основе определения рыночного режима. В периоды высокой волатильности система автоматически снижает целевую доходность и ужесточает ограничения просадки. В периоды низкой волатильности могут быть установлены более агрессивные цели. Это создаёт адаптивную торговую систему, которая учитывает меняющиеся рыночные условия без переобучения.
4. Реализация на Rust
Реализация в rust/src/lib.rs предоставляет полную систему GCRL-трейдинга со следующими компонентами:
4.1 Основные структуры данных
GoalConditionedState: объединяет рыночные наблюдения со спецификациями целей в единый дополненный вектор состоянияHERReplayBuffer: реализует воспроизведение опыта с ретроспективой с настраиваемыми стратегиями перемечивания (Final, Future, Episode)UniversalValueFunction: нейросетевой аппроксиматор, отображающий пары (состояние, цель) в Q-значения по действиямGoalConditionedPolicy: политика, выбирающая действия на основе текущего состояния и желаемой цели, с epsilon-жадным исследованием
4.2 Конвейер обучения
Цикл обучения следует стандартному алгоритму GCRL:
- Для каждого эпизода выбирается цель из распределения целей
- Выполняется эпизод с использованием целе-ориентированной политики
- Переходы сохраняются в буфер воспроизведения
- Применяется HER для генерации дополнительных переразмеченных переходов
- Выбираются мини-батчи и обновляется Q-сеть через градиентный спуск
- Периодически обновляется целевая сеть
4.3 Спецификации целей
Система поддерживает три типа целей:
- TargetReturn: достижение указанной кумулятивной доходности (например, 5%)
- MaxDrawdown: удержание максимальной просадки в пределах лимита (например, -10%)
- TargetSharpe: достижение целевого годового коэффициента Шарпа (например, 1.5)
5. Интеграция данных Bybit
Реализация включает BybitClient, который получает исторические данные свечей (kline) через Bybit V5 API. Клиент:
- Подключается к
https://api.bybit.com/v5/market/kline - Получает данные OHLCV для любой торговой пары (по умолчанию: BTCUSDT)
- Преобразует необработанные ответы API в структуры
MarketCandle - Вычисляет производные характеристики: доходность, волатильность и скользящие статистики
- Формирует векторы состояний, подходящие для GCRL-агента
Интеграция с Bybit позволяет агенту обучаться на реальных данных криптовалютного рынка, предоставляя реалистичный полигон для тестирования целе-ориентированных торговых стратегий. Пример в rust/examples/trading_example.rs демонстрирует получение данных в реальном времени, обучение агента с множественными целевыми показателями и оценку производительности при различных спецификациях целей.
6. Ключевые выводы
-
Целе-ориентированное RL отделяет цели от обучения: одна тренировочная сессия создаёт агента, способного преследовать множество различных торговых целей без переобучения.
-
HER необходим для эффективности использования данных: без воспроизведения опыта с ретроспективой целе-ориентированным агентам в торговых средах с разреженными вознаграждениями потребовалось бы непрактичное количество данных. HER превращает каждую траекторию в полезный обучающий сигнал.
-
Универсальные функции ценности обобщают по целям: обуславливая на цели, функция ценности изучает общую структуру различных целей, что приводит к лучшей генерализации, чем обучение отдельных агентов для каждой цели.
-
Динамическая корректировка целей обеспечивает адаптивную торговлю: цели могут изменяться во время развёртывания на основе рыночных условий, бюджетов риска или требований клиентов, обеспечивая операционную гибкость, которой лишены агенты с фиксированными целями.
-
Многомерные цели отражают реальные торговые ограничения: реальная торговля включает одновременные целевые показатели доходности, лимиты риска и регуляторные ограничения. GCRL естественно обрабатывает это через векторнозначные цели.
-
Rust обеспечивает производительность промышленного уровня: реализация использует безопасность памяти и производительность Rust для торговых приложений с низкой задержкой, с абстракциями нулевой стоимости для математических операций.
-
Практические соображения имеют значение: нормализация целей, формирование вознаграждений и тщательное проектирование распределения целей критически важны для стабильного обучения. Цели должны быть достижимы с учётом рыночных условий, чтобы избежать вырожденных политик.
-
GCRL дополняет традиционное управление рисками: вместо замены лимитов VaR или правил определения размера позиций, GCRL интернализирует эти ограничения как цели, создавая агентов, которые естественным образом соблюдают бюджеты риска, оптимизируя доходность.