Динамическая подгонка волатильности: подход глубокого обучения с подкреплением

5.5/10

Эмманюэль Гнабейо, Омар Каркар, Имад Идбуфус · Лондон; Каркар и Идбуфус — Citi · 16 октября 2024

Оригинал: Gnabeyeu, E., Karkar, O. and Idboufous, I. «Solving The Dynamic Volatility Fitting Problem: A Deep Reinforcement Learning Approach», 2024 — arxiv.org/abs/2410.11789 (PDF).

Оригинал по лицензии CC BY-NC-SA 4.0; перевод выполнен на её условиях.

Ключевые слова: подгонка волатильности; непрерывные пространства состояний и действий; actor-critic; DDPG; SAC; онлайн-обучение.

Аннотация

Подгонка волатильности — ядро бизнеса акционных деривативов. Степени свободы кодировки поверхности (параметризация, плотность, диффузия) задают детерминированными правилами. Это эффективно, но не умеет учиться на смене режимов и находить неочевидные оптимумы. Авторы меняют парадигму: варианты DDPG и SAC дают подгонку не хуже стандартных оптимизаторов. RL естественно берёт сложные целевые функции и изначально заточен под онлайн-обучение.

1. Введение

Имплицитную волатильность кодируют функциональной формой с небольшим набором квазиортогональных параметров. Так описывают движения и деформации поверхности и строят сигналы для прайсинга и риска.

Коэффициенты находят калибровкой — обычно автоматическим алгоритмом под заранее заданную цель: попасть в mid по всем видимым экспирациям без арбитража. Индустриальные фиттеры учитывают ликвидность, выбросы котировок, отчётность и макро, но все они жёсткие: набор правил на все режимы. За пределами своей области они не ищут оптимум и не копят опыт — каждый выход выбрасывается.

Здесь фиттер — RL-агент в стохастической среде: (a) состояние — наблюдаемые котировки и предыдущая поверхность; (b) действие — бампы параметров; (c) награда — минус хорошо заданной ошибки. Плюсы: exploration/exploitation, replay buffer с историческими и синтетическими траекториями, обучение в движущемся рынке и более стабильные коэффициенты.

Actor-critic агент подстраивается к динамике рынка почти без ручного вмешательства — гибче детерминированных правил. Дальше: §2 задача и альтернативы; §3 actor-critic; §4 пространства состояний и действий; §5 игрушечные рынки растущей сложности; §6 числа.

2. Подгонка волатильности

Кодировок много: замкнутые параметрики дисперсии/волатильности на страйке [27]; модель имплицитной плотности [26]; диффузия под каждый expiry. Обзор построения IVS — [30]. Здесь — параметрическая функция дисперсии; те же приёмы калибровки масштабируются на другие кодировки. Коэффициентов бывает от нескольких до ~20 у части провайдеров. Чтобы не раздувать пространство действий, берут 3 параметра и сравнивают с классическим оптимизатором: трёх степеней свободы часто мало, чтобы выгнуть модельную волу под рынок.

Цель обычно — mid (агрегированные bid/ask), плюс арбитраж, гладкость терм-структуры, стабильность между соседними фитами. Награда при переносе в model-free RL критична. Классический цикл: данные чистят, коэффициенты двигают к mid на выбранных страйках, численный bias снимают.

Альтернатива 1 — прогноз. Вход $x$ — всё доступное в $t$; выход $\Delta y$ — изменение параметров за $t\to t+\epsilon$; сеть учит $\Delta y=\varphi(x)$. Минусы: обучающая выборка покрывает конечное число режимов (нужна частая перекалибровка или огромный датасет); разметка $x$ фиксирует цель (например, ошибка к mid) — сеть не переиспользуется при другой цели.

Альтернатива 2 — DRL. Актор даёт прямую связь $x\mapsto\Delta y$. Replay buffer — динамический train set, следящий за рынком. Если цель сложная (P&L стола) и стандартный оптимизатор тяжёлый (много переоценок), RL учится по дешёвым подсказкам из риск-систем. Обучение офлайн (вне сессии) или онлайн после прогрева.

3. Предварительные сведения

3.1. Основы RL

