Reinforcement Learning for Optimal Execution when Liquidity is Time-Varying
Andrea Macrì (corresponding author), Fabrizio Lillo · Scuola Normale Superiore, Pisa; Dipartimento di Matematica, University of Bologna
Оригинал: Macrì, A. and Lillo, F. «Reinforcement Learning for Optimal Execution when Liquidity is Time-Varying», v2, 20 февраля 2024 — arxiv.org/abs/2402.12049 (PDF).
Рисунки воспроизведены из оригинальной публикации.
Ключевые слова: Optimal Execution; Reinforcement Learning; Double Deep Q-Learning; Time-Varying Liquidity; Almgren–Chriss Model.
Аннотация
Оптимальное исполнение — важная задача любого трейдера. Большинство решений опираются на допущение постоянного market impact, тогда как ликвидность известна как динамическая величина. Модели с time-varying ликвидностью обычно предполагают, что она наблюдаема, хотя на практике ликвидность латентна и трудно измерима в реальном времени. В работе показано, что Double Deep Q-learning — форма reinforcement learning на нейросетях — способен выучить оптимальные торговые политики при time-varying ликвидности. Рассматривается каркас Almgren–Chriss с temporary и permanent impact, параметры которых следуют нескольким детерминированным и стохастическим динамикам. На обширных численных экспериментах обученный алгоритм восстанавливает оптимальную политику там, где аналитическое решение известно, и превосходит бенчмарки и аппроксимированные решения там, где оно недоступно.
1. Введение
Задача оптимального исполнения финансовых сделок изучается не менее двух десятилетий. На основе работ Bertsimas и Lo (1998) [5] и Almgren и Chriss (2000) [3] идея разбиения крупных заявок на продажу (покупку) на более мелкие сделки с учётом рисков и выгод широко применяется и развивается через математическую оптимизацию. От классической, но упрощённой постановки Almgren–Chriss — арифметическое броуновское движение mid-price с линейными permanent и temporary price impacts — литература перешла к более сложным моделям; примеры: [17, 16, 10, 12, 11, 6, 7, 15, 28]. Поскольку эти подходы опираются на конкретные модели market impact, которые могут более или менее точно описывать реальные данные, всё чаще используется непараметрический подход на базе reinforcement learning (RL) для задач оптимальной ликвидации. Как описано в [33], RL моделирует агента, который последовательно учит оптимальные политики в обобщённой среде, максимизируя функцию награды относительно будущих дисконтированных кумулятивных наград по действиям на каждом шаге. Q-learning — один из наиболее распространённых RL-алгоритмов. Табличный Q-learning впервые применили [26] в контексте оптимального исполнения: табличный Q-агент решает, сколько акций продать в заданном временном окне лимитными ордерами; объём и цена исполнения зависят от оставшегося времени, остатка инвентаря и рыночных цен. В [19] — гибридный аналитико-RL подход: от оптимального исполнения в духе Almgren–Chriss стилизованный агент на табличном Q-learning корректирует расписание исполнения, минимизируя награду, соответствующую Implementation Shortfall.
Более недавно, благодаря прогрессу в machine learning, таблицу поиска заменили глубокие нейросети — Deep Q-Learning (DQL) применяют к разным финансовым задачам: маркетмейкинг [1, 24], оптимизация портфеля [35], торговля [23, 34, 8, 20] и оптимальное исполнение [27, 13, 22, 21, 31]. Для оптимального исполнения важный вклад — Ning et al. (2021) [27]: алгоритм Double Deep Q-Network (DDQN), снимающий смещение в оценке Q-value традиционного DQL. Техника с двумя нейросетями (Q-network и target Q-network) повышает точность оценки политики. В [27] — каркас Almgren–Chriss без permanent impact и с постоянным (по времени и акциям) temporary impact. На реальных данных DDQN превзошёл TWAP в семи из девяти рассмотренных акций. Другие работы: [21] — DQL-стратегия на разных индексах; [13] — сравнение DDQN и PPO на искусственных данных; PPO и DDQN бьют TWAP, когда он не оптимален, и сопоставимы со slice-and-dice, когда TWAP оптимален.
Настоящая работа применяет RL к более реалистичной среде: ликвидность, описываемая коэффициентами temporary и permanent impact, не постоянна, а меняется во времени. Ликвидность — динамическая и латентная переменная. Некоторые работы (например [4] и [14]) рассматривают оптимальное исполнение при time-varying ликвидности, но предполагают, что параметры модели известны, тогда как их оценка в реальном времени обычно очень сложна и зашумлена [9, 25]. Одновременная оценка impact-параметров и коррекция торговой стратегии крайне трудна; здесь в симулированной среде проверяется, может ли RL справиться с этой задачей. Рассматривается рынок Almgren–Chriss с линейными, но time-varying permanent и temporary коэффициентами при разных динамиках — от простых детерминированных до стохастических процессов. Когда замкнутое аналитическое решение известно, RL находит очень близкие стратегии с близкими издержками. Интереснее случаи, когда решение неизвестно или известно лишь при низкой вариабельности параметров: тогда RL превосходит бенчмарки. Цель — обучить «модельно-устойчивого» агента, адаптирующего стратегию к текущему профилю ликвидности, используя минимум информации в виде признаков для нейросетей и агностически выбирая корректную модель и расписание продаж.
Структура: раздел 2 — базовые модели и алгоритм DDQL; раздел 3 — основные результаты; раздел 4 — выводы и направления дальнейших исследований.
2. Методы
Трейдер хочет разгрузить портфель из $q_0$ акций в окне $[0, T]$. Цель — оптимально разгрузить портфель с бенчмарком arrival price, т.е. минимизировать разницу между начальной и конечной стоимостью портфеля. Торговля влияет на цену через permanent и temporary impact; их величина и динамика меняются между экспериментами. Сначала динамика цены следует классической модели Almgren–Chriss [3], затем результаты сравниваются с агентом на DDQL; далее среда усложняется для проверки возможностей RL. Раздел вводит базовые финансовые модели и алгоритм DDQL.
2.1. Модели market impact
Базовая модель. Базовая модель — Almgren и Chriss [3] (A&C). Трейдер с начальным инвентарём $q_0$ акций разгружает портфель за окно $[0, T]$, разбитое на $N$ подинтервалов длины $\tau = T/N$. При $t = 1, 2, \ldots, N$:
\[ S_t = S_{t-1} - g\!\left(\frac{v_t}{\tau}\right) + \sigma\tau^2\xi, \tag{1} \] \[ \tilde{S}_t = S_{t-1} - h\!\left(\frac{v_t}{\tau}\right) \]Здесь $S_t$ — mid-price в момент $t$; диффузионная часть — $\xi$ (стандартная нормальная) умноженная на волатильность $\sigma$. Число проданных акций на интервале $[t-1, t]$ длины $\tau$ — $v_t$. Mid-price impacted permanent term $g(v_t/\tau)$, линейный и постоянный: $g(v_t/\tau) = \kappa\, v_t/\tau$. Цена, получаемая трейдером $\tilde{S}_t$, равна mid-price минус temporary impact, также линейный и постоянный: $h(v_t/\tau) = \tilde{\alpha}\, v_t/\tau$; далее используется и моделируется $\alpha = \tilde{\alpha}\tau$. Нужно найти оптимальное $v_t$ на каждый подинтервал, минимизируя функционал Implementation Shortfall (IS):
\[ \mathrm{IS} = S_0 q_0 - \sum_{t=1}^{N} \tilde{S}_t v_t \tag{2} \]Поскольку IS стохастичен, A&C используют mean-variance оптимизацию (или эквивалентно максимизацию CARA utility) с параметром неприятия риска $\lambda$. A&C показывают, что оптимальный остаток инвентаря $q_t^*$:
\[ q_t^* = q_0 \frac{\sinh(\omega(T-t))}{\sinh(\omega T)}, \qquad \omega \text{ решает } 2(\cosh(\omega\tau)-1) = \frac{\lambda\sigma^2}{\tilde{\alpha}}\,\tau^2. \]В работе агент риск-нейтрален ($\lambda = 0$), поэтому в дискретном времени оптимальна стратегия TWAP: продавать инвентарь с постоянной скоростью $v^* = q_0/N$, эквивалентно $q_t^* = (N-t)\, q_0/N$ для $t = 1, \ldots, N$.
Базовая модель с time-dependent impacts. Далее permanent и temporary impacts time-varying — более реалистичное допущение: на реальном рынке ликвидность переменна. Как обсуждается в [9], price impacts сильно зависят от времени суток и быстро реагируют на смену рыночных условий. Динамика impact обычно имеет детерминированную и стохастическую компоненты. В этой базовой модели — детерминированная динамика; в следующей — стохастическая.
Если оба impact time-varying, минимизируемый функционал аналогичен правой части (2), но с time-varying impacts:
\[ \sum_{t=1}^{N} \tilde{S}_t v_t = \sum_{t=1}^{N} (S_{t-2} - \kappa_{t-1} v_{t-1}) v_t - \sum_{t=1}^{N} \alpha_t v_t^2 \tag{3} \]Time-varying permanent impact: $g(v_t/\tau) = \kappa_t v_t/\tau$. Простейшая детерминированная динамика: $\kappa_t = \kappa_0 \pm \beta_\kappa \times t$. Time-varying temporary impact: $h(v_t) = \alpha_t v_t$, $\alpha_t = \alpha_0 \pm \beta_\alpha \times t$. Поскольку impacts должны быть положительными, параметры выбираются так, что $\kappa_t > 0$ и $\alpha_t > 0$ для всех $t$. Рис. 2 показывает динамику impact-параметров в экспериментах.
Оптимальное расписание в этом сценарии можно найти стандартными методами квадратичной оптимизации. Однако если динамика impacts неизвестна, слепое применение оптимизации может дать неэффективное расписание. Результаты DDQL сравниваются с каноническими методами при условии, что динамика известна заранее. Цель — проверить, выучил ли алгоритм корректную спецификацию обоих impacts без prior knowledge об их детерминированной динамике — «устойчивое» оптимальное исполнение агностическим способом.
Базовая модель со стохастическими impacts. Среда со стохастическими impacts. Совместное использование стохастических permanent и temporary impacts даёт больше свободы в моделировании ликвидности. Оба impact следуют square-root mean reverting процессу; параметры выбираются так, что impacts почти наверняка положительны, с положительной корреляцией между permanent и temporary. Стохастическая модель предложена Barger и Lorig (2019) [4]; приближённое решение — разложение Тейлора вокруг long-run mean. По [4], модель:
\[ dS_t = -\kappa_t \nu_t\, dt + \sigma\, dW_t \tag{4} \] \[ d\kappa_t = \lambda_\kappa(\theta_\kappa - \kappa_t)\, dt + \sigma_\kappa \sqrt{\kappa_t}\, dB_t^{(1)}, \qquad \tilde{S}_t = S_{t-1} - \alpha_t \nu_t \] \[ d\alpha_t = \lambda_\alpha(\theta_\alpha - \alpha_t)\, dt + \sigma_\alpha \sqrt{\alpha_t}\, dB_t^{(2)}, \qquad \langle B_t^{(1)}, B_t^{(2)} \rangle = \omega\, t \]$S_t$ — цена акции, $\tilde{S}_t$ — цена исполнения; $\lambda_\kappa$, $\theta_\kappa$ — скорость mean reversion и long-run mean permanent impact; $\lambda_\alpha$, $\theta_\alpha$ — то же для temporary impact. В момент $t$ торговая скорость $\nu_t$ (мгновенный объём программы продажи) при $\alpha_0 = \theta_\alpha$, $\kappa_0 = \theta_\kappa$:
\[ \nu_t = \left(\frac{1}{N-t} + \frac{\lambda_\kappa(\theta_\kappa - \kappa_t)}{6\kappa_t} + \frac{\lambda_\alpha(\theta_\alpha - \alpha_t)}{2\alpha_t}\right) q_t \tag{5} \]Уравнение (5) — возмущение TWAP-решения, оптимального при постоянном impact. Далее — дискретная версия: на каждом из $N$ шагов $t$ трейдер продаёт $v_t = \nu_t \tau$ акций; пути цены и impacts симулируются по (4).
2.2. Алгоритм DDQL
Deep Reinforcement Learning — парадигма, где агент на нейросетях учится взаимодействовать со средой, получая награды или штрафы. Цель агента — максимизировать кумулятивную награду, находя эффективную политику. Множества состояний, действий, наград и политик — $S$, $A$, $R$, $\Pi$. Алгоритм в состоянии $s_t \in S$ выбирает действие $a_t \in A$, переходит в $s_{t+1}$ и получает $r_t \in R$. Цель — оптимальная политика $\pi^* \in \Pi$, максимизирующая $\sum_{k=0}^{\infty} \gamma^k r_k$, где $\gamma \in (0, 1]$ — discount factor.
В работе Deep RL находит оптимальное расписание исполнения при разных time-varying impact. Используется Double Deep Q-Learning (DDQL) — model-agnostic решение задачи оптимального исполнения. Q-values — качество действий в каждом состоянии — получают через Q-nets. Double Deep Q-learning использует две сети: main Q-net ($Q_{\mathrm{main}}$) для выбора действий и target Q-net ($Q_{\mathrm{tgt}}$) для оценки состояний. Алгоритм проходит фазу exploration (случайные действия) и постепенно переходит к exploitation (действия по $Q_{\mathrm{main}}$). Для стабильности веса $Q_{\mathrm{tgt}}$ периодически синхронизируются с $Q_{\mathrm{main}}$. Обучение обновляет main net по прошлым состояниям, действиям и наградам из replay memory. Обучение — $M$ эпизодов, затем тест на $B$ эпизодах для оценки после exploration.
2.2.1. Настройка алгоритма для численных экспериментов
Агент продаёт портфель из $q_0$ акций в окне $[0, T]$; полная ликвидация за эпизод. Эпизод делится на $N$ шагов, $\tau = T/N$. На каждом шаге $t$ агент выбирает $v_t$ акций. Mid-price моделируется по (1), динамика impact-параметров зависит от рассматриваемого каркаса.
За $M$ train-эпизодов алгоритм через exploration-exploitation учит лучшую стратегию и обновляет веса Q-nets. В training phase — exploration и exploitation, управляемые $\epsilon \in (0, 1]$, убывающим в процессе обучения; изначально $\epsilon = 1$. В exploration действия $v_t$ выбираются случайно; в exploitation — по $Q_{\mathrm{main}}$.
Выбор действий и функция награды. В начале каждого интервала и эпизода агент знает ограниченно о среде. Состояния $s_t$ — кортежи $(q_t, t)$ или $(q_t, t, S_{t-1})$ (инвентарь, время и опционально mid-price). По текущему $\epsilon$ и случайному $\zeta \sim U(0,1)$: с вероятностью $\epsilon$ — exploration, $v_t$ из биномиального распределения с числом trials $q_t$ и вероятностью успеха $(N-t)^{-1}$ — в среднем TWAP; с вероятностью $1-\epsilon$ — exploitation, Q-optimal action, максимизирующее Q-value из $Q_{\mathrm{main}}$. Агент не может продать больше остатка инвентаря; покупки в программе продажи запрещены.
Каждые $m$ действий $\epsilon$ умножается на константу $c < 1$: $\epsilon \leftarrow \epsilon \times c$; при большом $M$ $\epsilon \to 0$ и алгоритм жадно эксплуатирует выученные веса. Правило выбора действия на шаге $t$ в training:
\[ \epsilon \in (0,1),\; \zeta \sim U(0,1), \qquad v_t = \begin{cases} \sim \mathrm{Bin}(q_t, \frac{1}{N-t}), & \text{если } \zeta \le \epsilon \\ \arg\max_{v' \in [0,q_t]} Q^M(s_t, v' \mid \theta_{\mathrm{main}}), & \text{иначе} \end{cases} \tag{6} \]После выбора действия награда:
\[ r_t = S_{t-1} v_t - \alpha v_t^2 \tag{7} \]Награды по шагам:
\[ r_1 = S_0 v_1 - \alpha v_1^2, \quad r_2 = (S_1 + \kappa v_1 + \mathcal{N}(0,\sigma)) v_2 - \alpha v_2^2, \quad \ldots, \quad r_N = (S_{N-1} + \kappa v_{N-1} + \mathcal{N}(0,\sigma)) v_N - \alpha v_N^2 \tag{8} \]На каждом $t$ агент видит награду от продажи $v_t$ акций и сохраняет $(s_t, r_t, v_t, s_{t+1})$. Цель — кумулятивно минимизировать награду, чтобы стоимость ликвидации была близка к начальной. Награда за эпизод: $-q_0 S_0 + \sum_{t=1}^{N} S_{t-1} v_t - \alpha v_t^2$.
Схема обучения. Переходы $(s_t, v_t, r_t, s_{t+1})$ хранятся в memory длины не более $L$. Когда в memory не менее $b$ переходов, начинается обучение Q-nets. Сэмплируются батчи длины $b$; для перехода $j$:
\[ y_t^j(\theta_{\mathrm{tgt}}) = \begin{cases} r_t^j, & \text{если } t = N; \\ r_t^j + \gamma Q_{\mathrm{tgt}}(s_{t+1}^j, v^* \mid \theta_{\mathrm{tgt}}), & \text{иначе} \end{cases} \tag{9} \]где $v^* = \arg\max_v Q_{\mathrm{main}}(s_t^j, v \mid \theta_{\mathrm{main}})$, $\gamma$ — discount factor (риск-аверсия). Минимизируется MSE между target $y(\theta_{\mathrm{tgt}})$ и $Q_{\mathrm{main}}$:
\[ L(\theta_{\mathrm{main}}, \theta_{\mathrm{tgt}}) = \frac{1}{b}\sum_{\ell=1}^{b}\left(y_t^\ell(\theta_{\mathrm{tgt}}) - Q_{\mathrm{main}}(s_t^\ell, v_t^\ell \mid \theta_{\mathrm{main}})\right)^2 \] \[ \theta_{\mathrm{main}}^* = \arg\min_{\theta_{\mathrm{main}}} L(\theta_{\mathrm{main}}, \theta_{\mathrm{tgt}}) \]Back propagation и gradient descent обновляют main network. Каждые $m$ действий $\epsilon$ уменьшается на фактор $c$, и $Q_{\mathrm{tgt}} \leftarrow Q_{\mathrm{main}}$. После обучения $B < M$ test-эпизодов; действия только по $Q_{\mathrm{main}}$. Ниже — результаты test phase.
Признаки Q-nets: $(q_t, t, v_t)$ или $(q_t, t, S_{t-1}, v_t)$, нормализованные в $[-1, 1]$ по [27]; нормализованные mid-prices $\bar{S}_t$ — min-max. Fully connected feed-forward сети: 5 слоёв по 30 hidden nodes, leakyReLU, оптимизатор ADAM. Параметры калибровки — табл. 1; алгоритм обучения — алгоритм 1.
| DDQL parameters | Model parameters | ||
|---|---|---|---|
| NN layers | 5 | $N$ intervals | 10 |
| Hidden nodes | 30 | $\sigma$-stock | 0.00001 |
| ADAM lr | 0.0001 | $S_0$-stock | 10 |
| Batch size $b$ | 32 | $q_0$ inventory | 20 |
| Memory length $L$ | 15 000 | ||
| $M$ train eps. | 10 000 | ||
| $B$ test eps. | 5 000 | ||
| $m$ reset rate | 100 acts. | ||
| $c$ decay rate | 0.995 | ||
| $\gamma$-discount | 1 |
$\gamma = 1$, так как моделируется риск-нейтральный агент.
Алгоритм 1. Обучение Double Deep Q-Learning агента для оптимального исполнения
Require:
Инициализировать Q_main случайными весами; Qtgt ← копия Q_main;
Memory длины L; ε = 1; batch size b; M train episodes;
Параметры рыночной динамики;
for i in M do
S_0^i ← S_0;
for t in N do
s_t ← (q_t, t); ▷ или (q_t, t, S_{t-1}^i)
v_t ← sample Bin(q_t, 1/(N−t)) с вероятностью ε
иначе arg max_{v'∈[0,q_t]} Q_main(s_t, v'|θ_main) с вероятностью (1−ε);
r_t ← S_{t-1}^i v_t − α v_t²;
S_{t-1}^i → S_t^i; ▷ генерация mid-price
s_{t+1} ← (q_{t+1}, t+1); ▷ или (q_{t+1}, t+1, S_t^i)
Memory ← (s_t, r_t, v_t, s_{t+1});
if |Memory| ≥ b then
for j in b do
Sample batch (s_t^j, r_t^j, v_t^j, s_{t+1}^j);
v* ← arg max_v Q_main(s_t^j, v|θ_main);
y_t^j ← r_t^j если t=N, иначе r_t^j + γ Qtgt(s_{t+1}^j, v*|θ_tgt);
θ_main ← arg min L(θ_main, θ_tgt) gradient descent;
if |Memory| = L then halve memory length;
end if
каждые m итераций: ε ← ε × c; θ_tgt ← θ_main;
end for
end for
3. Эксперименты и результаты
Цель экспериментов — проверить, находит ли DDQL agent model-robust стратегии оптимального исполнения без знания underlying impact model, опираясь лишь на простые наборы информации. Агент не знает ни параметров, ни модели динамики impacts — model-agnostic подход. Исследуется: (i) оптимальное решение известно, но среда агенту неизвестна (impact может расти или падать); (ii) оптимальное решение неизвестно в closed form или известно лишь приближённо — DDQL как инструмент «устойчивых» стратегий, агностически детектирующих величину и динамику impacts при минимуме информации.
Число торговых шагов на эпизод $N = 10$; агент продаёт $q_0 = 20$ акций. После test phase для каждого эпизода считается средний IS. В test phase для каждого эпизода IS сравнивается для DDQN-стратегии и оптимальной (если динамика и параметры impacts известны заранее). Разница производительности:
\[ \Delta\mathrm{P\&L} = \frac{C_{\mathrm{agent}} - C_b}{C_b} \]где $C = \sum_{t=1}^{N} v_t \tilde{S}_t$ — cash от торговли; $C_b$ — baseline, $C_{\mathrm{agent}}$ — DDQL. В таблицах — средние и стандартные отклонения по test set. $\Delta\mathrm{P\&L}$ в basis points.
3.1. Постоянный impact
Mid-price по модели A&C (1). Impacts постоянны: $\kappa = 0.001$, $\alpha = 0.002$. При таком рынке TWAP оптимален — $q_0$ продаётся равномерно по шагам. Проверяется, восстанавливает ли DDQL похожую стратегию и сравнивается ожидаемая стоимость с TWAP — признак того, что параметры фиксированы. Включение цены в признаки не должно улучшить результат.
Features Q,T. При знании только $q_t$ и $t$ IS близок к TWAP: $\Delta\mathrm{P\&L} = -0{,}4$ bp, std 2 bp (табл. 2). Среднее число проданных акций на шаг и уровень инвентаря — лев. панель рис. 1: стратегия согласована с slice-and-dice.
Features Q,T,S. С mid-price в признаках тот же cost: $\Delta\mathrm{P\&L} \approx -0{,}25$ bp. Средние оптимальные действия по $(q_t, t, \bar{S})$ — правая панель рис. 1. Стратегия слегка варьируется с уровнем цены — возможно, некоторые состояния при обучении имели меньшую стоимость. В целом алгоритм не лучше зашумленного TWAP, как ожидалось. Дополнительная информация в простой среде не добавляет ценности. Это согласуется с [30]: динамические стратегии (зависящие от цены) также статически оптимальны.
| features | A&C E[IS] | DDQL E[IS] | $\Delta\mathrm{P\&L}$ avg. | std.dev. |
|---|---|---|---|---|
| Q,T | 0.2607 | 0.2698 | −0.455 | 2.5 |
| Q,T,S | 0.2607 | 0.2652 | −0.225 | 1.6 |
3.2. Детерминированный time-varying impact
Установлено, что DDQL восстанавливает оптимум при постоянных impacts; далее — два детерминированных паттерна. Ликвидность имеет внутридневные паттерны — trend в impact-параметрах в начале дня или вокруг важных объявлений. При известной функциональной форме динамики оптимальное исполнение — минимизация cost functional (квадратичная оптимизация; well-posedness нетривиален, см. [29]). DDQL не знает ни о паттерне, ни о направлении trend; параметры должны неявно оцениваться агентом. Без допущений о динамике задача усложняется.
Impacts следуют линейному детерминированному trend (разд. 2.1). Рассматриваются растущий или падающий impact; оптимальная стратегия — квадратичная оптимизация по (3) (SciPy .optimize(), quadratic programming). IS сравнивается с DDQL и с TWAP как дополнительным бенчмарком.
3.2.1. Обучение и тест с растущими impacts
$g(v_t/\tau) = \kappa_t v_t/\tau$, $\kappa_t = \kappa_0 + \beta_\kappa t$; $h(v_t) = \alpha_t v_t$, $\alpha_t = \alpha_0 + \beta_\alpha t$. Параметры — табл. 3; средние значения impact за период равны фиксированным из разд. 3.1. Рис. 3 — оптимальное решение (зелёная линия), TWAP — красная. При растущих impacts выгоднее торговать больше в начале.
| parameters | value | parameters | value |
|---|---|---|---|
| $\kappa_0$ | 0.0001 | $\beta_\kappa$ | 0.0002 |
| $\alpha_0$ | 0.0001 | $\beta_\alpha$ | 0.0004 |
| $\kappa_5 = \kappa$ | 0.001 | $\alpha_5 = \alpha$ | 0.002 |
Features Q,T. Только инвентарь и время — DDQL не бьёт TWAP: $\Delta\mathrm{P\&L}$ vs TWAP $\approx 0$. $\Delta\mathrm{P\&L}$ vs теоретический optimum существенно отрицателен (табл. 4). Синяя линия на рис. 3 и левая панель рис. 4: агент торгует больше в начале, но недостаточно — параметры оценены зашумлённо, стратегия на уровне TWAP.
Features Q,T,S. Mid-price в признаках улучшает $\Delta\mathrm{P\&L}$: DDQL лучше TWAP; vs теоретическое решение — около 2 bp (табл. 4). Рис. 3 и правая панель рис. 4: агент торгует слишком агрессивно в первой половине окна — совместимо с растущими impacts. Агент оценил trend и нашёл соответствующую стратегию.
| inputs | Theo. E[IS] | DDQL E[IS] | $\Delta\mathrm{P\&L}$ vs Theo. avg. | std. | TWAP E[IS] |
|---|---|---|---|---|---|
| Q,T | 0.1449 | 0.2401 | −4.76 | 1.1 | 0.2326 |
| Q,T,S | 0.1449 | 0.1944 | −2.42 | 1.1 | 0.2326 |
3.2.2. Обучение и тест с убывающими impacts
$\kappa_t = \kappa_0 - \beta_\kappa t$, $\alpha_t = \alpha_0 - \beta_\alpha t$; параметры — табл. 5. Рис. 5 — оптимум (зелёный) и TWAP (красный). При падающих impacts оптимально торговать меньше в начале.
| parameters | value | parameters | value |
|---|---|---|---|
| $\kappa_0$ | 0.002 | $\beta_\kappa$ | 0.0002 |
| $\alpha_0$ | 0.004 | $\beta_\alpha$ | 0.0004 |
| $\kappa_5 = \kappa$ | 0.001 | $\alpha_5 = \alpha$ | 0.002 |
Features Q,T. IS выше теоретического optimum, но лучше TWAP (табл. 6). Рис. 5 (синяя) и левая панель рис. 6: больше торговли к концу — согласовано с падающими издержками. Trend оценён верно, но масштаб actions не откалиброван.
Features Q,T,S. С mid-price результат заметно лучше: лучше TWAP «с запасом», чуть хуже оптимума (табл. 6). Рис. 5 (оранжевая) и правая панель рис. 6: стратегия смещена вправо на heat-map — направление и величина impacts поняты.
| inputs | Theo. E[IS] | DDQL E[IS] | $\Delta\mathrm{P\&L}$ vs Theo. | std. | TWAP E[IS] |
|---|---|---|---|---|---|
| Q,T | 0.2566 | 0.3080 | −2.58 | 0.03 | 0.3588 |
| Q,T,S | 0.2566 | 0.2877 | −1.51 | 0.5 | 0.3588 |
3.2.3. Смешанное обучение: increasing и decreasing
Ранее train и test использовали одну динамику; теперь — реалистичнее: train содержит разные сценарии, test — один из них. DDQL обучается на 10 000 траекториях с increasing impacts и 10 000 с decreasing; тест — 5 000 траекторий с одним из trends. Такой setup имитирует production: обучение на нескольких сценариях, затем детекция конкретного паттерна ликвидности и адаптация стратегии.
TWAP — естественный бенчмарк для агностичного трейдера, когда train включает оба режима, а test — один. В таблицах также $\Delta\mathrm{P\&L}_{\mathrm{TWAP}}$ vs TWAP. Стандартный $\Delta\mathrm{P\&L}$ vs теоретический optimum — «недостижимый» бенчмарк, т.к. требует знать направление trend в test.
Increasing impacts — Q,T. Только инвентарь и время — стратегия близка к TWAP, $\Delta\mathrm{P\&L}$ vs optimum плохой (табл. 7, левая панель рис. 10).
Increasing impacts — Q,T,S. С mid-price производительность резко лучше: $\Delta\mathrm{P\&L}$ vs optimum $\approx 0$ (табл. 7); агент оценил направление и величину impacts (правая панель рис. 10).
| inputs | Theo. E[IS] | DDQL E[IS] | $\Delta\mathrm{P\&L}$ vs Theo. | std. | TWAP E[IS] | $\Delta\mathrm{P\&L}_{\mathrm{TWAP}}$ |
|---|---|---|---|---|---|---|
| Q,T | 0.1449 | 0.2554 | −5.34 | 1.1 | 0.2326 | −0.92 |
| Q,T,S | 0.1449 | 0.1319 | 0.65 | 0.9 | 0.2326 | 5.2 |
Decreasing impacts — Q,T. Шумная оценка параметров; стратегия чуть хуже TWAP и хуже оптимума (табл. 8, левая панель рис. 9).
Decreasing impacts — Q,T,S. Производительность близка к оптимальной: низкий $\Delta\mathrm{P\&L}$ (табл. 8, правая панель рис. 9).
| inputs | Theo. E[IS] | DDQL E[IS] | $\Delta\mathrm{P\&L}$ vs Theo. | std. | TWAP E[IS] | $\Delta\mathrm{P\&L}_{\mathrm{TWAP}}$ |
|---|---|---|---|---|---|---|
| Q,T | 0.2566 | 0.3696 | −5.62 | 0.32 | 0.3588 | −0.51 |
| Q,T,S | 0.2566 | 0.2456 | −0.86 | 0.03 | 0.3588 | 6.5 |
3.3. Стохастический impact
Стохастические коэффициенты impact — более сложная динамика и строгий тест DDQL. Аналитическое сравнение — третья модель разд. 2.1: приближённое решение Barger и Lorig [4] как разложение Тейлора вокруг long-run mean (5) — возмущение TWAP с учётом отклонения impacts от long-run mean. Цель — проверить, повторяет или превосходит ли агент performance при известных параметрах (5). Сложность стохастических impacts — не только в формуле, но и в оценке параметров; DDQL решает задачу model-agnostic без явной оценки модели или величин impacts.
Параметры симуляций — табл. 9. Impacts колеблются вокруг long-run average, коррелированы ($\omega = 0.9$); выполнено условие Feller, impacts почти наверняка положительны. Два эксперимента: сильная mean reversion ($\lambda_\alpha^{\mathrm{(high)}}$, $\lambda_\kappa^{\mathrm{(high)}}$) и слабая ($\lambda_\alpha^{\mathrm{(low)}}$, $\lambda_\kappa^{\mathrm{(low)}}$); long-run levels и vol impacts не меняются. На каждый train/test episode — один path для $\alpha_t$ и один для $\kappa_t$. Примеры paths — рис. 7 и 8.
| Parameter | Value | Parameter | Value |
|---|---|---|---|
| $\lambda_\alpha^{\mathrm{(low)}}$ | 1 | $\theta_\kappa$ | 0.001 |
| $\lambda_\kappa^{\mathrm{(low)}}$ | 1 | $\theta_\alpha$ | 0.002 |
| $\lambda_\alpha^{\mathrm{(high)}}$ | 5 | $\sigma_\kappa$ | 0.002 |
| $\lambda_\kappa^{\mathrm{(high)}}$ | 5 | $\sigma_\alpha$ | 0.002 |
| $\omega$ | 0.9 |
Features Q,T. При $\lambda_\alpha^{\mathrm{(low)}}, \lambda_\kappa^{\mathrm{(low)}}$ IS близок к (5): $\Delta\mathrm{P\&L}$ слегка положителен, менее 2 bp (табл. 10). При $\lambda_\alpha^{\mathrm{(high)}}, \lambda_\kappa^{\mathrm{(high)}}$ performance лучше (табл. 11): быстрый mean reversion к long-run average — агент торгует соответственно.
Features Q,T,S. Цена в признаках заметно улучшает продажи при $\lambda_\alpha^{\mathrm{(low)}}, \lambda_\kappa^{\mathrm{(low)}}$: $\Delta\mathrm{P\&L}$ положителен (табл. 10). При $\lambda_\alpha^{\mathrm{(high)}}, \lambda_\kappa^{\mathrm{(high)}}$ результат всё ещё лучше аппроксимации, сопоставим с Q,T (табл. 11). При высокой скорости mean reversion агент учится, что dynamics быстро возвращаются к среднему. Агент не знает стохастической модели impacts — учит модель и параметры неявно из наград. Performance лучше approximate closed-form без явной оценки параметров.
Высокая корреляция $\omega = 0.9$ отражает типичную корреляцию мер ликвидности; temporary и permanent impact ожидаются коррелированными. В [4] в sell program допускаются и покупки; RL рассматривает только продажи. Для честного сравнения параметры модели [4] подобраны так, что доля покупок в sell program пренебрежимо мала.
| inputs | Theo. E[IS] | Theo. std. | DDQL E[IS] | DDQL std. | $\Delta\mathrm{P\&L}$ avg. | std. |
|---|---|---|---|---|---|---|
| Q,T | 0.3129 | 0.63 | 0.2789 | 0.011 | 1.8 | 3.19 |
| Q,T,S | 0.3129 | 0.63 | 0.2572 | 0.007 | 2.5 | 3.27 |
| inputs | Theo. E[IS] | Theo. std. | DDQL E[IS] | DDQL std. | $\Delta\mathrm{P\&L}$ avg. | std. |
|---|---|---|---|---|---|---|
| Q,T | 0.5017 | 1.83 | 0.3200 | 0.0084 | 9.2 | 73.3 |
| Q,T,S | 0.5017 | 1.83 | 0.3158 | 0.0112 | 9.4 | 73.4 |
4. Заключение
Разработан алгоритм DDQL, выучивающий оптимальную стратегию ликвидации при time-varying ликвидности. В линейной модели market impact Almgren–Chriss исследованы детерминированные и стохастические динамики temporary и permanent impact: постоянные, линейно меняющиеся и square-root mean reverting процессы; также случай, когда наклон линейного trend может быть положительным или отрицательным с равной вероятностью.
Когда оптимальное решение известно, алгоритм выучивает стратегии с ожидаемой стоимостью, сопоставимой с оптимальной. Когда решение недоступно или доступно лишь в приближённой форме, DDQL находит лучшие решения. Это указывает, что RL может успешно применяться в реальных условиях, где ликвидность латентна и time-varying.
Возможные расширения: нелинейный temporary impact [2]; более сложные модели — Transient Impact Model [7] и расширение [6]; другие измерения ликвидности, например bid-ask spread, также time-varying с нетривиальной динамикой. Интересно, способны ли RL-подходы находить оптимальные расписания и в этих более сложных средах. Эти вопросы — для будущих исследований.
Благодарности
F.L. благодарит за частичную поддержку европейской программы «INFRAIA-01-2018-2019: Research and Innovation action», grant agreement #871042 «SoBigData++: European Integrated Infrastructure for Social Mining and Big Data Analytics».
Приложение A. Рисунки mixed train
Рисунки 9 и 10 — детальные heatmaps стратегий при mixed train (разд. 3.2.3).
Литература
- [1] Jacob Abernethy and Satyen Kale. «Adaptive market making via online learning». In: Advances in Neural Information Processing Systems 26 (2013).
- [2] Robert Almgren et al. «Direct estimation of equity market impact». In: Risk 18.7 (2005), pp. 58–62.
- [3] Almgren, R. and Chriss, N. «Optimal execution of portfolio transactions». In: Journal of Risk 3 (2000), pp. 5–39.
- [4] Weston Barger and Matthew Lorig. «Optimal liquidation under stochastic price impact». In: International Journal of Theoretical and Applied Finance 22.02 (2019), p. 1850059.
- [5] Dimitris Bertsimas and Andrew W Lo. «Optimal control of execution costs». In: Journal of financial markets 1.1 (1998), pp. 1–50.
- [6] Jean-Philippe Bouchaud, J Doyne Farmer, and Fabrizio Lillo. «How markets slowly digest changes in supply and demand». In: Handbook of financial markets: dynamics and evolution. Elsevier, 2009, pp. 57–160.
- [7] Jean-Philippe Bouchaud et al. «Fluctuations and response in financial markets: the subtle nature of random price changes». In: Quantitative finance 4.2 (2003), p. 176.
- [8] Antonio Briola et al. «Deep reinforcement learning for active high frequency trading». In: arXiv preprint arXiv:2101.07107 (2021).
- [9] F Campigli, G Bormetti, and F Lillo. «Measuring price impact and information content of trades in a time-varying setting». In: arXiv e-prints (2022), arXiv:2212.12687.
- [10] Alvaro Cartea and Sebastian Jaimungal. «Incorporating order-flow into optimal execution». In: Mathematics and Financial Economics 10 (2016), pp. 339–364.
- [11] Álvaro Cartea, Sebastian Jaimungal, and José Penalva. Algorithmic and high-frequency trading. Cambridge University Press, 2015.
- [12] Philippe Casgrain and Sebastian Jaimungal. «Trading algorithms with learning in latent alpha models». In: Mathematical Finance 29.3 (2019), pp. 735–772.
- [13] Kevin Dabérius, Elvin Granat, and Patrik Karlsson. «Deep execution-value and policy based reinforcement learning for trading and beating market benchmarks». In: Available at SSRN 3374766 (2019).
- [14] Jean-Pierre Fouque, Sebastian Jaimungal, and Yuri F Saporito. «Optimal trading with signals and stochastic price impact». In: SIAM Journal on Financial Mathematics 13.3 (2022), pp. 944–968.
- [15] Gatheral, J., Schied, A., and Slynko, A. «Transient linear price impact and Fredholm integral equations». In: Mathematical Finance 22.3 (2012), pp. 445–474.
- [16] Gueant, Lehalle, and Fernandez-Tapia. «Optimal portfolio liquidation with limit orders». In: SIAM Journal on Financial Mathematics 3.1 (2012), pp. 740–764.
- [17] Olivier Guéant and Charles Albert Lehalle. «General intensity shapes in optimal liquidation». In: Mathematical Finance 25.3 (2015), pp. 457–495.
- [18] Ben Hambly, Renyuan Xu, and Huining Yang. «Recent advances in reinforcement learning in finance». In: arXiv preprint arXiv:2112.04553 (2021).
- [19] Dieter Hendricks and Diane Wilcox. «A reinforcement learning extension to the Almgren-Chriss framework for optimal trade execution». In: 2014 IEEE Conference on Computational Intelligence for Financial Engineering & Economics (CIFEr). IEEE. 2014, pp. 457–464.
- [20] Thibault Jaisson. «Deep differentiable reinforcement learning and optimal trading». In: Quantitative Finance 22.8 (2022), pp. 1429–1443.
- [21] Gyeeun Jeong and Ha Young Kim. «Improving financial trading decisions using deep Q-learning: Predicting the number of shares, action strategies, and transfer learning». In: Expert Systems with Applications 117 (2019), pp. 125–138.
- [22] Michaël Karpe et al. «Multi-agent reinforcement learning in a realistic limit order book market simulation». In: Proceedings of the First ACM International Conference on AI in Finance. 2020, pp. 1–7.
- [23] Michael Kearns and Yuriy Nevmyvaka. «Machine learning for market microstructure and high frequency trading». In: High Frequency Trading: New Realities for Traders, Markets, and Regulators (2013).
- [24] Pankaj Kumar. «Deep reinforcement learning for market making». In: Proceedings of the 19th International Conference on Autonomous Agents and MultiAgent Systems. 2020, pp. 1892–1894.
- [25] Luca Philippe Mertens et al. «Liquidity fluctuations and the latent dynamics of price impact». In: Quantitative Finance 22.1 (2022), pp. 149–169.
- [26] Yuriy Nevmyvaka, Yi Feng, and Michael Kearns. «Reinforcement learning for optimized trade execution». In: Proceedings of the 23rd international conference on Machine learning. 2006, pp. 673–680.
- [27] Brian Ning, Franco Ho Ting Lin, and Sebastian Jaimungal. «Double deep q-learning for optimal execution». In: Applied Mathematical Finance 28.4 (2021), pp. 361–380.
- [28] Anna A Obizhaeva and Jiang Wang. «Optimal trading strategy and supply/demand dynamics». In: Journal of Financial markets 16.1 (2013), pp. 1–32.
- [29] Palmari, G., Lillo, F., and Eisler, Z. «Optimal execution in a time varying environment: well posedness and price manipulation». In: in preparation (2024).
- [30] Alexander Schied, Torsten Schöneborn, and Michael Tehranchi. «Optimal basket liquidation for CARA investors is deterministic». In: Applied Mathematical Finance 17.6 (2010), pp. 471–489.
- [31] Matthias Schnaubelt. «Deep reinforcement learning for the optimal placement of cryptocurrency limit orders». In: European Journal of Operational Research 296.3 (2022), pp. 993–1006.
- [32] Shuo Sun, Rundong Wang, and Bo An. «Reinforcement learning for quantitative trading». In: ACM Transactions on Intelligent Systems and Technology 14.3 (2023), pp. 1–29.
- [33] Richard S Sutton and Andrew G Barto. «Reinforcement learning: an introduction MIT Press». In: Cambridge, MA 22447 (1998).
- [34] Haoran Wei et al. «Model-based reinforcement learning for predictions and control for limit order books». In: arXiv preprint arXiv:1910.03743 (2019).
- [35] Pengqian Yu et al. «Model-based deep reinforcement learning for dynamic portfolio optimization». In: arXiv preprint arXiv:1901.08740 (2019).
Оригинал статьи: Macrì and Lillo, «Reinforcement Learning for Optimal Execution when Liquidity is Time-Varying», arXiv:2402.12049