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

Глава 139: Гибридные модели SSM-GNN для трейдинга

Обзор

Гибриды моделей пространства состояний (SSM) и графовых нейронных сетей (GNN) объединяют сильные стороны последовательного временного моделирования и обучения реляционной структуре. SSM, такие как S4 и Mamba, эффективно захватывают долгосрочные временные зависимости, а GNN моделируют межактивные связи, секторные корреляции и цепочки поставок. Объединяя эти два подхода, гибриды SSM-GNN одновременно учат когда и как двигаются активы (временная динамика) и почему они двигаются вместе (графовая структура).

На финансовых рынках активы не существуют изолированно. Доходность акций зависит от секторных аналогов, макрофакторы распространяются по цепочкам поставок, а цены криптовалют совместно изменяются через ончейн и биржевые связи. Гибрид SSM-GNN улавливает как последовательную эволюцию характеристик каждого актива, так и межактивный поток информации на каждом временном шаге.

Содержание

  1. Математические основы
  2. Архитектура
  3. Компонент SSM
  4. Компонент GNN
  5. Стратегии слияния
  6. Реализация на Python
  7. Реализация на Rust
  8. Торговое применение
  9. Бэктестинг
  10. Оценка производительности
  11. Литература

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

Модели пространства состояний (SSM)

Линейная модель пространства состояний в непрерывном времени определяется как:

x'(t) = A x(t) + B u(t)
y(t) = C x(t) + D u(t)

где:

  • x(t) ∈ R^N — скрытое состояние,
  • u(t) ∈ R^1 — входной сигнал,
  • y(t) ∈ R^1 — выход,
  • A ∈ R^{N×N}, B ∈ R^{N×1}, C ∈ R^{1×N}, D ∈ R^{1×1} — обучаемые параметры.

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

x_k = Ā x_{k-1} + B̄ u_k
y_k = C x_k + D u_k

где Ā = exp(Δ A) и B̄ = (Δ A)^{-1}(Ā - I) Δ B для шага Δ.

Графовые нейронные сети (GNN)

Для графа G = (V, E) с признаками узлов h_v для каждого узла v ∈ V GNN на основе передачи сообщений обновляют представления узлов:

m_v^{(l)} = AGGREGATE({h_u^{(l-1)} : u ∈ N(v)})
h_v^{(l)} = UPDATE(h_v^{(l-1)}, m_v^{(l)})

Распространённые варианты: GCN (Kipf & Welling, 2017), GAT (Veličković et al., 2018) и GraphSAGE (Hamilton et al., 2017).

Слияние SSM-GNN

Гибридная модель обрабатывает временную последовательность графов {G_1, G_2, ..., G_T}, где каждый граф G_t = (V, E_t, X_t) имеет изменяющиеся во времени признаки узлов X_t ∈ R^{|V|×F}.

Последовательное слияние (SSM → GNN):

  1. Применяется SSM для каждого узла независимо: z_v = SSM(x_{v,1}, ..., x_{v,T})
  2. Применяется GNN на графе с признаками узлов z_v

Чередующееся слияние (SSM ↔ GNN): На каждом шаге t:

  1. Обновление признаков узлов через GNN: h_v^{(t)} = GNN(x_{v,t}, G_t)
  2. Обновление временного состояния через SSM: s_v^{(t)} = SSM_step(s_v^{(t-1)}, h_v^{(t)})

Архитектура

Вход: Мультиактивные временные ряды + Граф связей
┌─────────────────────┐
│ Извлечение признаков│ Технические индикаторы по активам
└─────────┬───────────┘
┌─────────────────────┐
│ SSM кодировщик │ S4/Mamba временное кодирование
│ (по узлам) │
└─────────┬───────────┘
┌─────────────────────┐
│ GNN слои │ Межактивная передача сообщений
│ (GAT / GCN) │ по корреляционному / секторному графу
└─────────┬───────────┘
┌─────────────────────┐
│ Головы предсказания│ Прогноз доходности, волатильности,
│ │ классификация тренда
└─────────┬───────────┘
Торговый сигнал

Компонент SSM

Компонент SSM обрабатывает временной ряд каждого актива независимо. Используется упрощённая диагональная SSM в стиле S4:

  • HiPPO инициализация: Матрица A инициализируется по методу HiPPO для оптимального захвата долгосрочных зависимостей.
  • Диагональная структура: Ограничение A диагональной матрицей позволяет вычисления за O(N) вместо O(N^2).
  • Селективный механизм (в стиле Mamba): Зависящие от входа Δ, B, C позволяют модели селективно запоминать или забывать информацию.

Компонент GNN

Компонент GNN улавливает межактивные связи. Поддерживаются статические и динамические графы:

Построение статического графа:

  • Принадлежность к сектору/отрасли (бинарная матрица смежности)
  • Скользящая корреляционная матрица с порогом отсечения

Построение динамического графа:

  • Веса рёбер на основе внимания, обучаемые из эмбеддингов узлов
  • Изменяющаяся во времени корреляция по скользящим окнам

