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

Глава 299: IQN (Implicit Quantile Networks) для трейдинга

1. Введение

Implicit Quantile Networks (IQN) представляют собой значительное достижение в области дистрибутивного обучения с подкреплением (distributional RL), предложенное Dabney et al. (2018). В то время как традиционные методы RL оценивают ожидаемую доходность, дистрибутивные методы RL моделируют полное распределение доходности, позволяя агентам принимать решения с учетом риска. IQN делает следующий шаг, обучая непрерывное отображение из квантильных долей в квантильные значения, вместо фиксации квантильных уровней, как в Quantile Regression DQN (QR-DQN).

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

Ключевая инновация IQN — неявное квантильное представление: вместо вывода фиксированного набора квантильных значений, IQN принимает квантильную долю $\tau \in [0, 1]$ на вход и выводит соответствующее квантильное значение. Это достигается через обучаемое косинусное вложение $\tau$, которое объединяется с представлением состояния для получения обусловленных квантилями оценок ценности. Результатом является полностью гибкая, непрерывная модель распределения доходности, которую можно сэмплировать с произвольным разрешением.

Почему IQN важен для трейдинга

  1. Осведомленность о полном распределении: Трейдеры заботятся не только об ожидаемых доходностях, но и о форме распределения — асимметрии, эксцессе и поведении хвостов.
  2. Политики с учетом риска: IQN естественно поддерживает оптимизацию CVaR и другие когерентные меры риска, позволяя агентам избегать катастрофических потерь.
  3. Адаптивное управление рисками: Сэмплируя различные квантили, агент может динамически корректировать свой профиль риска в зависимости от рыночных условий.
  4. Моделирование хвостовых рисков: IQN превосходно справляется с захватом экстремальных рыночных событий (тяжелые хвосты), что критически важно для выживания на реальных рынках.
  5. Размер позиции: Дистрибутивная информация позволяет осуществлять изощренное определение размера позиции на основе полных профилей риска, а не точечных оценок.

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

2.1 Квантильная регрессионная функция потерь

Основой IQN является квантильная регрессия. Для заданного квантильного уровня $\tau \in (0, 1)$ квантильная регрессионная функция потерь определяется как:

$$\rho_\tau(u) = u \cdot (\tau - \mathbb{1}_{u < 0})$$

где $u = Z - \hat{Z}$ — ошибка временной разности (TD). Эта асимметричная функция потерь штрафует переоценку и недооценку по-разному в зависимости от квантильного уровня:

  • Для $\tau = 0.5$ (медиана): симметричная потеря, эквивалентна L1-потере
  • Для $\tau = 0.9$: штрафует недооценку в 9 раз больше, чем переоценку
  • Для $\tau = 0.1$: штрафует переоценку в 9 раз больше, чем недооценку

2.2 Квантильная функция потерь Хубера

На практике квантильная регрессионная потеря комбинируется с функцией потерь Хубера для гладкости в нуле. Квантильная функция потерь Хубера с порогом $\kappa$:

$$\mathcal{L}\kappa^\tau(u) = |\tau - \mathbb{1}{u < 0}| \cdot \frac{\mathcal{L}_\kappa(u)}{\kappa}$$

где:

$$\mathcal{L}_\kappa(u) = \begin{cases} \frac{1}{2} u^2 & \text{если } |u| \leq \kappa \ \kappa (|u| - \frac{1}{2}\kappa) & \text{иначе} \end{cases}$$

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

2.3 Косинусное вложение для квантильных долей

IQN кодирует квантильную долю $\tau$ с помощью косинусного базисного вложения. Для $\tau \in [0, 1]$ и размерности вложения $n$:

$$\phi_j(\tau) = \text{ReLU}\left(\sum_{i=0}^{n-1} \cos(\pi i \tau) \cdot w_{ij} + b_j\right)$$

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

$$Z_\tau(s, a) = f(g(s) \odot \phi(\tau))_a$$

где $g(s)$ — кодировщик состояния, $\odot$ обозначает поэлементное умножение, а $f$ — сеть ценности, выводящая значения действий.

2.4 Политики с учетом риска

Одним из наиболее мощных аспектов IQN для трейдинга является возможность реализации политик с учетом риска через искаженные ожидания.

CVaR (условная стоимость под риском)

CVaR на уровне $\alpha$ фокусируется на худших $\alpha$ долей исходов:

$$\text{CVaR}_\alpha(Z) = \frac{1}{\alpha} \int_0^\alpha F_Z^{-1}(\tau) , d\tau$$

В IQN это реализуется путем сэмплирования $\tau$ только из $[0, \alpha]$ вместо $[0, 1]$:

$$Q_{\text{CVaR}\alpha}(s, a) = \frac{1}{K} \sum{k=1}^K Z_{\tau_k}(s, a), \quad \tau_k \sim U[0, \alpha]$$

Более низкое $\alpha$ означает более консервативное поведение — агент оптимизирует для наихудших сценариев.

