Глава 186: VQE-оптимизация портфеля
Введение — Вариационный квантовый решатель собственных значений для оптимизации портфеля
Оптимизация портфеля лежит в основе количественных финансов. С тех пор как Гарри Марковиц представил Современную теорию портфеля в 1952 году, практики стремились найти оптимальное распределение активов, которое максимизирует доходность при заданном уровне риска. Классическая оптимизация среднего-дисперсии хорошо работает для небольших портфелей, но по мере роста числа активов комбинаторная сложность задачи взрывается — особенно при введении дискретных ограничений, таких как лимиты кардинальности (максимальное число удерживаемых активов), минимальные размеры лотов или бинарные решения включения/исключения.
Вариационный квантовый решатель собственных значений (VQE) — это гибридный квантово-классический алгоритм, изначально разработанный для нахождения энергий основного состояния молекулярных гамильтонианов в квантовой химии. Однако его структура естественно отображается на задачи комбинаторной оптимизации, включая оптимизацию портфеля. VQE принадлежит к семейству Вариационных квантовых алгоритмов (VQA), которые считаются одними из наиболее перспективных кандидатов для достижения практического квантового преимущества на NISQ-устройствах ближайшего поколения.
Ключевая идея проста: закодировать задачу оптимизации портфеля в виде гамильтониана — матрицы, наименьшее собственное значение (энергия основного состояния) которой соответствует оптимальному портфелю. Затем использовать параметризованную квантовую схему (анзац) для подготовки пробных состояний, измерения ожидаемой энергии и итеративной настройки параметров с помощью классического оптимизатора до сходимости.
В этой главе мы реализуем классическую симуляцию алгоритма VQE на Rust, применим её к оптимизации криптовалютного портфеля с использованием реальных рыночных данных Bybit и сравним результаты с традиционными подходами к оптимизации.
Математические основы
Задача оптимизации портфеля
Для $n$ активов с вектором ожидаемой доходности $\boldsymbol{\mu} \in \mathbb{R}^n$ и ковариационной матрицей $\Sigma \in \mathbb{R}^{n \times n}$ классическая оптимизация среднего-дисперсии Марковица ищет веса $\mathbf{w} \in \mathbb{R}^n$, решающие:
$$\min_{\mathbf{w}} \quad \gamma , \mathbf{w}^T \Sigma , \mathbf{w} - \mathbf{w}^T \boldsymbol{\mu}$$
при ограничениях $\sum_i w_i = 1$ и $w_i \geq 0$, где $\gamma$ — параметр неприятия риска.
Формулировка QUBO
Для отображения на квантово-совместимую форму мы дискретизируем веса. Каждый вес $w_i$ кодируется с помощью $K$ бинарных переменных:
$$w_i = \sum_{k=0}^{K-1} \frac{2^k}{2^K - 1} x_{i,k}, \quad x_{i,k} \in {0, 1}$$
Это преобразует непрерывную оптимизацию в задачу квадратичной бинарной оптимизации без ограничений (QUBO):
$$\min_{\mathbf{x}} \quad \mathbf{x}^T Q , \mathbf{x}$$
где $Q$ кодирует целевую функцию и ограничения (через штрафные члены). Матрица QUBO $Q$ строится как:
$$Q = \gamma , \tilde{\Sigma} - \text{diag}(\tilde{\boldsymbol{\mu}}) + \lambda \left( A^T A - 2 , \mathbf{1}^T A \right)$$
Здесь $\tilde{\Sigma}$ и $\tilde{\boldsymbol{\mu}}$ — ковариация и доходность, переформулированные в бинарном кодировании, а $\lambda$ — штрафной множитель, обеспечивающий бюджетное ограничение $\sum_i w_i = 1$.
Преобразование QUBO в гамильтониан Изинга
QUBO преобразуется в гамильтониан Изинга подстановкой $x_i = (1 - z_i)/2$, где $z_i \in {-1, +1}$ — спиновые переменные. Результирующий гамильтониан имеет вид:
$$H = \sum_{i} h_i Z_i + \sum_{i<j} J_{ij} Z_i Z_j + C$$
где $Z_i$ — операторы Паули-Z, $h_i$ — локальные поля, $J_{ij}$ — силы связи, а $C$ — константный сдвиг. Основное состояние $H$ — собственное состояние с наименьшим собственным значением — соответствует оптимальному бинарному назначению и, следовательно, оптимальному портфелю.
Анзац VQE
Алгоритм VQE использует параметризованную квантовую схему $U(\boldsymbol{\theta})$ для подготовки пробного состояния $|\psi(\boldsymbol{\theta})\rangle = U(\boldsymbol{\theta}) |0\rangle^{\otimes n}$. Мы используем аппаратно-эффективный анзац, состоящий из слоёв однокубитных вентилей вращения ($R_y$, $R_z$), за которыми следуют запутывающие вентили CNOT:
$$U(\boldsymbol{\theta}) = \prod_{\ell=1}^{L} \left[ \prod_{i} R_y(\theta_{i,\ell}^y) R_z(\theta_{i,\ell}^z) \cdot \text{CNOT-layer} \right]$$
Цикл оптимизации VQE:
- Подготовить $|\psi(\boldsymbol{\theta})\rangle$ с помощью схемы-анзаца
- Измерить математическое ожидание $\langle \psi(\boldsymbol{\theta}) | H | \psi(\boldsymbol{\theta}) \rangle$
- Передать энергию классическому оптимизатору (например, COBYLA, Нелдер-Мид)
- Обновить $\boldsymbol{\theta}$ и повторить до сходимости
Квантовое преимущество за пределами Марковица
Классическая оптимизация Марковица с непрерывными весами эффективно решается с помощью квадратичного программирования. Так в чём же помогает квантовый подход?
Комбинаторный взрыв при дискретных ограничениях
Реальная оптимизация портфеля часто включает ограничения, делающие задачу NP-трудной:
- Ограничения кардинальности: удерживать не более $k$ из $n$ активов
- Минимальные размеры позиций: если актив удерживается, его доля не менее определённого минимума
- Лимиты секторной экспозиции: не более указанного процента в любом секторе
- Пороги транзакционных издержек: бинарные решения покупки/продажи с фиксированными затратами
При $n$ активах и $K$-битной дискретизации пространство поиска составляет $2^{nK}$ — экспоненциально по числу активов и точности. Для 50 активов с 3-битной точностью это $2^{150} \approx 10^{45}$ возможностей.
Почему VQE перспективен
- Квантовая суперпозиция позволяет анзацу исследовать экспоненциально много комбинаций портфеля одновременно.
- Запутанность позволяет схеме эффективно захватывать корреляции между распределениями активов.
- Вариационная структура делает VQE устойчивым к шуму — критическое преимущество на оборудовании ближайшего поколения.
- Гибридная архитектура использует классические оптимизаторы для настройки параметров, а квантовое оборудование обрабатывает экспоненциальное пространство состояний.
Современное квантовое оборудование ограничено десятками шумных кубитов, поэтому реальное ускорение на портфельных задачах пока остаётся целью. Однако классические симуляции VQE — как та, что мы реализуем здесь — служат квантово-вдохновлёнными эвристиками, которые могут превосходить наивный полный перебор на задачах дискретной оптимизации.
Обзор реализации
Наша реализация на Rust моделирует алгоритм VQE классически. Основные компоненты:
1. Арифметика комплексных чисел
Поскольку квантовые состояния живут в комплексном гильбертовом пространстве, мы определяем тип Complex, хранящий действительную и мнимую части как пары f64. Реализуем сложение, умножение, сопряжение и модуль.
2. Матрицы Паули и квантовые вентили
Однокубитные матрицы Паули $I, X, Y, Z$ представлены как комплексные матрицы 2x2. Вентили вращения строятся из матричных экспонент:
- $R_x(\theta) = \cos(\theta/2) , I - i \sin(\theta/2) , X$
- $R_y(\theta) = \cos(\theta/2) , I - i \sin(\theta/2) , Y$
- $R_z(\theta) = \cos(\theta/2) , I - i \sin(\theta/2) , Z$
3. Моделирование вектора состояния
Мы представляем $n$-кубитное квантовое состояние как $2^n$-мерный комплексный вектор. Применение вентилей выполняется построением полной $2^n \times 2^n$ матрицы через тензорные произведения и матрично-векторное умножение.
4. Преобразование QUBO в Изинга
Функция qubo_to_ising принимает матрицу QUBO и возвращает локальные поля $h_i$, связи $J_{ij}$ и константный сдвиг.
5. Ожидание гамильтониана
Функция expectation_value вычисляет $\langle \psi | H | \psi \rangle$, суммируя вклады от каждого члена Паули-Z и связей Z-Z.
6. Цикл оптимизации VQE
Мы используем оптимизатор Нелдер-Мида (метод нисходящего симплекса) — безградиентный метод, подходящий для зашумлённых целевых функций.
7. Построение портфеля
После сходимости VQE оптимальная бинарная строка извлекается измерением конечного состояния. Бинарная строка декодируется обратно в веса портфеля.
Оптимизация криптопортфеля на Bybit
Мы применяем VQE-оптимизатор к портфелю из четырёх основных криптовалют, торгуемых на Bybit:
| Актив | Тикер | Роль |
|---|---|---|
| Bitcoin | BTC/USDT | Средство сбережения, относительно низкая волатильность |
| Ethereum | ETH/USDT | Платформа смарт-контрактов |
| Solana | SOL/USDT | Высокопроизводительный L1 |
| BNB | BNB/USDT | Токен биржи |
Конвейер данных
- Получить дневные данные свечей (kline) через публичный API Bybit
- Вычислить дневные логарифмические доходности для каждого актива
- Оценить вектор средней доходности и ковариационную матрицу
- Построить матрицу QUBO с параметром неприятия риска $\gamma = 0.5$
Конфигурация VQE
- Кубиты: 8 (2 бита на вес актива для 4 активов)
- Слоёв анзаца: 2
- Параметры: 32 угла вращения
- Оптимизатор: Нелдер-Мид, 500 итераций
- Штрафной множитель: $\lambda = 2.0$ для бюджетного ограничения
Сравнение результатов: классический vs квантово-вдохновлённый
Мы сравниваем три стратегии:
1. Равновесный эталон
Каждый актив получает 25% аллокации. Это наивный базовый уровень.
2. Классическая среднее-дисперсия (аналитическая)
Решение непрерывной оптимизации Марковица с помощью обращения матрицы.
3. VQE квантово-вдохновлённый (дискретный)
Запуск симуляции VQE с 2-битной дискретизацией. Веса ограничены кратными $1/3$.
Типичные результаты
| Стратегия | BTC | ETH | SOL | BNB | Доходность | Риск | Шарп |
|---|---|---|---|---|---|---|---|
| Равные веса | 0.25 | 0.25 | 0.25 | 0.25 | Базовый | Базовый | Базовый |
| Классич. MV | Варьируется | Варьируется | Варьируется | Варьируется | Выше | Ниже | Лучший |
| VQE Дискретный | 0.33 | 0.33 | 0.00 | 0.33 | Сопоставимый | Чуть выше | Хороший |
VQE-подход находит хорошие дискретные аллокации, близко аппроксимирующие непрерывный оптимум. Дискретизация естественно создаёт форму регуляризации — предотвращая экстремальные аллокации, возникающие из ошибок оценки ковариационной матрицы.
Ключевые выводы
-
VQE естественно отображается на оптимизацию портфеля через QUBO-кодирование дискретизированных задач среднего-дисперсии. Основное состояние соответствующего гамильтониана Изинга кодирует оптимальные веса портфеля.
-
Формулировка QUBO нативно обрабатывает дискретные ограничения, что делает её идеальной для реальных портфельных задач с ограничениями кардинальности, минимальными размерами позиций и бинарными решениями включения/исключения.
-
Классическая симуляция VQE служит квантово-вдохновлённой эвристикой, которая валидирует подход и обеспечивает путь миграции на квантовое оборудование.
-
Дизайн анзаца критически важен — слишком мелкий, и схема не может выразить оптимальное состояние; слишком глубокий, и оптимизация страдает от бесплодных плато.
-
Для криптопортфелей на Bybit VQE-подход создаёт осмысленные дискретные аллокации, захватывающие основную структуру непрерывного оптимума.
-
Rust обеспечивает отличную платформу для квантового моделирования — его производительность и система типов хорошо подходят для численно-интенсивных операций линейной алгебры.
-
Разрыв между квантовым обещанием и текущей реальностью остаётся значительным, но алгоритмическая база зрелая. Когда появятся отказоустойчивые квантовые компьютеры, те же формулировки QUBO/VQE перенесутся напрямую.