Агент в полностью наблюдаемой среде $\mathcal E$, MDP $(\mathcal S,\mathcal A,r,p)$. Состояние $s_t\in\mathcal S\subset\mathbb R^d$, действие $a_t\in\mathcal A\subset\mathbb R^n$, скалярная награда $r_t=r(a_t,s_t)$, переходы $p(s_{t+1}\mid s_t,a_t)$. Политика $\pi:\mathcal S\to\mathcal A$ (детерминированная) или распределение на действиях. $\rho_\pi$ — маргиналы траекторий. Дисконт $\gamma\in[0,1]$: \[ R_t=R^\pi(s_t)=\sum_{i=t}^{T}\gamma^{i-t}r(s_i,a_i),\qquad Q^\pi(s,a)=\mathbb E^\pi[R_t\mid s_t=s,a_t=a], \] \[ V^\pi(s)=\mathbb E^\pi[R_t\mid s_t=s]=\max_{a\in\mathcal A}Q^\pi(s,a). \] Оптимум $V^*(s)=\sup_\pi V^\pi(s)$; уравнение Беллмана \[ V^*(s)=\sup_{a\in\mathcal A}\Bigl\{\mathbb E[r(s,a)]+\gamma\mathbb E_{s'\sim p(\cdot\mid s,\pi(s))}[V^*(s')]\Bigr\}. \] Решают value iteration, policy iteration или actor-critic.

3.2. DDPG и SAC

В непрерывных высокоразмерных действиях табличные методы ломаются [1]; берут $Q(s,a;\theta^Q)$, $V(s,\theta^V)$, $\pi(s,a;\theta^\pi)$ — нейросети (прил. B.1–B.2). Actor-critic чередует оценку политики и её улучшение. Replay buffer — прил. B.3.

Рисунок 1. Каркас DDPG: актор и критик
Рисунок 1. DDPG: актор (решения, sampled policy gradient) и критик (улучшение, лосс Беллмана).

DDPG [10]: model-free off-policy, DQN [25] плюс детерминированный DPG $\pi^D$. Критик учит $Q$ с Беллманом \[ Q(s_t,a_t)=r(s_t,a_t)+\gamma Q\bigl(s_{t+1},\pi^D(s_{t+1},\theta^\pi)\bigr). \] Исследование отдельно от обучения: \[ a_t\sim\pi^D(s_t,\theta^\pi)+\mathcal N, \] $\mathcal N$ — OU или аддитивный гаусс $\mathcal N(0,\sigma^2 I)$. Здесь — гаусс с убывающей $\sigma$. Алгоритм чувствителен к гиперпараметрам.

SAC [11]: максимум энтропии плюс награда. Off-policy переиспользует данные; энтропия стабилизирует и усиливает exploration. Цель \[ J_\pi=\sum_{i=t}^{T}\mathbb E_{(s_i,a_i)\sim\rho_\pi}\bigl[\gamma^{i-t}\bigl(r(s_i,a_i)+\alpha\mathcal H(\pi(\cdot\mid s_i))\bigr)\bigr]. \] Температура $\alpha$ задаёт стохастичность. Актор $\pi_\phi$ проектируют на семейство $\Pi$ через KL к Больцману критика $Q_\theta$. Репараметризация $a_t=\mu_\phi(s_t)+\epsilon_t\sigma_\phi(s_t)$, $\epsilon_t\sim\mathcal N(0,I)$. Оптимальную $\alpha$ учат как в [13]: энтропия — ограничение $\mathbb E[-\log\pi_t(a_t\mid s_t)]\ge\bar{\mathcal H}$, $\bar{\mathcal H}=-\dim(\mathcal A)$; Лагранж [33] \[ \alpha_t^*=\arg\min_{\alpha_t}\mathbb E_{a_t\sim\pi_t^*}\bigl[-\alpha_t\log\pi_t^*(a_t\mid s_t;\alpha_t)-\alpha_t\bar{\mathcal H}\bigr]. \] Обзоры RL в финансах: [1, 7, 23, 17, 19, 20, 21].

4. Постановка в RL

4.1. Задача

