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

Глава 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 идёт дальше, моделируя полное совместное распределение по состояниям, действиям и наградам, что позволяет:

  1. Лучевой поиск для планирования: одновременное исследование множества возможных будущих.
  2. Предсказание состояний: прогнозирование будущего состояния среды, а не только выбор действия.
  3. Перераспределение наград: модель неявно обучается тому, какие части траектории вносят наибольший вклад в общую доходность.

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^*$, лучевой поиск генерирует траектории-кандидаты:

  1. Инициализация $B$ лучей с токенизированным текущим состоянием $\hat{s}_t$.
  2. Расширение каждого луча путём выборки top-$k$ следующих токенов из $P(\hat{\tau}i \mid \hat{\tau}{<i})$.
  3. Оценка лучей по лог-вероятности: $\text{score}(\hat{\tau}{1:i}) = \sum{j=1}^{i} \log P(\hat{\tau}j \mid \hat{\tau}{<j})$.
  4. Отсечение до top $B$ лучей.
  5. Обусловливание на доходность: фильтрация или перевзвешивание лучей, чья предсказанная кумулятивная награда соответствует $R^*$.

2.5 Генерация с обусловливанием на доходность

Мы можем обусловить генерацию траектории на целевую доходность:

  1. Установить токены наград для отражения желаемой кумулятивной доходности.
  2. Использовать модель для генерации действий, наиболее вероятных при таком обусловливании.

Формально мы ищем:

$$\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 Многошаговое планирование сделок

Ключевое преимущество — возможность планировать многошаговые последовательности сделок:

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

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=BTCUSDT
  • interval=60 (часовые свечи)
  • limit=200

Сырые данные OHLCV преобразуются в торговые состояния:

  • Ценовые признаки: логарифмические доходности, отношения скользящих средних, волатильность
  • Объёмные признаки: относительный объём, моментум объёма
  • Технические индикаторы: аппроксимация RSI, ценовой моментум

Действия дискретизированы: сильная продажа (-2), продажа (-1), удержание (0), покупка (+1), сильная покупка (+2).

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


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

  1. Моделирование последовательностей переосмысливает RL: обращаясь с траекториями как с последовательностями токенов, мы используем всю мощь архитектуры Трансформеров — внимание, параллельное обучение и масштабируемость.

  2. Лучевой поиск обеспечивает планирование: в отличие от методов на основе политик, фиксирующих одно действие, лучевой поиск одновременно исследует множество возможных будущих, создавая более робастные торговые планы.

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

  4. Офлайн RL без штрафов консерватизма: Trajectory Transformer избегает необходимости в явных ограничениях консерватизма (как штрафные члены CQL), поскольку непосредственно моделирует распределение данных.

  5. Токенизация имеет значение: качество дискретизации непосредственно влияет на производительность модели. Квантильное разбиение обеспечивает равномерное использование токенов.

  6. Многошаговое планирование для трейдинга: традиционные методы RL оптимизируют одно действие за раз. Trajectory Transformer может планировать целые последовательности сделок как связный план.

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


Ссылки

  • 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.