Искажение Ванга

Мера риска Ванга применяет функцию искажения $g$ к квантильным уровням:

$$g_\eta(\tau) = \Phi(\Phi^{-1}(\tau) + \eta)$$

где $\Phi$ — функция распределения стандартного нормального закона. Положительное $\eta$ приводит к склонному к риску поведению, а отрицательное $\eta$ — к избегающему риск поведению.

CPW (весовая функция кумулятивной теории перспектив)

Функция искажения CPW захватывает поведенческие аспекты восприятия риска:

$$w(\tau) = \frac{\tau^\gamma}{(\tau^\gamma + (1-\tau)^\gamma)^{1/\gamma}}$$

Это переоценивает хвостовые вероятности, что согласуется с тем, как люди воспринимают редкие экстремальные события.

3. Сравнение с QR-DQN и C51

C51 (Categorical DQN)

C51, первый алгоритм дистрибутивного RL, представляет распределение доходности как категориальное распределение по фиксированному набору атомов:

ХарактеристикаC51QR-DQNIQN
Представление распределенияФиксированные атомы, обучаемые вероятностиФиксированные квантильные уровни, обучаемые значенияНеявная квантильная функция
Количество выходовN атомовN квантилейГибкое (сэмплированное)
Функция потерьКросс-энтропияКвантильная регрессияКвантильная Хубера
РазрешениеФиксированная сеткаФиксированные квантилиНепрерывное
Меры рискаОграниченные (апостериорные)Ограниченные (апостериорные)Нативная поддержка
Моделирование хвостовСлабое (ограниченный носитель)Хорошее (неограниченное)Отличное (непрерывное)
Вычислительная стоимостьНизкаяСредняяБолее высокая

Ключевые преимущества IQN

  1. Непрерывная квантильная функция: IQN может оценивать квантили на любом уровне, а не только на заранее определенных. Это критически важно для мер риска, требующих детальной информации о хвостах.

  2. Нативное управление рисками: Искажая распределение сэмплирования $\tau$, IQN напрямую реализует политики с учетом риска без апостериорных модификаций.

  3. Лучшая эффективность обучения: Неявное представление IQN разделяет информацию между квантильными уровнями, что приводит к более эффективному обучению.

  4. Неограниченный носитель: В отличие от C51, IQN не требует указания диапазона доходностей заранее. Это важно для трейдинга, где возможны экстремальные доходности.

  5. Гибкое разрешение: IQN может динамически распределять больше разрешения на области интереса (например, хвосты для управления рисками).

Когда предпочесть альтернативы

  • C51: Когда вычислительный бюджет очень ограничен и диапазон доходностей известен.
  • QR-DQN: Когда фиксированного числа квантилей достаточно и стабильность обучения первостепенна.
  • IQN: Когда нужны политики с учетом риска и важно полное распределение — что почти всегда так в трейдинге.

4. Применения в трейдинге

4.1 Трейдинг с учетом риска

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

  • Консервативная стратегия: CVaR с низким $\alpha$ (например, 0.1) для избежания крупных просадок
  • Сбалансированная стратегия: CVaR с умеренным $\alpha$ (например, 0.3) для баланса риска и доходности
  • Агрессивная стратегия: Нейтральное к риску сэмплирование ($\tau \sim U[0,1]$) для максимальной ожидаемой доходности

4.2 Управление хвостовыми рисками

Финансовые доходности демонстрируют тяжелые хвосты — экстремальные события происходят чаще, чем предсказывают нормальные распределения. Непрерывная квантильная функция IQN предоставляет детальную информацию о поведении хвостов:

  • Оценка VaR: Прямое чтение квантильной функции на определенных уровнях
  • Оценка CVaR: Среднее нижних квантилей для ожидаемого дефицита
  • Концентрация хвоста: Анализ расстояния между квантилями в экстремальных областях

4.3 Динамическое определение размера позиции

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

  1. Оценить распределение доходности для каждого возможного размера позиции
  2. Вычислить меру риска (например, CVaR) для каждого
  3. Выбрать наибольшую позицию, которая удерживает риск в рамках бюджета

4.4 Трейдинг с учетом рыночных режимов

Различные рыночные режимы создают разные распределения доходности. IQN захватывает эти различия естественным образом:

  • Низкая волатильность: Узкие, остроконечные распределения
  • Высокая волатильность: Широкие, потенциально бимодальные распределения
  • Кризисные периоды: Распределения с тяжелым левым хвостом

Агент учится распознавать эти паттерны через полное дистрибутивное представление и соответственно корректирует свое поведение.

4.5 Мульти-активное портфельное распределение

При расширении на несколько активов IQN предоставляет дистрибутивную информацию для решений на уровне портфеля:

  • Диверсификация: Определение активов, чьи распределения доходности дополняют друг друга
  • Хеджирование: Поиск позиций, снижающих хвостовой риск портфеля
  • Режимы корреляции: Обнаружение изменений в структуре зависимости в периоды стресса

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