Фиксируют expiry $T$. В момент $t_i$ рынок — котировки $\{\sigma^{\mathrm{Ask}}_{\mathrm{C/P}}(t_i,\kappa_j),\sigma^{\mathrm{Bid}}_{\mathrm{C/P}}(t_i,\kappa_j)\}_{j=1}^n$ по монеyness $\kappa_j$. Слайс кодируют $\Psi^{\mathrm{vol}}_{\vec\theta}$ с $K$ параметрами $\vec\theta_{t_i}$. Классика: найти $\vec\theta^*_{t_{i+1}}$, близкий к mid \[ \sigma^{\mathrm{Mid}}(t_i,\kappa_j)=\frac{\sigma^{\mathrm{Ask}}(t_i,\kappa_j)+\sigma^{\mathrm{Bid}}(t_i,\kappa_j)}{2}. \] Типичный пример — SVI Gatheral [28, 26, 29]: \[ \Psi^{\mathrm{SVI}}_{\vec\theta}(k)^2=a+b\bigl(\rho(k-m)+\sqrt{(k-m)^2+\sigma^2}\bigr),\quad \vec\theta=(a,b,\rho,m,\sigma). \] В RL цель шире mid: бамп $\Delta\vec\theta_{t_i}$ максимизирует выбранную награду. Старт — предыдущий фит как prior.

Рисунок 2. Агент бампает поверхность вслед за рынком
Рисунок 2. $t_i$: prior (зелёный) между bid/ask. После сдвига рынка старая поверхность отстаёт от mid (пунктир); агент бампает параметры — новая поверхность (фиолетовый).

Состояние и действие. Непрерывное состояние \[ s_{t_i}=\bigl(\sigma^{\mathrm{Bid}}(t_i,\kappa_j),\,\sigma^{\mathrm{Ask}}(t_i,\kappa_j),\,\theta^1_{t_{i-1}},\ldots,\theta^K_{t_{i-1}}\bigr)_{j\in[1,n]}\in\mathbb R^N, \] $N\ge 2n+K$. Альтернатива: mid и спред $\sigma^{\mathrm{spread}}=\sigma^{\mathrm{Ask}}-\sigma^{\mathrm{Bid}}$. Цикл: агент видит котировки и старые $\vec\theta_{t_i}$; берёт $a_{t_{i+1}}=\Delta\vec\theta_{t_{i+1}}$; получает $r$; новый слайс становится следующим состоянием. Действия в $\mathbb R^K$ — непрерывны.

Награды — минус ошибки фита $r(s_{t_i},a_{t_i}=\Delta\vec\theta_{t_i})=-\xi(\vec\theta_{t_i})$: \[ \xi_{\mathrm{MSE}}=\sum_{j=1}^n\bigl(\sigma^{\mathrm{Mid}}(t_i,\kappa_j)-\Psi^{\mathrm{vol}}_{\vec\theta}(\kappa_j)\bigr)^2, \] \[ \xi_{\mathrm{BMSE}}=\sum_{j=1}^n \mathrm{vega}_{BS}(\kappa_j)\bigl(\sigma^{\mathrm{Mid}}-\Psi^{\mathrm{vol}}_{\vec\theta}(\kappa_j)\bigr)^2, \] \[ \xi_{\mathrm{SMSE}}=\sum_{j=1}^n\Bigl(\frac{\sigma^{\mathrm{Mid}}-\Psi^{\mathrm{vol}}_{\vec\theta}(\kappa_j)}{\sigma^{\mathrm{spread}}(t_i,\kappa_j)}\Bigr)^2. \] MSE бьёт крупные отклонения; BMSE — около ATM; SMSE — узкие спреды. Можно добавить ликвидность, макро, терм-структуру, стабильность.

4.2. Алгоритмы

