Reinforcement Learning for Optimal Execution when Liquidity is Time-Varying

7/10

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-параметров в экспериментах.

Рисунок 2. Динамика temporary и permanent impact
Рисунок 2. Time-varying динамика temporary и permanent 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.

Таблица 1. Фиксированные параметры DDQL. Параметры, не указанные в таблице, меняются по экспериментам.
DDQL parametersModel parameters
NN layers5$N$ intervals10
Hidden nodes30$\sigma$-stock0.00001
ADAM lr0.0001$S_0$-stock10
Batch size $b$32$q_0$ inventory20
Memory length $L$15 000
$M$ train eps.10 000
$B$ test eps.5 000
$m$ reset rate100 acts.
$c$ decay rate0.995
$\gamma$-discount1

$\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]: динамические стратегии (зависящие от цены) также статически оптимальны.

Таблица 2. Постоянный impact. Сравнение издержек DDQL и A&C. $\Delta\mathrm{P\&L}$ в basis points.
featuresA&C E[IS]DDQL E[IS]$\Delta\mathrm{P\&L}$ avg.std.dev.
Q,T0.26070.2698−0.4552.5
Q,T,S0.26070.2652−0.2251.6
Рисунок 1. Постоянный impact
Рисунок 1. Постоянный impact. Левая панель: среднее число проданных акций на шаг $t$ и уровень инвентаря $q_t$. Правая: среднее число проданных акций на шаг $t$, уровень $q_t$ и нормализованная цена $\bar{S}$.

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 выгоднее торговать больше в начале.

Таблица 3. Параметры для increasing time-varying setting.
parametersvalueparametersvalue
$\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 и нашёл соответствующую стратегию.

Таблица 4. Increasing impact. DDQL, теоретический optimum и TWAP. $\Delta\mathrm{P\&L}$ в bp.
inputsTheo. E[IS]DDQL E[IS]$\Delta\mathrm{P\&L}$ vs Theo. avg.std.TWAP E[IS]
Q,T0.14490.2401−4.761.10.2326
Q,T,S0.14490.1944−2.421.10.2326
Рисунок 3. Increasing impact — инвентарь
Рисунок 3. Increasing impact. Средний инвентарь по шагам при разных признаках vs оптимальный (если стратегия известна) и TWAP.
Рисунок 4. Increasing impact — heatmaps
Рисунок 4. Increasing impact. Левая: среднее число акций на шаг $t$ и инвентарь $q_t$. Правая: то же с нормализованной ценой $\bar{S}$.

3.2.2. Обучение и тест с убывающими impacts

$\kappa_t = \kappa_0 - \beta_\kappa t$, $\alpha_t = \alpha_0 - \beta_\alpha t$; параметры — табл. 5. Рис. 5 — оптимум (зелёный) и TWAP (красный). При падающих impacts оптимально торговать меньше в начале.

Таблица 5. Параметры decreasing time-varying setting.
parametersvalueparametersvalue
$\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 поняты.

Таблица 6. Decreasing impact. $\Delta\mathrm{P\&L}$ в bp.
inputsTheo. E[IS]DDQL E[IS]$\Delta\mathrm{P\&L}$ vs Theo.std.TWAP E[IS]
Q,T0.25660.3080−2.580.030.3588
Q,T,S0.25660.2877−1.510.50.3588
Рисунок 5. Decreasing impact — инвентарь
Рисунок 5. Decreasing impact. Средний инвентарь по шагам vs оптимальный и TWAP.
Рисунок 6. Decreasing impact — heatmaps
Рисунок 6. Decreasing impact. Левая: среднее число акций на $t$ и $q_t$. Правая: с нормализованной ценой $\bar{S}$.

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).

Таблица 7. Mixed train, test increasing. $\Delta\mathrm{P\&L}$ в bp.
inputsTheo. E[IS]DDQL E[IS]$\Delta\mathrm{P\&L}$ vs Theo.std.TWAP E[IS]$\Delta\mathrm{P\&L}_{\mathrm{TWAP}}$
Q,T0.14490.2554−5.341.10.2326−0.92
Q,T,S0.14490.13190.650.90.23265.2

Decreasing impacts — Q,T. Шумная оценка параметров; стратегия чуть хуже TWAP и хуже оптимума (табл. 8, левая панель рис. 9).

Decreasing impacts — Q,T,S. Производительность близка к оптимальной: низкий $\Delta\mathrm{P\&L}$ (табл. 8, правая панель рис. 9).

Таблица 8. Mixed train, test decreasing. $\Delta\mathrm{P\&L}$ в bp.
inputsTheo. E[IS]DDQL E[IS]$\Delta\mathrm{P\&L}$ vs Theo.std.TWAP E[IS]$\Delta\mathrm{P\&L}_{\mathrm{TWAP}}$
Q,T0.25660.3696−5.620.320.3588−0.51
Q,T,S0.25660.2456−0.860.030.35886.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.

Таблица 9. Параметры стохастических impacts. Стартовые значения соответствуют фиксированным impacts из A&C.
ParameterValueParameterValue
$\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 пренебрежимо мала.

Рисунок 7. Стохастический impact, слабая mean reversion
Рисунок 7. Стохастический impact, $\lambda_\alpha^{\mathrm{(low)}}$, $\lambda_\kappa^{\mathrm{(low)}}$. Левая: три sample paths $\alpha_t$. Правая: три paths $\kappa_t$. Сплошные линии — реализации; жёлтая область — std вокруг среднего.
Рисунок 8. Стохастический impact, сильная mean reversion
Рисунок 8. Сильная mean reversion ($\lambda_\alpha^{\mathrm{(high)}}$, $\lambda_\kappa^{\mathrm{(high)}}$). Левая: paths $\alpha_t$. Правая: paths $\kappa_t$.
Таблица 10. Stochastic impact, $\lambda_\alpha^{\mathrm{(low)}}, \lambda_\kappa^{\mathrm{(low)}}$. $\Delta\mathrm{P\&L}$ в bp.
inputsTheo. E[IS]Theo. std.DDQL E[IS]DDQL std.$\Delta\mathrm{P\&L}$ avg.std.
Q,T0.31290.630.27890.0111.83.19
Q,T,S0.31290.630.25720.0072.53.27
Таблица 11. Stochastic impact, $\lambda_\alpha^{\mathrm{(high)}}, \lambda_\kappa^{\mathrm{(high)}}$. $\Delta\mathrm{P\&L}$ в bp.
inputsTheo. E[IS]Theo. std.DDQL E[IS]DDQL std.$\Delta\mathrm{P\&L}$ avg.std.
Q,T0.50171.830.32000.00849.273.3
Q,T,S0.50171.830.31580.01129.473.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).

Рисунок 9. Mixed train, test decreasing
Рисунок 9. Mixed train, test с decreasing impact. Верх: среднее число акций на шаг $t$ и инвентарь $q_t$. Низ: то же с нормализованной ценой $\bar{S}$.
Рисунок 10. Mixed train, test increasing
Рисунок 10. Mixed train, test с increasing impact. Верх: среднее число акций на $t$ и $q_t$. Низ: с нормализованной ценой $\bar{S}$.

Литература

Оригинал статьи: Macrì and Lillo, «Reinforcement Learning for Optimal Execution when Liquidity is Time-Varying», arXiv:2402.12049