Глава 316: Trajectory Transformer для трейдинга
1. Введение: Обучение с подкреплением как моделирование последовательностей
Традиционные подходы обучения с подкреплением (RL) к трейдингу основаны на итеративной оценке функции ценности (Q-learning) или методах градиента политики, оптимизирующих действия по одному шагу за раз. Эти методы страдают от известных проблем: сдвиг распределения в офлайн-режиме, близорукое распределение заслуг и сложность долгосрочного планирования. Trajectory Transformer (Janner et al., 2021) предлагает принципиально иную парадигму: вместо обучения функции ценности или политики, он моделирует всю траекторию состояний, действий и наград как последовательность, а затем использует мощные возможности Трансформеров для планирования.
Этот подход — переосмысление RL как задачи предсказания последовательностей — имеет глубокие последствия для алгоритмического трейдинга. История торгового агента (состояния рынка, исполненные ордера, реализованная прибыль) образует естественную последовательность. Обучая Трансформер моделировать совместное распределение по таким траекториям, мы можем:
- Планировать многошаговые торговые стратегии, генерируя целые последовательности сделок с учётом целевой доходности.
- Использовать офлайн-данные без нестабильности off-policy методов RL.
- Выполнять лучевой поиск по возможным будущим для нахождения робастных планов действий.
Trajectory Transformer черпает вдохновение из языкового моделирования: как GPT предсказывает следующий токен в предложении, Trajectory Transformer предсказывает следующий элемент в траектории. Ключевое отличие в том, что траектории структурированы — они состоят из чередующихся измерений состояний, действий и значений наград — что требует тщательной схемы токенизации.
Ключевые отличия от Decision Transformer
Decision Transformer (Chen et al., 2021) также формулирует RL как моделирование последовательностей, обуславливая генерацию желаемой доходностью и авторегрессивно генерируя действия. Trajectory Transformer идёт дальше, моделируя полное совместное распределение по состояниям, действиям и наградам, что позволяет:
- Лучевой поиск для планирования: одновременное исследование множества возможных будущих.
- Предсказание состояний: прогнозирование будущего состояния среды, а не только выбор действия.
- Перераспределение наград: модель неявно обучается тому, какие части траектории вносят наибольший вклад в общую доходность.
2. Математические основы
2.1 Представление траектории
Траектория $\tau$ в контексте трейдинга состоит из последовательности переходов:
$$\tau = (s_0, a_0, r_0, s_1, a_1, r_1, \ldots, s_T, a_T, r_T)$$
где:
- $s_t \in \mathbb{R}^{d_s}$ — состояние рынка в момент $t$ (цены, объёмы, технические индикаторы, состояние портфеля)
- $a_t \in \mathbb{R}^{d_a}$ — торговое действие (размер позиции, тип ордера)
- $r_t \in \mathbb{R}$ — награда (реализованная прибыль, доходность с поправкой на риск)
2.2 Токенизация траектории
Для применения Трансформера непрерывные значения должны быть дискретизированы в токены. Каждое измерение $s_t$, $a_t$ и $r_t$ независимо дискретизируется в $V$ корзин с помощью квантильного разбиения:
$$\text{tokenize}(x, \text{dim}) = \text{bin}{\text{dim}}\left(\frac{x - \mu{\text{dim}}}{\sigma_{\text{dim}}}\right)$$
Полная траектория становится последовательностью токенов длины $T \times (d_s + d_a + 1)$:
$$\hat{\tau} = (\hat{s}_0^1, \hat{s}_0^2, \ldots, \hat{s}_0^{d_s}, \hat{a}_0^1, \ldots, \hat{a}_0^{d_a}, \hat{r}_0, \hat{s}_1^1, \ldots)$$
2.3 Архитектура Трансформера
Модель использует декодерный Трансформер в стиле GPT:
$$P(\hat{\tau}) = \prod_{i=1}^{|\hat{\tau}|} P(\hat{\tau}i \mid \hat{\tau}{<i})$$
Каждое предсказание токена — категориальное распределение по $V$ корзинам словаря. Модель обучается с функцией потерь перекрёстной энтропии:
$$\mathcal{L} = -\sum_{i=1}^{|\hat{\tau}|} \log P(\hat{\tau}i \mid \hat{\tau}{<i}; \theta)$$
Многоголовое внимание
Для последовательности эмбеддингов $X \in \mathbb{R}^{n \times d}$:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
где $Q = XW_Q$, $K = XW_K$, $V = XW_V$ — линейные проекции.
Многоголовое внимание с $h$ головами:
$$\text{MultiHead}(X) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W_O$$
2.4 Лучевой поиск для планирования
Имея текущее состояние $s_t$ и желаемую доходность $R^*$, лучевой поиск генерирует траектории-кандидаты:
- Инициализация $B$ лучей с токенизированным текущим состоянием $\hat{s}_t$.
- Расширение каждого луча путём выборки top-$k$ следующих токенов из $P(\hat{\tau}i \mid \hat{\tau}{<i})$.
- Оценка лучей по лог-вероятности: $\text{score}(\hat{\tau}{1:i}) = \sum{j=1}^{i} \log P(\hat{\tau}j \mid \hat{\tau}{<j})$.
- Отсечение до top $B$ лучей.
- Обусловливание на доходность: фильтрация или перевзвешивание лучей, чья предсказанная кумулятивная награда соответствует $R^*$.
2.5 Генерация с обусловливанием на доходность
Мы можем обусловить генерацию траектории на целевую доходность:
- Установить токены наград для отражения желаемой кумулятивной доходности.
- Использовать модель для генерации действий, наиболее вероятных при таком обусловливании.
Формально мы ищем:
$$\hat{a}t = \arg\max{\hat{a}} P(\hat{a} \mid \hat{s}_t, \hat{R}_t = \hat{R}^*)$$
где $\hat{R}t = \sum{k=t}^{T} r_k$ — остаточная доходность, токенизированная и помещённая в начало каждой подпоследовательности.
3. Применение в трейдинге
3.1 Офлайн RL для трейдинга
Финансовые рынки делают онлайн RL опасным — нельзя свободно исследовать на реальном капитале. Trajectory Transformer идеально подходит для офлайн RL, где обучение происходит исключительно на исторических данных:
- Исторические данные потока ордеров: траектории состояний рынка и исполненных сделок.
- Траектории бэктестинга: симулированные торговые эпизоды с известными результатами.
- Данные мультистратегий: объединение траекторий от различных торговых стратегий обеспечивает разнообразное покрытие пространства состояний-действий.
В отличие от традиционных офлайн-RL методов (CQL, BCQ), требующих тщательных ограничений консерватизма, Trajectory Transformer естественно справляется со сдвигом распределения, поскольку моделирует распределение данных напрямую как языковую модель.
3.2 Многошаговое планирование сделок
Ключевое преимущество — возможность планировать многошаговые последовательности сделок:
- Планирование входа/выхода: для данного состояния рынка генерируется полная последовательность вход-удержание-выход, оптимизированная под целевую доходность.
- Ребалансировка портфеля: планирование последовательности сделок для перехода от текущей аллокации к целевой с минимизацией рыночного воздействия.
- Планирование с учётом рисков: обусловливание на доходность и ограничения максимальной просадки путём включения метрик риска в токенизацию наград.
3.3 Траектории с учётом режимов
Включая индикаторы режима (режим волатильности, сила тренда) в представление состояния, модель обучается режимо-зависимым торговым паттернам:
- Траектории бычьего рынка благоприятствуют следованию за импульсом.
- Режимы высокой волатильности порождают более консервативный размер позиций.
- Боковые рынки генерируют последовательности возврата к среднему.
3.4 Практические соображения
Длина траектории: для внутридневной торговли траектории могут охватывать 50-200 шагов (например, 5-минутные бары за торговый день). Для свинг-трейдинга — 20-60 дневных баров.
Размер словаря: обычно $V = 100$ корзин на измерение обеспечивает достаточное разрешение. Для цен используйте относительные доходности вместо абсолютных значений для стационарности.
Окно контекста: окно контекста Трансформера ограничивает горизонт траектории. С современным эффективным вниманием последовательности из 1000+ токенов выполнимы.
4. Реализация на Rust
Реализация в rust/src/lib.rs предоставляет:
- TrajectoryTokenizer: дискретизирует непрерывные рыночные данные в токены с помощью квантильного разбиения. Каждое измерение состояния, действия и награды бинируется независимо.
- TrajectoryTransformer: упрощённый Трансформер с многоголовым вниманием, нормализацией слоёв и сетями прямого распространения. Поддерживает авторегрессивную генерацию.
- BeamSearch: реализует лучевой поиск по последовательностям токенов для нахождения высоковероятных завершений траекторий.
- ReturnConditionedPlanner: оборачивает Трансформер и лучевой поиск для генерации торговых действий, обусловленных на целевую доходность.
- BybitClient: получает исторические OHLCV данные через REST API Bybit.
5. Интеграция с Bybit
Реализация получает реальные рыночные данные через публичный API Bybit:
GET https://api.bybit.com/v5/market/klineПараметры:
category=linear(бессрочные фьючерсы)symbol=BTCUSDTinterval=60(часовые свечи)limit=200
Сырые данные OHLCV преобразуются в торговые состояния:
- Ценовые признаки: логарифмические доходности, отношения скользящих средних, волатильность
- Объёмные признаки: относительный объём, моментум объёма
- Технические индикаторы: аппроксимация RSI, ценовой моментум
Действия дискретизированы: сильная продажа (-2), продажа (-1), удержание (0), покупка (+1), сильная покупка (+2).
Награды рассчитываются как прибыль от каждого действия с учётом последующего движения цены.
6. Ключевые выводы
-
Моделирование последовательностей переосмысливает RL: обращаясь с траекториями как с последовательностями токенов, мы используем всю мощь архитектуры Трансформеров — внимание, параллельное обучение и масштабируемость.
-
Лучевой поиск обеспечивает планирование: в отличие от методов на основе политик, фиксирующих одно действие, лучевой поиск одновременно исследует множество возможных будущих, создавая более робастные торговые планы.
-
Обусловливание на доходность — мощный инструмент: возможность задать целевую доходность и сгенерировать действия для её достижения естественно подходит для трейдинга, где целевые показатели риск-доходность задаются явно.
-
Офлайн RL без штрафов консерватизма: Trajectory Transformer избегает необходимости в явных ограничениях консерватизма (как штрафные члены CQL), поскольку непосредственно моделирует распределение данных.
-
Токенизация имеет значение: качество дискретизации непосредственно влияет на производительность модели. Квантильное разбиение обеспечивает равномерное использование токенов.
-
Многошаговое планирование для трейдинга: традиционные методы RL оптимизируют одно действие за раз. Trajectory Transformer может планировать целые последовательности сделок как связный план.
-
Адаптация к режимам: кодируя информацию о рыночном режиме в состоянии, модель обучается различным торговым паттернам для разных рыночных условий без явной логики переключения режимов.
Ссылки
- Janner, M., Li, Q., & Levine, S. (2021). Offline Reinforcement Learning as One Big Sequence Modeling Problem. NeurIPS.
- Chen, L., Lu, K., Rajeswaran, A., et al. (2021). Decision Transformer: Reinforcement Learning via Sequence Modeling. NeurIPS.
- Vaswani, A., et al. (2017). Attention Is All You Need. NeurIPS.
- Zheng, Q., Zhang, A., & Grover, A. (2022). Online Decision Transformer. ICML.