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

VICReg Trading: Регуляризация Дисперсии, Инвариантности и Ковариации

Этот репозиторий содержит реализацию метода VICReg (Variance-Invariance-Covariance Regularization) для самообучения (Self-Supervised Learning) на финансовых временных рядах. VICReg — это метод, который эффективно предотвращает коллапс репрезентаций без использования негативных примеров, асимметричных архитектур или кластеризации.

Основная концепция

VICReg работает с двумя дополненными представлениями одних и тех же данных, $x$ и $x’$, создавая эмбеддинги $z$ и $z’$. Он использует три отдельных терма в функции потерь для формирования пространства эмбеддингов:

  1. Инвариантность (Sim): Минимизирует расстояние между $z$ и $z’$. Модель учится тому, что разные версии одного и того же рыночного окна должны представлять одно и то же базовое состояние.
  2. Дисперсия (Var): Заставляет стандартное отклонение каждого измерения по батчу быть выше порога $\gamma$ (обычно 1.0). Это предотвращает точечный коллапс (когда все входы отображаются в один и тот же вектор).
  3. Ковариация (Cov): Минимизирует внедиагональные элементы матрицы ковариации $z$. Это предотвращает коллапс размерностей (когда все измерения становятся сильно коррелированными), заставляя модель использовать всю емкость эмбеддинга.

Преимущества для трейдинга

  • Не требуются негативные примеры: В трейдинге сложно определить, что считать “негативным” примером (отличается ли падение на 1% сегодня от такого же падения год назад?). VICReg избегает этой неопределенности.
  • Разнообразие признаков: Благодаря регуляризации матрицы ковариации, VICReg гарантирует, что выученные признаки (волатильность, тренд, импульс) будут независимыми и не избыточными.
  • Стабильность обучения: Более стабильная функция потерь по сравнению с контрастивными методами, что критично для нестабильных финансовых данных.

Структура проекта

  • python/: Реализация модели и цикла обучения на PyTorch.
  • rust/: Высокопроизводительная библиотека на Rust для извлечения признаков в реальном времени.
  • docs/: Теоретический разбор и детали реализации.