Глава 310: Торговля на основе любопытства (Curiosity-Driven Trading)
Введение: Внутренняя мотивация и любопытство для исследования рынка
Традиционные агенты обучения с подкреплением (RL) в трейдинге полагаются исключительно на внешние вознаграждения — прибыль, коэффициент Шарпа или другие метрики эффективности. Хотя такой подход эффективен в хорошо изученных рыночных условиях, эти агенты часто терпят неудачу при переходе рынков в новые режимы. Они эксплуатируют известные паттерны, но никогда по-настоящему не исследуют пространство состояний. В этой главе представлено исследование на основе любопытства как механизм для решения этого фундаментального ограничения.
В когнитивной науке внутренняя мотивация означает стремление заниматься деятельностью ради её собственного удовлетворения, а не ради внешнего вознаграждения. Любопытство — желание узнать что-то новое или неизвестное — является одной из самых мощных форм внутренней мотивации. При применении к торговым агентам любопытство обеспечивает бонусный сигнал вознаграждения, который побуждает агента посещать незнакомые рыночные состояния, обнаруживать новые паттерны и строить более богатые внутренние представления рыночной динамики.
Основная идея проста: агент, получающий вознаграждение за встречу с состояниями, которые он не может хорошо предсказать, естественным образом будет тяготеть к малоизученным регионам рынка. В трейдинге эти малоизученные регионы часто соответствуют переходам между режимами, редким рыночным событиям или возникающим корреляциям — именно тем сценариям, в которых обычные агенты терпят катастрофические неудачи.
Два фундаментальных подхода были разработаны для реализации любопытства в RL:
- Модуль внутреннего любопытства (ICM) — использует ошибку предсказания прямой модели как внутреннее вознаграждение
- Дистилляция случайной сети (RND) — использует ошибку дистилляции относительно фиксированной случайной сети как сигнал новизны
Оба подхода разделяют общий принцип: агент получает более высокое внутреннее вознаграждение при встрече с состояниями, которые труднее предсказать или менее знакомы, что направляет исследование в сторону новых рыночных условий.
Почему любопытство важно в трейдинге
Финансовые рынки представляют уникальные вызовы для исследования:
- Нестационарность: Рыночная динамика меняется со временем, что означает, что ранее хорошо изученные регионы могут снова стать новыми
- Редкие события: События типа “чёрный лебедь”, флэш-крэши и смены режимов происходят редко, но критически важны
- Высокая размерность: Комбинаторный взрыв рыночных состояний означает, что большая часть пространства состояний остаётся неисследованной
- Разреженные вознаграждения: Прибыльные возможности могут быть разделены длительными периодами убыточных или нулевых сделок
Агент, движимый любопытством, решает все четыре проблемы, поддерживая внутреннюю модель “того, что он знает” и активно ищущий то, чего не знает.
Математические основы
Модуль внутреннего любопытства (ICM)
ICM, представленный Pathak et al. (2017), состоит из трёх компонентов, работающих в обученном пространстве признаков:
Кодировщик признаков отображает необработанные наблюдения состояния в компактное представление:
$$\phi(s_t) = f_\theta(s_t) \in \mathbb{R}^d$$
где $f_\theta$ — нейронная сеть с параметрами $\theta$.
Прямая модель предсказывает представление признаков следующего состояния по текущим признакам состояния и действию:
$$\hat{\phi}(s_{t+1}) = g_{\text{fwd}}(\phi(s_t), a_t)$$
Функция потерь прямой модели — L2 ошибка предсказания:
$$L_{\text{fwd}} = \frac{1}{2} | \hat{\phi}(s_{t+1}) - \phi(s_{t+1}) |^2$$
Обратная модель предсказывает предпринятое действие по двум последовательным состояниям:
$$\hat{a}t = g{\text{inv}}(\phi(s_t), \phi(s_{t+1}))$$
Функция потерь обратной модели:
$$L_{\text{inv}} = -\sum_k a_t^{(k)} \log \hat{a}_t^{(k)}$$
Обратная модель играет ключевую роль: она заставляет кодировщик признаков захватывать только те аспекты состояния, на которые влияют действия агента, фильтруя шум и нерелевантные изменения состояния (например, случайный шум микроструктуры рынка).
Внутреннее вознаграждение определяется как ошибка предсказания прямой модели:
$$r_t^i = \eta \cdot | \hat{\phi}(s_{t+1}) - \phi(s_{t+1}) |^2$$
где $\eta$ — масштабирующий коэффициент. Общее вознаграждение:
$$r_t = r_t^e + \beta \cdot r_t^i$$
где $r_t^e$ — внешнее вознаграждение (торговая прибыль), а $\beta$ управляет балансом исследования и эксплуатации.
Комбинированная функция потерь ICM:
$$L_{\text{ICM}} = (1 - \alpha) \cdot L_{\text{inv}} + \alpha \cdot L_{\text{fwd}}$$
где $\alpha \in [0, 1]$ балансирует две цели.
Дистилляция случайной сети (RND)
RND, представленная Burda et al. (2019), предоставляет более простую альтернативу ICM:
Фиксированная целевая сеть: Случайно инициализированная нейронная сеть $f: \mathcal{S} \to \mathbb{R}^k$ с фиксированными (необучаемыми) весами.
Сеть-предиктор: Обучаемая сеть $\hat{f}: \mathcal{S} \to \mathbb{R}^k$, которая пытается воспроизвести выход целевой сети.
Предиктор обучается минимизировать:
$$L_{\text{RND}} = | \hat{f}(s_t) - f(s_t) |^2$$
Внутреннее вознаграждение — ошибка предсказания:
$$r_t^i = | \hat{f}(s_t) - f(s_t) |^2$$
Ключевое наблюдение: предиктор будет иметь малую ошибку на часто посещаемых состояниях (на которых он обучен) и большую ошибку на новых состояниях. Это обеспечивает сигнал новизны без необходимости моделирования динамики.
Преимущества RND перед ICM для трейдинга:
- Не нужно явно моделировать рыночную динамику (что крайне сложно)
- Устойчивость к стохастическим средам — случайный шум не раздувает любопытство
- Более простая архитектура с меньшим количеством гиперпараметров
- Естественная работа с нестационарными распределениями
Нормализация вознаграждения
Как ICM, так и RND выигрывают от бегущей нормализации вознаграждения для предотвращения доминирования внутреннего вознаграждения:
$$\hat{r}_t^i = \frac{r_t^i - \mu_r}{\sigma_r + \epsilon}$$
где $\mu_r$ и $\sigma_r$ — бегущие статистики внутренних вознаграждений.
Применения в трейдинге
Обнаружение новых рыночных режимов
Агенты, движимые любопытством, отлично обнаруживают смены режимов. Когда рынок переходит от трендовой фазы к фазе возврата к среднему (или наоборот), ошибка предсказания прямой модели агента резко возрастает, генерируя большое внутреннее вознаграждение. Это побуждает агента:
- Обращать внимание на переходный период, а не игнорировать его
- Выделять больше бюджета на исследование для понимания нового режима
- Строить внутренние представления, различающие режимы
- Быстрее адаптировать торговые стратегии к новым условиям
Практический конвейер обнаружения режимов с использованием любопытства:
- Мониторинг скользящего среднего внутреннего вознаграждения
- Устойчивый рост внутреннего вознаграждения сигнализирует о возможной смене режима
- Использование величины внутреннего вознаграждения для оценки степени новизны
- Корректировка размера позиции обратно пропорционально внутреннему вознаграждению (снижение экспозиции при неопределённых переходах)
Исследование редких торговых возможностей
Рынки иногда предоставляют редкие, но высокоприбыльные возможности — окна арбитража, каскады ликвидаций или структурные дислокации. Традиционные RL-агенты, обученные на исторических данных, редко встречают эти сценарии и, следовательно, не могут научиться их использовать.
Агенты, движимые любопытством, напротив:
- Естественным образом тяготеют к необычным рыночным конфигурациям
- Накапливают опыт в редких, но важных рыночных состояниях
- Разрабатывают более устойчивые функции ценности, покрывающие хвостовые сценарии
- Могут выявлять и использовать возможности, которые нелюбопытные агенты полностью пропустили бы
Межактивное исследование
При одновременной торговле несколькими активами любопытство побуждает агента исследовать структуры корреляций:
- Обнаружение возникающих межактивных связей
- Детекция разрушения исторических корреляций
- Выявление новых факторных экспозиций по мере эволюции рыночной микроструктуры
Реализация на Rust
Реализация в rust/src/lib.rs предоставляет:
ForwardModel: Предсказывает следующие признаки рыночного состояния по текущим признакам и действиюInverseModel: Предсказывает действие по последовательным признакам состоянияICMModule: Комбинирует прямую и обратную модели с вычислением внутреннего вознагражденияRNDModule: Дистилляция случайной сети с фиксированной целевой и обучаемой сетью-предикторомCuriosityDrivenAgent: Полный агент, комбинирующий внешние и внутренние вознагражденияBybitClient: Получает реальные OHLCV данные из API Bybit
Архитектура разработана для промышленного использования:
- Настраиваемые размерности признаков, пространства действий и скорости обучения
- Бегущая нормализация вознаграждений для стабильного обучения
- Модульный дизайн, позволяющий использовать ICM и RND независимо или совместно
- Эффективные операции линейной алгебры на базе ndarray
Ключевые проектные решения
Пространство признаков: Рыночные состояния кодируются как нормализованные векторы данных OHLCV плюс производные признаки (доходности, волатильность, коэффициенты объёма). Кодировщик признаков проецирует их в пространство меньшей размерности, где динамика более гладкая.
Пространство действий: Для простоты используются дискретные действия (покупка, продажа, удержание), но архитектура поддерживает расширение до непрерывного размера позиции.
Комбинирование вознаграждений: Общее вознаграждение использует адаптивную схему взвешивания, где коэффициент внутреннего вознаграждения $\beta$ затухает со временем, смещая баланс от исследования к эксплуатации по мере того, как агент становится более знакомым с рыночной динамикой.
Интеграция данных Bybit
Реализация включает BybitClient, который получает исторические данные свечей (kline) из Bybit V5 API:
GET https://api.bybit.com/v5/market/klineПараметры:
category: “linear” для бессрочных USDT-контрактовsymbol: например, “BTCUSDT”interval: интервал свечи (1, 5, 15, 60, 240, D, W)limit: количество свечей (максимум 200)
Полученные данные преобразуются в матрицу признаков, подходящую для модулей любопытства:
- Необработанные значения OHLCV нормализуются с использованием z-score нормализации
- Доходности вычисляются как логарифмические: $r_t = \ln(p_t / p_{t-1})$
- Волатильность оценивается с использованием скользящего стандартного отклонения доходностей
- Признаки объёма нормализуются относительно скользящего среднего
Этот конвейер обеспечивает, что сигнал любопытства отражает подлинную рыночную новизну, а не артефакты масштабирования.
Ключевые выводы
-
Любопытство обеспечивает принципиальный механизм исследования для торговых агентов, побуждая их посещать незнакомые рыночные состояния, а не многократно эксплуатировать известные паттерны.
-
ICM использует ошибку предсказания как вознаграждение: когда прямая модель агента не может предсказать следующее состояние, это состояние считается новым и достойным исследования. Обратная модель фильтрует шум, фокусируя пространство признаков на контролируемых агентом аспектах.
-
RND проще и устойчивее: измеряя, насколько хорошо предиктор может воспроизвести выход фиксированной случайной сети, RND обеспечивает сигнал новизны, невосприимчивый к стохастическому шуму — критическое преимущество на финансовых рынках.
-
Обнаружение режимов возникает естественно: всплески внутреннего вознаграждения соответствуют сменам рыночных режимов, давая агентам, движимым любопытством, встроенную способность обнаружения режимов.
-
Любопытство повышает эффективность выборки: фокусируя исследование на новых состояниях, агент учится больше на единицу опыта, что критически важно, когда торговые данные ограничены или дороги для получения.
-
Балансом исследования и эксплуатации необходимо тщательно управлять: слишком много любопытства приводит к чрезмерной торговле и транзакционным издержкам; слишком мало — возвращает к базовому поведению. Параметр $\beta$ и нормализация вознаграждений — необходимые механизмы контроля.
-
Комбинирование ICM и RND даёт лучшие результаты: ICM захватывает новизну, зависящую от действий, а RND — новизну состояний, обеспечивая взаимодополняющие сигналы для более эффективного исследования.
-
Агенты, движимые любопытством, более устойчивы к сдвигу распределения: поскольку они исследовали более широкий диапазон рыночных состояний во время обучения, они лучше обобщаются на невиданные рыночные условия при развёртывании.
Ссылки
- Pathak, D., et al. (2017). “Curiosity-driven Exploration by Self-Supervised Prediction.” ICML.
- Burda, Y., et al. (2019). “Exploration by Random Network Distillation.” ICLR.
- Bellemare, M., et al. (2016). “Unifying Count-Based Exploration and Intrinsic Motivation.” NeurIPS.
- Oord, A., et al. (2018). “Representation Learning with Contrastive Predictive Coding.” arXiv.
- Tang, H., et al. (2017). “#Exploration: A Study of Count-Based Exploration for Deep Reinforcement Learning.” NeurIPS.