Слой GNN использует графовые сети внимания (GAT):

α_{ij} = softmax_j(LeakyReLU(a^T [W h_i || W h_j]))
h_i' = σ(Σ_j α_{ij} W h_j)

Стратегии слияния

Стратегия 1: Последовательная (SSM-затем-GNN)

Каждый актив обрабатывается SSM для получения временного кодирования, затем GNN выполняет межактивную агрегацию.

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

Стратегия 2: Чередующаяся (SSM-GNN на каждом шаге)

На каждом временном шаге SSM обновляет состояние, затем GNN распространяет информацию между активами.

Плюсы: Богатое взаимодействие временной и реляционной динамики. Минусы: Медленнее, сложнее параллелизовать.

Стратегия 3: Параллельная (конкатенация SSM + GNN)

SSM и GNN обрабатывают данные независимо, результаты конкатенируются.

Плюсы: Полностью параллелизуемо. Минусы: Нет глубокого взаимодействия между временными и графовыми признаками.


Реализация на Python

Реализация на Python использует NumPy для численных вычислений.

  • python/ssm_gnn_model.py — Основная гибридная модель SSM-GNN (DiagonalSSM, GAT, SSMGNNHybrid)
  • python/data_loader.py — Загрузка данных фондового рынка (Yahoo Finance) и криптобиржи Bybit
  • python/backtest.py — Движок бэктестинга с метриками (акции и крипто)

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

Реализация на Rust обеспечивает высокопроизводительный движок SSM-GNN для торговых систем. Используется ndarray для численных вычислений.

Основные модули:

  • src/model/ssm.rs — Диагональная SSM с дискретизацией
  • src/model/gnn.rs — Графовый слой внимания (GAT)
  • src/model/hybrid.rs — Комбинированная гибридная модель
  • src/data/bybit.rs — Получение данных с Bybit API (криптовалюты)
  • src/data/stock.rs — Данные фондового рынка (симуляция с секторной волатильностью)
  • src/data/features.rs — Технические признаки и построение графа
  • src/trading/ — Генерация сигналов и бэктестинг
  • examples/ — Рабочие примеры (крипто, акции, смешанный портфель)

Торговое применение

Генерация сигналов

  1. Извлечение признаков: Технические индикаторы (RSI, MACD, полосы Боллинджера, OBV) по активам.
  2. Временное кодирование: SSM обрабатывает последовательность признаков каждого актива.
  3. Межактивная агрегация: GNN распространяет информацию по графу активов.
  4. Классификация: Голова предсказания — 3-классовый сигнал: Long (+1), Neutral (0), Short (-1).

Построение портфеля

Для сигналов s_i ∈ {-1, 0, +1} для N активов:

w_i = s_i * confidence_i / Σ_j |s_j * confidence_j|

Управление рисками

  • Размер позиции: Критерий Келли или фиксированная доля
  • Стоп-лосс: Трейлинг-стоп на 2× ATR
  • Фильтр корреляции: Уменьшение экспозиции при превышении порога

Бэктестинг

Фреймворк бэктестинга оценивает стратегию SSM-GNN на исторических данных с учётом комиссий и проскальзывания.

Метрики

МетрикаОписание
Sharpe RatioДоходность с поправкой на риск
Sortino RatioДоходность с поправкой на нисходящий риск
Maximum DrawdownМаксимальная просадка
Win RateДоля прибыльных сделок
Profit FactorВаловая прибыль / Валовый убыток
Calmar RatioГодовая доходность / Макс. просадка

Оценка производительности

Сравнение с базовыми моделями

  • SSM-only: Временная модель без графовой структуры
  • GNN-only: Графовая модель без SSM кодирования
  • LSTM: Стандартный рекуррентный базелайн
  • Transformer: Модель на основе механизма внимания
  • Buy-and-Hold: Пассивный бенчмарк

Ожидаемые преимущества

  1. Лучшие межактивные сигналы: GNN улавливает опережающе-запаздывающие связи.
  2. Осведомлённость о режимах: Долговременная память SSM обнаруживает смену режимов; GNN распространяет информацию о режимах по графу.
  3. Устойчивость: Совместное обучение регуляризует оба компонента, снижая переобучение.

Литература

  1. Gu, A., Goel, K., & Ré, C. (2022). Efficiently Modeling Long Sequences with Structured State Spaces (S4). ICLR 2022.
  2. Gu, A., & Dao, T. (2023). Mamba: Linear-Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
  3. Kipf, T. N., & Welling, M. (2017). Semi-Supervised Classification with Graph Convolutional Networks. ICLR 2017.
  4. Veličković, P., et al. (2018). Graph Attention Networks. ICLR 2018.
  5. Hamilton, W. L., Ying, R., & Leskovec, J. (2017). Inductive Representation Learning on Large Graphs. NeurIPS 2017.
  6. Wang, Y., et al. (2023). Graph State Space Models. arXiv:2301.01731.
  7. Chen, D., et al. (2022). Structure-Aware Transformer for Graph Representation Learning. ICML 2022.