Глава 192: Квантовая торговля на основе машин Больцмана
1. Введение
Квантовые машины Больцмана (QBM) представляют одно из наиболее перспективных пересечений квантовых вычислений и машинного обучения для финансового моделирования. Классические ограниченные машины Больцмана (RBM) десятилетиями использовались в финансах — от изучения скрытой структуры доходностей активов до генеративного моделирования рыночных сценариев, однако они страдают от фундаментальных ограничений сэмплирования. Классические методы Монте-Карло с цепями Маркова могут застревать в локальных минимумах энергии, особенно когда ландшафт вероятностей доходностей активов мультимодален, как это обычно бывает при смене режимов, кризисах и хвостовых событиях.
Квантовые машины Больцмана преодолевают эти ограничения, используя квантово-механические явления, в частности квантовое туннелирование и суперпозицию, для более эффективного исследования энергетического ландшафта. Вместо того чтобы полагаться исключительно на тепловые флуктуации для выхода из локальных минимумов, QBM использует поперечно-полевые члены в своём гамильтониане, позволяющие системе туннелировать через энергетические барьеры. Это делает QBM особенно подходящими для финансовых приложений, где критически важно захватить полное совместное распределение доходностей активов, включая тяжёлые хвосты, асимметрию и нелинейные зависимости.
В этой главе мы разрабатываем полную систему QBM для трейдинга. Начнём с математических основ, сравним QBM с классическими RBM, а затем построим реализацию на Rust, которая получает реальные данные криптовалют с биржи Bybit, обучает QBM на дискретизированных распределениях доходностей и использует генеративное сэмплирование для создания синтетических портфельных сценариев. Эти сценарии могут использоваться для оценки рисков, оптимизации портфеля и обнаружения аномалий.
2. Математические основы
2.1 Распределение Больцмана
Распределение Больцмана является краеугольным камнем энергетических моделей. Для системы с конфигурацией состояния s вероятность наблюдения этого состояния:
P(s) = (1/Z) * exp(-E(s) / T)где E(s) — энергия конфигурации, T — температура, а Z — статистическая сумма (функция разбиения):
Z = sum_s exp(-E(s) / T)Статистическая сумма нормализует распределение и кодирует всю термодинамическую информацию о системе. В контексте финансового моделирования каждое состояние s представляет определённый паттерн дискретизированных доходностей активов, а энергетическая функция кодирует изученные зависимости между активами.
2.2 Энергетическая функция классической RBM
Ограниченная машина Больцмана определяет энергетическую функцию на видимых единицах v (наблюдаемые данные, например, дискретизированные доходности) и скрытых единицах h (латентные факторы):
E(v, h) = -sum_i a_i * v_i - sum_j b_j * h_j - sum_{i,j} v_i * W_{ij} * h_jгде a_i — смещения видимых единиц, b_j — смещения скрытых единиц, а W_{ij} — веса, соединяющие видимую единицу i со скрытой единицей j. Ограниченная связность (отсутствие внутрислойных соединений) делает вывод вычислимым.
2.3 Квантовый гамильтониан
Квантовая машина Больцмана расширяет это, вводя квантово-механические члены. Система описывается оператором гамильтониана, а не классической энергетической функцией:
H = H_classical + H_quantumКлассическая часть кодирует те же взаимодействия, что и RBM:
H_classical = -sum_i a_i * sigma_z^i - sum_j b_j * sigma_z^j - sum_{i,j} W_{ij} * sigma_z^i * sigma_z^jгде sigma_z^i — оператор Паули-Z, действующий на кубит i.
2.4 Модель Изинга с поперечным полем
Квантовая часть вводит поперечно-полевые члены:
H_quantum = -Gamma * sum_i sigma_x^iгде Gamma — напряжённость поперечного поля, а sigma_x^i — оператор Паули-X. Этот член не коммутирует с H_classical, что означает, что система существует в суперпозициях классических состояний. Поперечное поле создаёт квантовое туннелирование, позволяя системе проходить через энергетические барьеры, которые бы заблокировали чисто классический сэмплер.
2.5 Свободная энергия и статистическая сумма
Квантовая статистическая сумма вычисляется через след матрицы плотности:
Z = Tr[exp(-beta * H)]где beta = 1/T — обратная температура. Свободная энергия:
F = -T * ln(Z)Поскольку квантовый гамильтониан включает некоммутирующие операторы, точное вычисление Z требует таких методов, как разложение Сузуки-Троттера, которое отображает квантовую систему на классическую систему с дополнительным измерением «мнимого времени». Это основа нашего подхода к симуляции.
2.6 Разложение Сузуки-Троттера
Разложение Сузуки-Троттера аппроксимирует квантовую статистическую сумму, разделяя гамильтониан на коммутирующие и некоммутирующие части:
exp(-beta * H) ~ [exp(-beta * H_classical / M) * exp(-beta * H_quantum / M)]^Mгде M — количество слоёв Троттера. Это отображает d-мерную квантовую систему на (d+1)-мерную классическую систему, где дополнительное измерение представляет реплики, связанные вдоль оси мнимого времени. Сила межреплечной связи:
J_perp = -(T/2) * ln(tanh(Gamma / (M * T)))Это позволяет нам моделировать квантовую систему с помощью классических методов Монте-Карло на расширенной системе.
3. QBM против классической RBM
3.1 Преимущество квантового туннелирования
Ключевое преимущество QBM перед классическими RBM заключается в исследовании энергетического ландшафта. Рассмотрим двойной потенциальный колодец с высоким, но тонким барьером. Классический термальный сэмплер должен «перелезть через» барьер, требуя энергетических флуктуаций, пропорциональных высоте барьера. Квантовый сэмплер может туннелировать через барьер, причём вероятность туннелирования зависит от ширины, а не высоты барьера.
В финансовых терминах это означает, что QBM могут более эффективно захватывать:
- Переходы режимов: Быстрые переключения между рыночными состояниями (бычий/медвежий рынок), которые классические модели сглаживают
- Хвостовые зависимости: Нелинейные корреляции, возникающие при рыночном стрессе
- Мультимодальные распределения: Множественные равновесные состояния в распределениях доходностей активов
3.2 Квантовые термальные состояния
Термальное состояние QBM — это смешанное квантовое состояние, описываемое матрицей плотности:
rho = exp(-beta * H) / ZИзмерения этого состояния дают выборки из распределения, которое естественным образом включает квантовые корреляции. По мере того как поперечное поле отжигается до нуля, квантовое распределение сходится к классическому распределению Больцмана, но путь через квантовые состояния во время обучения позволяет найти лучшие параметры.
3.3 Выразительность
QBM с n кубитами может представлять распределения на 2^n состояниях, как и классическая RBM. Однако квантовые корреляции (запутанность) между единицами во время процесса сэмплирования позволяют QBM более эффективно представлять определённые распределения, которые потребовали бы экспоненциально много скрытых единиц в классической RBM. Это особенно актуально для финансовых распределений со сложной структурой зависимостей.
4. Торговое применение
4.1 Изучение совместных распределений вероятностей доходностей активов
Основное применение QBM в трейдинге — изучение совместного распределения вероятностей доходностей активов. Для вселенной из N активов мы дискретизируем доходность каждого актива в K интервалов и представляем совместное состояние как двоичный вектор. QBM изучает энергетическую функцию, которая присваивает низкую энергию (высокую вероятность) паттернам доходностей, часто встречающимся в исторических данных.
Это совместное распределение захватывает:
- Маргинальные распределения доходностей отдельных активов (включая асимметрию и эксцесс)
- Попарные корреляции между активами
- Зависимости высших порядков, которые пропускают линейные модели
- Хвостовые зависимости, критичные для управления рисками
4.2 Генеративное сэмплирование для портфельных сценариев
После обучения QBM служит генеративной моделью. Мы можем извлекать выборки из изученного распределения для генерации синтетических рыночных сценариев. Эти сценарии полезны для:
- Оценка рисков методом Монте-Карло: Генерация тысяч коррелированных сценариев доходности для вычисления VaR и CVaR
- Стресс-тестирование: Обусловливание экстремальными событиями в одном активе и сэмплирование условного распределения других
- Оптимизация портфеля: Использование сгенерированных сценариев как входных данных для фреймворков робастной оптимизации
- Анализ «что если»: Модификация энергетического ландшафта для симуляции гипотетических рыночных условий
4.3 Обнаружение аномалий
Энергетическая функция сама по себе служит детектором аномалий. Если новое наблюдение имеет необычно высокую энергию (низкую вероятность в рамках изученного распределения), это сигнализирует об аномальном рыночном состоянии. Это может использоваться для:
- Раннего предупреждения о смене режимов
- Обнаружения необычных разрывов корреляций
- Выявления потенциальных паттернов манипулирования рынком
Квантовое преимущество здесь особенно сильно: поскольку QBM более тщательно исследуют энергетический ландшафт во время обучения, они строят более точную модель «нормального» поведения, делая обнаружение аномалий более чувствительным.
5. Обучение
5.1 Квантовая контрастная дивергенция
Обучение QBM следует тому же принципу, что и обучение классической RBM: максимизация логарифмического правдоподобия обучающих данных. Градиент логарифмического правдоподобия по параметру theta:
dL/d_theta = <dE/d_theta>_data - <dE/d_theta>_modelПервый член (положительная фаза) — это ожидаемый градиент по распределению данных, который легко вычислить. Второй член (отрицательная фаза) требует сэмплирования из распределения модели, и именно здесь проявляется квантовое преимущество.
В квантовой контрастной дивергенции (QCD) мы:
- Инициализируем видимые единицы обучающим примером
- Выполняем
kшагов квантово-усиленного сэмплирования Гиббса (используя представление Сузуки-Троттера) - Используем полученные выборки для оценки модельного ожидания
Квантовое туннелирование в представлении Сузуки-Троттера позволяет сэмплеру перемешиваться быстрее, что означает, что для точных оценок градиента требуется меньше шагов CD.
5.2 Вариационные обновления параметров
Правила обновления параметров:
W_{ij} += learning_rate * (<v_i * h_j>_data - <v_i * h_j>_model)a_i += learning_rate * (<v_i>_data - <v_i>_model)b_j += learning_rate * (<h_j>_data - <h_j>_model)Gamma += learning_rate * d_quantum_term / d_GammaНапряжённость поперечного поля Gamma обычно отжигается во время обучения, начиная с большого значения (сильные квантовые эффекты) и уменьшаясь к нулю (приближаясь к классическому поведению). Этот график квантового отжига помогает модели выйти из плохих локальных оптимумов на ранних этапах обучения.
5.3 Практические соображения по обучению
- Планирование скорости обучения: Начинаем с более высокой скорости и уменьшаем
- Шаги CD-k: k=1 часто достаточно для QBM благодаря более быстрому перемешиванию
- Слои Троттера: M=4 до M=16 обеспечивает хороший компромисс точности и скорости
- Размер батча: Мини-пакетное обучение с размерами пакетов 32-64
- Регуляризация: L2-регуляризация весов
Wпредотвращает переобучение - Температура: Обычно устанавливается T=1, позволяя шкале энергии адаптироваться
6. Обзор реализации
Наша реализация на Rust предоставляет полный симулятор QBM, подходящий для торговых приложений. Вот обзор ключевых компонентов.
6.1 Основные структуры данных
Структура QuantumBoltzmannMachine содержит параметры модели:
weights: 2D-массив формы(n_visible, n_hidden)для межслойных связейvisible_bias: 1D-массив для смещений видимых единицhidden_bias: 1D-массив для смещений скрытых единицgamma: напряжённость поперечного поля, контролирующая квантовые эффектыn_trotter: количество слоёв Троттера для разложения Сузуки-Троттера
6.2 Вычисление энергии
Метод compute_energy вычисляет классическую энергию для данной конфигурации видимых-скрытых единиц. Это основная функция, вызываемая миллионы раз во время обучения и сэмплирования.
6.3 Квантово-усиленное сэмплирование Гиббса
Метод quantum_gibbs_sample выполняет сэмплирование с использованием представления Сузуки-Троттера. Он поддерживает несколько реплик системы и чередует:
- Обновления внутри реплик (стандартное сэмплирование Гиббса)
- Обновления между репликами (связь вдоль измерения Троттера)
6.4 Цикл обучения
Метод train реализует квантовую контрастную дивергенцию:
- Для каждого мини-пакета вычисляем статистику положительной фазы
- Запускаем квантовое сэмплирование Гиббса для отрицательной фазы
- Обновляем веса, смещения и, опционально, поперечное поле
- Отжигаем гамму согласно расписанию
6.5 Двоичное кодирование доходностей
Доходности дискретизируются в интервалы и кодируются как двоичные векторы. Например, с 4 интервалами на актив и 2 активами мы получаем 8-мерный двоичный вектор. Кодирование сохраняет порядковую информацию с помощью термометрического кодирования: доходность в 3-м интервале кодируется как [1, 1, 1, 0].
6.6 Интеграция с Bybit
Реализация получает реальные данные свечей (kline) через Bybit V5 API. Структура BybitClient обрабатывает HTTP-запросы и парсит ответ в чистый формат для модели.
7. Интеграция данных Bybit
Bybit V5 API предоставляет бесплатный доступ к историческим данным свечей для криптовалютных пар. Наша интеграция:
- Получает данные OHLCV для указанных торговых пар (например, BTCUSDT, ETHUSDT)
- Вычисляет логарифмические доходности из цен закрытия:
r_t = ln(P_t / P_{t-1}) - Дискретизирует доходности в настраиваемое количество интервалов с помощью квантильных границ
- Кодирует как двоичные признаки с использованием термометрического кодирования для порядковой структуры
- Обрабатывает пагинацию для получения больших исторических наборов данных
Используемый эндпоинт API:
GET https://api.bybit.com/v5/market/kline?category=spot&symbol={symbol}&interval={interval}&limit={limit}Аутентификация не требуется для публичных рыночных данных, что делает его идеальным для исследований и бэктестинга.
8. Ключевые выводы
-
Квантовые машины Больцмана расширяют классические RBM, добавляя поперечно-полевые члены в гамильтониан, что позволяет квантовое туннелирование через энергетические барьеры при сэмплировании.
-
Разложение Сузуки-Троттера позволяет симулировать квантовые системы на классическом оборудовании путём отображения на классическую систему более высокой размерности с межреплечными связями.
-
Квантовое туннелирование обеспечивает преимущество в сэмплировании, что особенно ценно для финансовых распределений с множественными модами, тяжёлыми хвостами и сложной структурой зависимостей.
-
QBM изучают совместные распределения вероятностей доходностей активов, одновременно захватывая маргинальные свойства, корреляции и зависимости высших порядков.
-
Генеративное сэмплирование из обученных QBM создаёт синтетические рыночные сценарии, полезные для оценки рисков, стресс-тестирования и оптимизации портфеля.
-
Обнаружение аномалий с использованием энергетической функции позволяет идентифицировать необычные рыночные условия до их полного проявления.
-
Квантовая контрастная дивергенция обучает модель, используя более быстро перемешивающиеся квантовые сэмплеры, что уменьшает необходимое количество шагов CD.
-
Двоичное кодирование доходностей с термометрическим кодированием сохраняет порядковую информацию и делает данные совместимыми с двоичными единицами машины Больцмана.
-
Напряжённость поперечного поля действует как регуляризационный параметр: более высокие значения поощряют исследование и предотвращают переобучение на локальных модах распределения данных.
-
Даже при симуляции на классическом оборудовании QBM могут превосходить классические RBM на мультимодальных финансовых распределениях, и те же алгоритмы будут работать нативно на квантовом оборудовании по мере его развития.