Глава 240: VAE для поверхности волатильности
Введение
Поверхность волатильности отображает подразумеваемую волатильность как функцию цены исполнения (страйка) и времени до экспирации. Это один из важнейших объектов в ценообразовании деривативов и управлении рисками. Однако наблюдаемые рыночные котировки разрежены — опционы торгуются по дискретным страйкам и срокам погашения, оставляя большие участки поверхности ненаблюдаемыми. Традиционные методы интерполяции (кубические сплайны, SABR, SVI) навязывают параметрические предположения, которые могут не отражать истинный процесс генерации данных.
Вариационные автоэнкодеры (VAE) предлагают основанную на данных, непараметрическую альтернативу. VAE обучает низкоразмерное латентное представление поверхности волатильности, что позволяет:
- Достраивание поверхности: заполнение недостающих подразумеваемых волатильностей для некотируемых страйков и сроков погашения.
- Безарбитражная генерация: создание синтетических поверхностей, удовлетворяющих условиям отсутствия арбитража (без календарного спредового или бабочкового арбитража).
- Моделирование с учётом режимов: кодирование рыночных режимов (спокойный, стрессовый, трендовый) в латентном пространстве.
- Генерация сценариев: выборка новых правдоподобных поверхностей для стресс-тестирования и анализа рисков.
Ключевые концепции
Представление поверхности волатильности
Поверхность волатильности $\sigma(K, T)$ может быть дискретизирована на сетке из $N_K$ страйков и $N_T$ сроков погашения:
$$\mathbf{S} \in \mathbb{R}^{N_K \times N_T}$$
где $S_{i,j} = \sigma(K_i, T_j)$ — подразумеваемая волатильность при страйке $K_i$ и сроке погашения $T_j$.
Для подачи в нейронную сеть поверхность часто выражается через мани-несс (moneyness) $m = K / F$ (где $F$ — форвардная цена) и время до экспирации $\tau$, что даёт нормализованное представление, сравнимое для разных базовых активов и дат.
Архитектура VAE для поверхностей
VAE состоит из энкодера $q_\phi(z | \mathbf{S})$ и декодера $p_\theta(\mathbf{S} | z)$:
Энкодер: $$\mu, \log\sigma^2 = f_\phi(\mathbf{S})$$ $$z = \mu + \sigma \cdot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I)$$
Декодер: $$\hat{\mathbf{S}} = g_\theta(z)$$
Модель обучается максимизацией вариационной нижней границы (ELBO):
$$\mathcal{L}(\theta, \phi; \mathbf{S}) = \mathbb{E}{q\phi(z|\mathbf{S})}[\log p_\theta(\mathbf{S}|z)] - D_{KL}(q_\phi(z|\mathbf{S}) | p(z))$$
Первый член — это потеря реконструкции (насколько хорошо декодированная поверхность соответствует входной), а второй — регуляризатор KL-дивергенции, удерживающий латентное распределение близко к стандартному нормальному приору.
Условия отсутствия арбитража
Валидная поверхность подразумеваемой волатильности должна удовлетворять:
-
Отсутствие бабочкового арбитража: цена колл-опциона должна быть выпуклой по страйку: $$\frac{\partial^2 C}{\partial K^2} \geq 0$$
-
Отсутствие календарного спредового арбитража: полная подразумеваемая дисперсия должна быть неубывающей по сроку погашения: $$\sigma^2(K, T_1) \cdot T_1 \leq \sigma^2(K, T_2) \cdot T_2 \quad \text{для } T_1 < T_2$$
Эти ограничения могут быть включены в функцию потерь VAE в виде штрафных членов:
$$\mathcal{L}{total} = \mathcal{L}{ELBO} + \lambda_{butterfly} \cdot \mathcal{L}{butterfly} + \lambda{calendar} \cdot \mathcal{L}_{calendar}$$
Beta-VAE для дизентанглемента
$\beta$-VAE модифицирует ELBO с весовым коэффициентом $\beta > 1$ на KL-члене:
$$\mathcal{L}{\beta} = \mathbb{E}[\log p\theta(\mathbf{S}|z)] - \beta \cdot D_{KL}(q_\phi(z|\mathbf{S}) | p(z))$$
Более высокое $\beta$ поощряет более разделённые латентные измерения, где отдельные латентные переменные соответствуют интерпретируемым характеристикам поверхности:
- Уровень: общий уровень волатильности (ATM vol)
- Скос (skew): асимметрия между OTM путами и OTM коллами
- Временная структура: наклон ATM волатильности по срокам погашения
- Кривизна (smile): выпуклость улыбки волатильности
Подходы машинного обучения
Свёрточный VAE
Когда поверхность волатильности представлена как 2D-сетка (moneyness × maturity), свёрточные слои являются естественным выбором:
- Энкодер: слои Conv2D с шагом для уменьшения разрешения поверхности, за которыми следуют полносвязные слои для получения $\mu$ и $\log\sigma^2$.
- Декодер: полносвязные слои, за которыми следуют транспонированные слои Conv2D для реконструкции сетки поверхности.
Свёрточные архитектуры улавливают локальную структуру — волатильности соседних страйков и сроков погашения обычно коррелированы.
Условный VAE (CVAE)
Условный VAE обусловливается на вспомогательной информации $c$ (например, уровень спот-цены, VIX, процентная ставка, рыночный режим):
$$q_\phi(z | \mathbf{S}, c), \quad p_\theta(\mathbf{S} | z, c)$$
Это позволяет генерировать поверхности, обусловленные на конкретных рыночных состояниях, что ценно для анализа сценариев: «Как выглядела бы поверхность, если бы VIX удвоился?»
Достраивание поверхности
Для неполных поверхностей (с пропущенными точками сетки) VAE может обучаться с маскированной потерей реконструкции:
$$\mathcal{L}{recon} = \sum{(i,j) \in \text{observed}} \left( S_{i,j} - \hat{S}_{i,j} \right)^2$$
При инференсе декодер заполняет все точки сетки, предоставляя полную поверхность из частичных наблюдений.
Инженерия признаков
Ключевые признаки для обусловливания VAE:
| Признак | Описание |
|---|---|
| ATM подразумеваемая волатильность | Уровень волатильности «при деньгах» |
| 25-дельта скос | $\sigma_{25\Delta P} - \sigma_{25\Delta C}$ |
| 25-дельта бабочка | $\frac{\sigma_{25\Delta P} + \sigma_{25\Delta C}}{2} - \sigma_{ATM}$ |
| Наклон временной структуры | $\sigma_{ATM,6M} - \sigma_{ATM,1M}$ |
| VIX / DVOL | Общерыночный индекс волатильности |
| Отношение реализованной волатильности | $\sigma_{realized} / \sigma_{implied}$ |
| Доходность спота | Недавняя доходность базового актива |
Применения
- Ценообразование опционов: генерация полных поверхностей из разреженных рыночных котировок для оценки экзотических опционов.
- Управление рисками: выборка поверхностей из латентного пространства для VaR и стресс-тестирования.
- Торговля относительной стоимостью: обнаружение неверных оценок путём сравнения наблюдаемой рыночной поверхности с «справедливой» поверхностью, реконструированной VAE.
- Обнаружение режимов: кластеризация латентных представлений для идентификации различных режимов волатильности.
- Хеджирование: использование латентных факторов как инструментов хеджирования (хеджирование от «движений скоса» или «сдвигов уровня»).
Реализация на Rust
Реализация на Rust в rust/ предоставляет:
- VolSurface: структура, представляющая дискретизированную поверхность подразумеваемой волатильности на сетке moneyness × maturity.
- VAEModel: VAE с настраиваемой архитектурой энкодера/декодера, включая поддержку $\beta$-VAE.
- ArbitrageChecker: функции для проверки условий отсутствия бабочкового и календарного спредового арбитража.
- SurfaceGenerator: генерация синтетических поверхностей волатильности с использованием модели SABR для обучающих данных.
- BybitClient: получение данных по BTC-опционам с Bybit V5 API для построения реальных поверхностей подразумеваемой волатильности.
Интеграция с Bybit API
Реализация получает данные по криптовалютным опционам с Bybit для построения реальных поверхностей волатильности:
- Эндпоинт:
/v5/market/tickers?category=option&baseCoin=BTC - Данные: подразумеваемые волатильности, страйки и экспирации для BTC-опционов
- Обработка: группировка опционов по экспирации, построение сетки поверхности, нормализация к moneyness
Ссылки
-
Variational Autoencoders for Completing Volatility Surfaces
- URL: https://www.mdpi.com/1911-8074/18/5/239
- Год: 2025
-
Controllable Generation of Implied Volatility Surfaces with VAEs
- URL: https://arxiv.org/abs/2509.01743
- Год: 2025
-
Deep Learning Volatility: A Deep Neural Network Perspective on Pricing and Calibration in (Rough) Volatility Models
- Bayer, Horvath, Muguruza, Stemper, Tobia (2019)
-
Arbitrage-Free Regularization of Neural Network Models
- Ackerer, Tagasovska (2020)
-
Generative Adversarial Networks for Financial Trading Strategies Fine-Tuning and Combination
- Koshiyama, Firoozye, Treleaven (2021)