\[ Q^\pi(s_{t_i},a_{t_i})=-\sum_{k=t_i}^{T}\mathbb E_{(s_k,a_k)\sim\rho_\pi}\bigl[\gamma^{k-t_i}\xi(\vec\theta_k)\bigr]. \] Исследование гасят степенным убыванием $\sigma$ гаусса (и температуры SAC). В статике и sequential в буфер кладут только переходы лучше худшего в памяти; в динамике вытесняют самые старые. Минибатч — кортежи $(s,a,r,s')$. Масштаб признаков неизвестен при оптимальной политике — batch normalization / running mean-std [24]. Гиперпараметры — прил. D. Шум — гаусс, не OU: нет автокорреляции.

Рисунок 3. Replay buffer и шум в DDPG
Рисунок 3. Replay memory и шум DDPG в статике и sequential: $\theta+\epsilon$, хорошие переходы оставляют, плохие отсекают.

DDPG, вариант. Инициализация актора $\pi^D(s;\theta)$ и критика $Q(s,a;\phi)$, таргеты Polyak, пустой буфер. Старт — плоская вола. На шаге $t$: бампы $a_t\sim\pi^D+\epsilon_t$, $\epsilon_t\sim\mathcal N(0,\sigma_n^2)$, $\sigma_n=\max(\sigma_0(1-n/N)^4,\sigma_{\min})$; исполняют и детерминированный, и noisy ход; в буфер — «умно»; минибатч; таргет $Y_i=r_i+\gamma\bar Q(s_{i+1},\bar\pi^D)$; критик MSE, актор — sampled policy gradient; таргеты $\bar\phi\leftarrow\tau\phi+(1-\tau)\bar\phi$. Учёбу выключают, когда награда (или средняя на evaluation) выше порога $R_0$.

SAC, вариант. Два soft-$Q$, чтобы снять положительное смещение; $\alpha$ учат по (10); $\bar{\mathcal H}=-K$. Сэмпл $a_t=\mu_\phi(s_t)+\epsilon_t\sigma_\phi(s_t)$; таргет $y_i=r_i+\gamma\bigl(\bar Q_\theta(s_{i+1},a_{i+1})-\alpha\log\pi(a_i\mid s_i)\bigr)$; оба критика MSE, актор — entropy-regularized loss, $\alpha$ — дуальная цель; Polyak по двум таргетам.

5. Игрушечные рынки

Синтетика под реальные конфигурации, сложность растёт.

5.1. Статика. Котировки не движутся. Старт — плоская вола, эпизод из одного шага. Состояние вырождено, действий бесконечно. Цель — сразу угадать бампы к mid.

5.2. Sequential. Котировки всё ещё статичны, но эпизод ~50 шагов (порядок фитов за день, если раз в 10 мин). Состояние и действие бесконечны. Дисконт толкает угадать сдвиг с первого шага.

5.3. Квазидинамика. Mid и спреды — случайные величины с разными маргиналями и общим joint (нормали + гауссова копула), моменты калиброваны по реальному торговому дню. Размерность состояния выше: котировки меняются каждый шаг. Успех — не попасть в одну кривую, а сопровождать рынок много шагов.

Три фазы: (1) train — сетка гиперпараметров, evaluation без шума и без апдейтов сетей, порог остановки; (2) validation — несколько сидов, лучший агент; (3) test — один эпизод лучшего.

6. Результаты

DDPG и SAC — варианты под фит, не «ванильные» статьи. Бенчмарк — классический оптимизатор. Три конфигурации: skew, high smile, inverse smile.

6.1. Статический рынок (MSE)

Таблица 1. DDPG, финальная награда MSE (статика).
SkewHigh SmileInv. Smile
Бенчмарк−0,011913−0,000022−0,000044
Среднее по сидам−0,012145−0,000163−0,000315
Таблица 2. SAC, финальная награда MSE (статика).
SkewHigh SmileInv. Smile
Бенчмарк−0,011913−0,000022−0,000044
Среднее по сидам−0,011945−0,000221−0,001800

Награды агентов близки к оптимизатору, стабильны по конфигурациям. SAC на inverse smile чуть хуже (−0,0018 против −4,4×10−5 у бенча) — трёх параметров мало на эту форму.

Рисунок 4. High smile, DDPG
Рисунок 4. High smile, DDPG. Зелёный — лучший из последних 1000 эпизодов, синий — среднее последних 1000, красный — бенчмарк, точки — mid. Кривые почти совпадают.
Рисунок 6. Skew, DDPG
Рисунок 6. Skew, DDPG, 5 сидов, степенное затухание шума. Та же легенда. Рис. 5 и 7 — те же конфигурации для SAC; рис. 8–9 — inverse smile. Паттерн тот же: лучший эпизод лежит на mid, среднее чуть шумнее.

Вега-взвешенный MSE (статика) — прил. A.1: DDPG на skew даже лучше бенча (−0,0114 против −0,0217); SAC на high smile слабее (−0,0037 против −4,1×10−5).

6.2. Sequential (MSE)

Таблица 3. DDPG, финальная награда MSE (sequential, ~50 шагов).
SkewHigh SmileInv. Smile
Бенчмарк−0,011913−0,000022−0,000044
Среднее по сидам−0,017231−0,005591−0,001318
Таблица 4. SAC, финальная награда MSE (sequential).
SkewHigh SmileInv. Smile
Бенчмарк−0,011913−0,000022−0,000044
Среднее по сидам−0,017717−0,000614−0,001805

Порядок тот же, что у оптимизатора; зазор чуть больше, чем в статике (агент платит за то, что учится в эпизоде). На рис. 10, 13, 16 награда выходит на плато с первого-четвёртого шага — дисконт сработал. Снимки 11–12, 14–15, 17–18: зелёный — лучший из последних 50 эпизодов, синий — среднее финальных слайсов.

Рисунок 13. Sequential smile: награда и поверхность, DDPG
Рисунок 13. Sequential, smile, DDPG: награда с −0,30 к нулю за 2–4 шага; слайсы vol0…vol17 ложатся на mid. То же на skew (рис. 10) и inverse smile (рис. 16).

SAC сходится быстрее и ровнее по средам; энтропия снижает переобучение, но дороже (стохастическая политика + регуляризация). Для тонкого непрерывного контроля в квазидинамике авторы склонны к DDPG: проще тюнить, меньше оверхед.

6.3. Квазидинамика (DDPG)

Две бумаги: широкий и узкий спред. Эпизод 50 шагов. DDPG медленный и капризный к гиперпараметрам — сетка обязательна.

Train. Гиперкуб (learning rates, шум волы, размер буфера, batch, …). Evaluation без случайности. Порог остановки — лучшая средняя награда по сетке (рис. 20). Рис. 19 — согласованность по сидам. Рис. 21 — default vs тюненые гиперпараметры: тюнинг даёт заметный скачок.

Validation. Несколько агентов на разных сидах. Рис. 22 (широкий спред): часть агентов (Agent 5) порог не берёт; кривая шага 25 — smirk между bid/ask. Рис. 23 — узкий спред, тот же протокол.

Рисунок 22. Валидация, широкий спред, DDPG
Рисунок 22. Валидация, широкий спред: награды агентов 1–5 за 50 шагов и слайс шага 25 против mid/ask/bid. Agent 5 порог не берёт.

Test. Лучший validation-агент, 50 шагов, другой набор сидов. Рис. 24–25: и широкий, и узкий спред — награда держится близко к оптимуму для данного числа параметров, поверхность сопровождает рынок. Запас есть: глубже сетка и лучше скоринг evaluation.

Рисунок 24. Тест, широкий спред, DDPG
Рисунок 24. Тест, широкий спред: награда и слайс выбранного шага. Рис. 25 — узкий спред, картина та же.

7. Заключение и перспективы

Model-free DRL для динамической подгонки в непрерывных $\mathcal S$ и $\mathcal A$. Подходит нативно: (a) exploration, (b) каталог прошлого опыта, (c) прогноз в больших пространствах. На игрушках растущей сложности — приемлемое качество против least squares / градиентного фита, которым трудно в нелинейных состояниях. Важны шейпинг награды и дизайн среды.

Задел под полностью AI-фиттер. Дальше — больше коэффициентов и стилизованные эффекты терм-структуры.

Благодарности. Equities Derivatives Markets Quantitative Analysis, Citigroup Global Markets Limited; особенно Truong Nguyen, Thomas Fouret, El Mostafa Ezzine.

Отказ. Личные взгляды авторов, не позиция Citi. Не продукт Citi Research.

Литература

Перевод: основной текст §§1–7, табл. 1–4, рис. 1–4, 6, 13, 22, 24. Приложения A–D опущены. · arXiv:2410.11789 · лицензия CC BY-NC-SA 4.0