Прилагаемая реализация на Rust предоставляет полный фреймворк IQN для трейдинга:

Основные компоненты

// Косинусное вложение для квантильного τ
pub struct CosineEmbedding {
pub embedding_dim: usize,
pub weights: Array2<f64>,
pub bias: Array1<f64>,
}
// Сеть IQN, объединяющая состояние и τ
pub struct IQNNetwork {
pub state_dim: usize,
pub action_dim: usize,
pub embedding_dim: usize,
pub cosine_embedding: CosineEmbedding,
// ... веса слоев
}
// Выбор действий с учетом риска
pub enum RiskMeasure {
Neutral, // τ ~ U[0, 1]
CVaR { alpha: f64 }, // τ ~ U[0, α]
Wang { eta: f64 }, // искаженное τ
}

Ключевые возможности

  1. Косинусное вложение: Отображение квантильных долей в многомерное пространство с помощью косинусных базисных функций
  2. Квантильная функция потерь Хубера: Гладкая, асимметричная потеря для квантильной регрессии с настраиваемым порогом $\kappa$
  3. Меры риска: CVaR и искажение Ванга для выбора действий с учетом риска
  4. Буфер воспроизведения: Повторное воспроизведение опыта с равномерным сэмплированием для стабильного обучения
  5. Интеграция с Bybit: Получение рыночных данных в реальном времени и исторических данных через REST API Bybit

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

Реализация интегрируется с API криптовалютной биржи Bybit для получения реальных рыночных данных:

Конвейер данных

Bybit REST API → Данные свечей (OHLCV) → Генерация признаков → Состояние IQN

Конечные точки API

  • Данные свечей: GET /v5/market/kline для исторических OHLCV-свечей
  • Данные тикера: GET /v5/market/tickers для текущих цен
  • Параметры: Символ (например, BTCUSDT), интервал (от 1m до 1M), лимит (до 200)

Генерация признаков

Сырые OHLCV-данные преобразуются в признаки, подходящие для IQN:

  • Доходности: Лог-доходности за различные периоды
  • Волатильность: Скользящее стандартное отклонение доходностей
  • Профиль объема: Нормализованный объем относительно скользящего среднего
  • Ценовой моментум: Индикаторы темпа изменения
  • Индикаторы диапазона: Нормализованный диапазон максимум-минимум

Нормализация данных

Все признаки нормализуются для предотвращения доминирования одного признака:

  • Z-нормализация для признаков на основе доходности
  • Min-max масштабирование для ограниченных признаков
  • Скользящая статистика для адаптации к нестационарности

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

  1. IQN обучает полное распределение доходности через неявную квантильную функцию, отображая любое $\tau \in [0,1]$ в соответствующий квантиль доходности через косинусные вложения.

  2. Политики с учетом риска нативны для IQN. Искажая распределение сэмплирования квантильных долей (CVaR, Ванг, CPW), агент напрямую оптимизирует для различных предпочтений риска без изменения архитектуры.

  3. По сравнению с C51 и QR-DQN, IQN обеспечивает непрерывное квантильное разрешение, неограниченный носитель и нативную интеграцию мер риска — все это критические преимущества для финансовых приложений.

  4. Управление хвостовыми рисками значительно выигрывает от способности IQN моделировать крайности распределения доходности с произвольной точностью, обеспечивая точные оценки VaR и CVaR.

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

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

  7. Практическая реализация требует внимательного отношения к стабильности обучения (квантильная функция потерь Хубера, целевые сети, буферы воспроизведения) и реалистичной симуляции рынка (транзакционные издержки, проскальзывание, задержка).

  8. Реализация на Rust предоставляет производительный, типобезопасный фреймворк для трейдинга на основе IQN с прямой интеграцией с биржей Bybit, подходящий как для исследований, так и для производственного развертывания.

Ссылки

  1. Dabney, W., Ostrovski, G., Silver, D., & Munos, R. (2018). Implicit Quantile Networks for Distributional Reinforcement Learning. ICML.
  2. Dabney, W., Rowland, M., Bellemare, M. G., & Munos, R. (2018). Distributional Reinforcement Learning with Quantile Regression. AAAI.
  3. Bellemare, M. G., Dabney, W., & Munos, R. (2017). A Distributional Perspective on Reinforcement Learning. ICML.
  4. Wang, S. S. (2000). A Class of Distortion Operators for Pricing Financial and Insurance Risks. Journal of Risk and Insurance.
  5. Rockafellar, R. T., & Uryasev, S. (2000). Optimization of Conditional Value-at-Risk. Journal of Risk.
  6. Ma, Y., Zhao, T., & Li, B. (2021). Distributional Reinforcement Learning for Quantitative Trading. NeurIPS Workshop on Machine Learning for Trading.
  7. Moody, J., & Saffell, M. (2001). Learning to Trade via Direct Reinforcement. IEEE Transactions on Neural Networks.