О параметрическом оптимальном исполнении и суррогатах машинного обучения
Тао Чен, Майк Лудковски, Мориц Фосс · University of Michigan; UC Santa Barbara; UCLA · v3, 31 октября 2023
Оригинал: Chen, T., Ludkovski, M., Voß, M. «On Parametric Optimal Execution and Machine Learning Surrogates», 2023 — arxiv.org/abs/2204.08581 (PDF). Сопровождающий Jupyter-ноутбук: github.com/moritz-voss/Parametric_Optimal_Execution_ML.
Рисунки воспроизведены из оригинальной публикации. Все права на оригинальный текст принадлежат авторам; перевод выполнен в ознакомительных целях с указанием источника.
Аннотация
Мы исследуем задачи оптимального исполнения заявок в дискретном времени с мгновенным ценовым воздействием и стохастической устойчивостью (resilience). Во-первых, в постановке линейного транзиентного ценового воздействия мы выводим рекурсию в замкнутой форме для оптимальной стратегии, расширяя детерминированные результаты Обижаевой и Ванга [48]. Во-вторых, мы разрабатываем численный алгоритм на основе динамического программирования и глубокого обучения для случая нелинейного транзиентного ценового воздействия в духе Бушо и др. [22]. Конкретно, мы используем actor-critic каркас, строящий два нейросетевых (NN) суррогата — для функции ценности и для управления с обратной связью. Гибкая масштабируемость NN-аппроксиматоров функций позволяет параметрическое обучение, то есть включение нескольких модельных или рыночных параметров в пространство входов. Известно, что точная калибровка ценового воздействия, устойчивости и т.д. чрезвычайно трудна, и поэтому критично понимать чувствительность политики исполнения к этим параметрам. Наш NN-обучатель органично масштабируется по нескольким входным измерениям и, как показано, точно приближает оптимальные стратегии в широком диапазоне конфигураций параметров. Мы предоставляем полностью воспроизводимый Jupyter-ноутбук с нашей NN-реализацией, представляющий самостоятельный педагогический интерес и демонстрирующий простоту использования NN-суррогатов в (параметрических) задачах стохастического управления.
Ключевые слова: оптимальное исполнение, параметрическое управление, нейросетевые суррогаты, стохастическая устойчивость.
1. Введение
За последнее десятилетие обширная литература проанализировала оптимальное исполнение сделок в микроструктурном каркасе, учитывающем взаимодействие между сделками, ценами и ликвидностью лимитного стакана. Например, одно заметное направление следует подходу Обижаевой и Ванга [48], который позволяет получать формулы в замкнутой форме для оптимальной торговой стратегии при линейном транзиентном ценовом воздействии. Однако любое практическое использование этих элегантных математических выводов немедленно сталкивается с сильной зависимостью решения от заданных модельных параметров. Такие понятия, как устойчивость стакана или глубина книги, — математические абстракции, недоступные напрямую в реальном мире. Аналогично, параметры вроде инвентарного штрафа специфичны для модели и должны вводиться пользователем. Следовательно, калибровка модели становится крайне нетривиальной и, в свою очередь, требует понимания взаимодействия между модельными параметрами и получающейся стратегией. Параллельно серьёзной проблемой является и модельный риск, то есть неверная спецификация динамики. Модельный риск можно частично смягчить, рассматривая более реалистичные нелинейные модели, но это происходит ценой потери решений в замкнутой форме.
Мотивированные этими проблемами, в этой статье мы подходим к оптимальному исполнению через линзу параметрического стохастического управления. С этой целью мы исследуем численные алгоритмы, определяющие оптимальную стратегию исполнения совместно в терминах переменных состояния (инвентарь и спред/наценка лимитного стакана), а также модельных параметров (мгновенное ценовое воздействие, фактор устойчивости, инвентарный штраф и т.д.). Мы рассматриваем добавление 1–4 модельных параметров к обучающему пространству, что даёт многомерные задачи управления.
Наш вклад двоякий. В части численных методов мы предлагаем прямой подход к параметрическому управлению, сфокусированный на порождении функциональных аппроксиматоров функции ценности. Конкретный выбор таких статистических суррогатов, который мы представляем ниже, — нейронные сети (NN). Наш подход использует NN для аппроксимации уравнения Беллмана и может быть противопоставлен другим способам использования NN, таким как методы глубокого Галёркина [12, 13, 32] для УЧП или параметризация управления с обратной связью [14, 39] в тандеме со стохастическим градиентным спуском. Одно из преимуществ нашего метода — его концептуальная простота; как таковой, он является отличным педагогическим полигоном для методов машинного обучения. Действительно, учитывая, что оптимальное исполнение теперь является базовой задачей, знакомой каждому, кто работает в математических финансах, мы считаем, что этот пример предлагает отличный вход для студентов и исследователей, желающих понять современные численные инструменты стохастического управления и «поиграть» с ними. С этой целью мы предоставляем подробный Python Jupyter-ноутбук, позволяющий полностью воспроизводимо проверить наши результаты. Наш ноутбук сделан максимально простым, чтобы выделить, где именно появляются статистические инструменты, и стремясь убрать значительную часть «мистики ML», которая иногда присутствует. Наш подход также акцентирует вопросы того, как обучать статистический суррогат и как аппроксимировать оптимальное управление — оба важных аспекта реализации, обсуждение которых часто пропускается.
В части финансового приложения мы вносим вклад в литературу по оптимальному исполнению несколькими способами, представляющими самостоятельный интерес для экспертов этой области. Конкретно, наш модельный каркас оптимального исполнения строится на дискретновременной модели линейного транзиентного ценового воздействия с экспоненциальным затуханием из Обижаевой и Ванга [48] и дополнительно допускает: (i) нелинейное, степенное ценовое воздействие в духе Бушо и др. [21, 22], Гейтерала [30], Альфонси и др. [6], Данга [26], Курато и др. [25]; (ii) стохастическое транзиентное ценовое воздействие, управляемое собственным шумом, аналогично непрерывновременной модели Бехерера и др. [18]; и (iii) бегущий квадратичный штраф на инвентарь типа неприятия риска, возникающий, например, у Шида и др. [53]. Другими словами, наша модель вкладывает в себя различные существующие предложения литературы, предлагая единый дискретновременной каркас, который мы детально исследуем. Другие связанные работы по оптимальному исполнению заявок с (экспоненциально) затухающим (линейным) транзиентным ценовым воздействием в дискретном и непрерывном времени включают, например, Альфонси и др. [5], Альфонси и Шида [8], Предою и др. [51], Альфонси и др. [9], Гейтерала и др. [31], Лоренца и Шида [46], Альфонси и Шида [7], Альфонси и Асеведо [3], Банка и Фрут [17], Альфонси и Блана [4], Фрут и др. [28, 29], Греве и Хорста [33], Леаля и Ноймана [44], Хорста и Ся [37], Чена и др. [24], Аккермана и др. [1, 2], Форда и др. [27], Ноймана и Фосса [47]; мы также отсылаем к недавней монографии Вебстера [54] за отличным обзором и обсуждением моделирования ценового воздействия. Более того, в линейном случае мы также устанавливаем новую явную формулу, см. Предложение 1, для оптимальной стратегии исполнения со стохастическим транзиентным ценовым воздействием и инвентарным штрафом, которая расширяет явное детерминированное решение Обижаевой и Ванга [48] и позволяет также точно бенчмаркировать наш подход машинного обучения. Поэтому наши численные эксперименты дают новые надёжные инсайты о взаимодействии между различными модельными параметрами и оптимальной стратегией. Получение этих инсайтов — иными словами, построение лучшей интуиции о том, как модель ведёт себя в разных режимах, — было исходной мотивацией нашей работы и ценно для практиков, которым нужно развивать чутьё на то, как модель реагирует на изменение реального мира (то есть откалиброванных параметров). В частности, наш численный анализ дополняет исследования детерминированных оптимальных стратегий исполнения с нелинейным транзиентным ценовым воздействием, выполненные Дангом [26] и Курато и др. [25].
В более широком контексте методов машинного обучения для стохастического оптимального управления наша работа связана с другими применениями нейронных сетей к финансовым задачам, см. Башуш и др. [14], Юре и др. [39] и Исмаил и Фам [40]. Пожалуй, ближе всего Леаль и др. [43], которые тоже изучают задачи исполнения, но в модели только с временным и перманентным ценовым воздействием в духе Бертсимаса и Ло [19], Алмгрена и Крисса [10], Картеа и Хаймунгала [23]; см. также Папаниколау и др. [50] для похожего исследования. Другие подходы к оптимальному исполнению при временном ценовом воздействии, ближе к духу обучения с подкреплением, см., например, в недавних обзорных статьях Хэмбли и др. [35] и Хаймунгала [41] и ссылках в них.
Статья организована следующим образом. Раздел 2 формулирует нашу обобщённую постановку оптимального исполнения. Раздел 3 представляет явное эталонное решение для неограниченных торговых стратегий. Раздел 4 описывает нашу методологию параметрического стохастического управления через статистические суррогаты. Раздел 5 представляет численные эксперименты и получаемые инсайты. После краткого заключения в разделе 6, раздел 7 содержит доказательства.
2. Постановка задачи
Пусть $(\Omega, \mathcal{F}, \mathbb{F} = (\mathcal{F}_n)_{n=0,\ldots,N}, \mathbb{P})$ — дискретновременное фильтрованное вероятностное пространство с тривиальной $\sigma$-алгеброй $\mathcal{F}_0$ и конечным горизонтом $N \in \mathbb{N}$. Мы рассматриваем финансовый рынок с одним рисковым активом, чей $\mathbb{F}$-адаптированный вещественнозначный невозмущённый фундаментальный ценовой процесс обозначается $P = (P_n)_{n=0,\ldots,N}$. Полагаем $P_0 := p_0 \in \mathbb{R}_+$.
Предположим, что крупный трейдер динамически торгует рисковой бумагой и несёт ценовое воздействие неблагоприятным образом. Конкретно, для $n \in \{1, \ldots, N\}$, выбирая число акций в момент $n - 1$, он торгует $u_n \in \mathcal{F}_{n-1}$ акций в $n$-м торговом периоде и сталкивается с $n$-м фундаментальным случайным шоком $\Delta P_n := P_n - P_{n-1} \in \mathcal{F}_n$. Его действие перманентно влияет на будущую эволюцию процесса мид-цены $M = (M_n)_{n=0,\ldots,N}$, которая становится
\[ M_n := P_n + \gamma \sum_{j=1}^{n} u_j, \qquad n = 1, \ldots, N, \tag{1} \]после исполнения $n$-й заявки $u_n$ (полагаем $M_0 := P_0$). Параметр $\gamma \geq 0$ представляет линейное перманентное ценовое воздействие.
Кроме того, рыночные заявки трейдера исполняются с отклонением $D_n$ от мид-цены $M_n$ из (1). Постисполнительная динамика этих отклонений $D = (D_n)_{n=1,\ldots,N}$ от мид-цены после торговли $u_n$ акциями в момент $n \in \{1, \ldots, N\}$ моделируется как
\[ D_0 := d_0, \qquad D_n := (1 - \kappa) D_{n-1} + \eta |u_n|^{\alpha} \mathrm{sgn}(u_n) + \epsilon_n, \qquad n = 1, \ldots, N, \tag{2} \]где $d_0 \in \mathbb{R}$ — заданное начальное отклонение. Таким образом, в отсутствие действий крупного трейдера отклонение стремится экспоненциально вернуться к нулю со скоростью $\kappa \in (0, 1]$; последний параметр известен как устойчивость книги (book resilience). Устойчивость улавливает транзиентность мгновенного ценового воздействия: $\kappa$ представляет долю, на которую отклонение от мид-цены $M$, вызванное прошлыми сделками, уменьшается за торговый период. Эмпирически процесс отклонения $D$ можно калибровать, рассматривая спред и глубину лимитного стакана (LOB).
Из-за конечной глубины рынка, измеряемой как $1/\eta > 0$, оборот трейдера в $u_n$ акций толкает отклонение в направлении сделки на постоянный множитель $\eta$, умноженный на мгновенное ценовое воздействие, которое предполагается равным $|u_n|^{\alpha} \mathrm{sgn}(u_n)$, $\alpha > 0$. Следуя, например, Бушо и др. [21, 22], этот степенной член обобщает распространённую линейную ситуацию $\alpha = 1$ из Обижаевой и Ванга [48], где мгновенное ценовое воздействие равно $\eta u_n$. Однако эмпирически мгновенное ценовое воздействие наблюдается вогнутым (по крайней мере для относительно малых $u_n$), так что $\alpha < 1$ выглядит реалистичнее; см. Лилло и др. [45], Бушо и др. [21], Бакри и др. [15].
$\mathbb{R}$-значная, $\mathbb{F}$-адаптированная последовательность случайных величин $(\epsilon_n)_{n=1,\ldots,N}$ с нулевым средним представляет дополнительные малые возмущения отклонения, происходящие, например, от рыночных и лимитных заявок, размещаемых в момент $n$ другими мелкими участниками рынка, что делает транзиентное ценовое воздействие, улавливаемое процессом отклонения $D$, стохастическим; ср., например, Бехерер и др. [18].
До конца статьи мы предполагаем, что $(\Delta P_n)_{n=1,\ldots,N}$ — независимые и квадратично интегрируемые случайные величины с нулевым средним. Возмущения $(\epsilon_n)_{n=1,\ldots,N}$ в (2) — н.о.р. нормально распределённые случайные величины с нулевым средним и дисперсией $\sigma^2 > 0$, также независимые от $(\Delta P_n)_{n=1,\ldots,N}$. Мы также рассматриваем случай $\sigma = 0$, когда $\epsilon_n \equiv 0$ для каждого $n \in \{1, \ldots, N\}$. Наконец, фильтрация $\mathbb{F}$ задаётся как $\mathcal{F}_n = \sigma(\{\Delta P_1, \epsilon_1, \ldots, \Delta P_n, \epsilon_n\})$ для всех $n \in \{1, \ldots, N\}$.
2.1. Оптимальное исполнение сделок
С этого момента предположим, что крупный трейдер хочет выполнить программу покупки $X_0 > 0$ акций, исполнив $N$ рыночных заявок на покупку $u_n \geq 0$, $n = 1, \ldots, N$. Он начинает с нулевым инвентарём, и мы используем $X_n$ для обозначения оставшегося числа акций, которое ему нужно купить после шага $n$ для достижения цели. То есть мы полагаем
\[ X_n := X_0 - \sum_{j=1}^{n} u_j, \qquad n = 1, \ldots, N, \tag{3} \]где $X_n$ представляет оставшуюся заявку к исполнению после $n$-й сделки $u_n$.
Как принято в литературе, для описания эволюции денежного баланса крупного трейдера мы предполагаем, что $n$-я транзакция $u_n$ влияет на мид-цену $M$ и отклонение $D$ постепенно. Точнее, половина $n$-й заявки исполняется по предтранзакционной мид-цене $M_{n-1}$ и обновлённому предтранзакционному отклонению $(1 - \kappa) D_{n-1}$, тогда как другая половина исполняется по менее выгодным посттранзакционным величинам $M_n - \Delta P_n$ (до того, как $n$-й фундаментальный случайный шок ударит по цене акции) и $D_n - \epsilon_n$ (до $n$-го случайного возмущения отклонения). Отсюда, предполагая нулевые процентные ставки, условие самофинансирования диктует, что изменения денежного баланса трейдера $(C_n)_{n=1,\ldots,N}$ с начальным значением $c_0 \in \mathbb{R}$ обусловлены только его покупками рискового актива, исполняемыми по описанным выше средним ценам исполнения:
\[ \begin{aligned} C_0 &:= c_0, \\ C_n &:= C_{n-1} - \left( \frac{M_{n-1} + (1-\kappa)D_{n-1} + M_n - \Delta P_n + D_n - \epsilon_n}{2} \right) u_n \\ &= C_{n-1} - \left( P_{n-1} - \frac{\gamma}{2}(X_n + X_{n-1}) + \gamma X_0 \right) u_n - \left( (1-\kappa)D_{n-1} + \frac{\eta}{2} u_n^{\alpha} \right) u_n, \qquad n = 1, \ldots, N. \end{aligned} \tag{4} \]Лемма 1. Терминальная денежная позиция $C_N$ в момент $N$ для расписания покупок $(u_n)_{n=1,\ldots,N}$ с $u_n \geq 0$ для всех $n \in \{1, \ldots, N\}$ и терминальным ограничением состояния $X_N = 0$ равна
\[ C_N = c_0 - \left( p_0 + \frac{\gamma}{2} X_0 \right) X_0 - \sum_{n=1}^{N-1} X_n \Delta P_n - \sum_{n=1}^{N} \left( (1-\kappa)D_{n-1} + \frac{\eta}{2} u_n^{\alpha} \right) u_n. \tag{5} \]Доказательство. Используя $u_n = X_{n-1} - X_n$, получаем из (4) вместе с (2) и (1)
\[ \begin{aligned} C_N &= C_0 - \sum_{n=1}^{N} P_{n-1} u_n + \frac{\gamma}{2} \sum_{n=1}^{N} (X_{n-1}^2 - X_n^2) - \gamma X_0 \sum_{n=1}^{N} u_n - \sum_{n=1}^{N} \left( (1-\kappa)D_{n-1} + \frac{\eta}{2} u_n^{\alpha} \right) u_n \\ &= c_0 - \sum_{n=1}^{N-1} X_n \Delta P_n - p_0 X_0 - \gamma X_0 (X_0 - X_N) + \frac{\gamma}{2}(X_0^2 - X_N^2) - \sum_{n=1}^{N} \left( (1-\kappa)D_{n-1} + \frac{\eta}{2} u_n^{\alpha} \right) u_n. \end{aligned} \tag{6} \]При терминальном ограничении $X_N = 0$ представление (6) упрощается до (5). $\blacksquare$
Далее, чтобы ввести задачу оптимизации трейдера, обозначим для всех шагов $n = 1, \ldots, N$ совокупность допустимых стратегий покупки как
\[ \mathcal{A}_n := \left\{ (u_j)_{j=n,\ldots,N} : u_j \in L^{(\alpha+1)\vee 2}(\mathcal{F}_{j-1}, \mathbb{P}),\ u_j \geq 0 \text{ п.н. для всех } j = n, \ldots, N,\ \sum_{j=n}^{N} u_j = X_{n-1} \right\}. \tag{7} \]Трейдер стремится максимизировать ожидаемую терминальную денежную позицию из (5), одновременно контролируя инвентарный риск. Последний моделируется через квадратичный штраф срочности $\nu X_n^2$ с параметром срочности $\nu \geq 0$ на невыполненную заявку. Комбинируя два члена, цель — минимизировать
\[ \inf_{(u_n)_{n=1,\ldots,N} \in \mathcal{A}_1} \mathbb{E}\left[ \sum_{n=1}^{N} \left\{ \left( (1-\kappa)D_{n-1} + \frac{\eta}{2} u_n^{\alpha} \right) u_n + \nu (X_{n-1} - u_n)^2 \right\} \right]. \tag{8} \]Заметим, что $X_{n-1} - u_n = X_n$ — оставшаяся заявка к исполнению; наша нотация подчёркивает роль $X_{n-1}$ и $D_{n-1}$ как переменных состояния и $u_n$ как управления. Как хорошо известно в литературе, перманентный импакт $\gamma$ исчезает из (8) и из нашего дальнейшего обсуждения, поскольку он лишь добавляет фиксированное смещение $-0.5\gamma X_0^2$ к терминальной денежной позиции независимо от торговой стратегии. Аналогично, мартингальный член $\sum_n X_n \Delta P_n$ в (5) также исчезает после взятия ожидания благодаря независимости приращений цены.
Мы вводим для всех $n \in \{1, \ldots, N\}$ функцию ценности как
\[ V_n(x, d) := \inf_{(u_j)_{j=n,\ldots,N} \in \mathcal{A}_n} \mathbb{E}\left[ \sum_{j=n}^{N} \left( (1-\kappa)D_{j-1} + \frac{\eta}{2} u_j^{\alpha} \right) u_j + \nu (X_{j-1} - u_j)^2 \,\Bigg|\, X_{n-1} = x, D_{n-1} = d \right]. \tag{9} \]Для характеризации $V_n$ мы используем соответствующее уравнение динамического программирования (DP). Поскольку на последнем периоде $N$ допустимое множество $\mathcal{A}_N$ — синглтон $u_N \equiv X_{N-1}$, имеем терминальное условие
\[ V_N(x, d) = (1 - \kappa) \cdot d \cdot x + \frac{\eta}{2} x^{\alpha+1}, \tag{10} \]и затем для $n = N-1, \ldots, 1$
\[ V_n(x, d) = \inf_{u \in [0,x]} \mathbb{E}\left[ (1-\kappa) \cdot d \cdot u + \frac{\eta}{2} u^{\alpha+1} + \nu (x - u)^2 + V_{n+1}(x - u, D_n) \,\Big|\, X_{n-1} = x, D_{n-1} = d \right] \tag{11} \]с $D_n = (1-\kappa)d + \eta u^{\alpha} + \epsilon_n$, как постулировано в (2), и ожиданием по гауссовскому шуму $\epsilon_n \sim \mathcal{N}(0, \sigma^2)$.
Уравнение DP (11) имеет две первичные переменные состояния $(X_{n-1}, D_{n-1})$. Ниже мы также рассмотрим его зависимость от статических параметров $\kappa, \eta, \alpha, \nu, \sigma$. Напомним, что $\kappa \in (0, 1]$ — устойчивость книги (меньшее $\kappa$ усиливает транзиентное ценовое воздействие); $\eta > 0$ — мгновенное ценовое воздействие (большее $\eta$ заставляет сделки сильнее влиять на $D_n$); $\nu \geq 0$ — параметр срочности (большее $\nu$ поощряет более крупные покупки для смягчения инвентарного риска); $\alpha \approx 1$ — показатель функции мгновенного ценового воздействия ($\alpha \gtrless 1$ даёт выпуклое (соотв. вогнутое) ценовое воздействие), и $\sigma > 0$ — стандартное отклонение отклонения $D_n$ на шаг вперёд. Заметим, что хотя $\kappa$ и $\alpha$ безразмерны, значение $\nu$ следует воспринимать относительно начального инвентаря $X_0$, а значения $\eta, \sigma$ следует выбирать относительно флуктуаций $D_n$. Например, если $X_0 = 10^5$ (программа покупки ста тысяч акций), то $\nu$ должно быть порядка $10^{-4}$, $\eta$ — порядка $10^{-3}$ (чтобы $D_n$ был порядка 10–100), а $\sigma$ — порядка 1.
Замечание 1 (Неограниченная задача). В сформулированной выше задаче оптимального исполнения заманчиво априори разрешить торговлю в обоих направлениях (заявки на покупку $u_n > 0$ и на продажу $u_n < 0$), как в дискретновременной модели линейного транзиентного ценового воздействия Аккермана и др. [2]; то есть вычислять
\[ V_n^{\circ}(x, d) := \inf_{(u_j)_{j=n,\ldots,N} \in \mathcal{A}_n^{\circ}} \mathbb{E}\left[ \sum_{j=n}^{N} \left( (1-\kappa)D_{j-1} + \frac{\eta}{2} |u_j|^{\alpha} \mathrm{sgn}(u_j) \right) u_j + \nu (X_{j-1} - u_j)^2 \,\Bigg|\, X_{n-1} = x, D_{n-1} = d \right] \tag{12} \]по множеству неограниченных расписаний заявок
\[ \mathcal{A}_n^{\circ} := \left\{ (u_j)_{j=n,\ldots,N} : u_j \in L^{(\alpha+1)\vee 2}(\mathcal{F}_{j-1}, \mathbb{P}),\ \mathbb{R}\text{-значные для всех } j = n, \ldots, N,\ \sum_{j=n}^{N} u_j = X_{n-1} \right\}. \tag{13} \]Однако, как станет ясно в разделе 3, экзогенный шум $(\epsilon_n)_{n=1,\ldots,N}$ в процессе отклонения $D$ из (2) тогда вызвал бы ценовую манипуляцию в смысле Хубермана и Станцля [38]. То есть существовали бы прибыльные round-trip сделки — ненулевые стратегии $(u_n)_{n=1,\ldots,N} \in \mathcal{A}_1^{\circ}$, порождающие строго отрицательные ожидаемые издержки при $X_0 = 0 = X_N$ путём эксплуатации ненулевого отклонения $D_n$ для некоторого $n \in \{0, 1, \ldots, N\}$. Это можно исключить, либо введя bid-ask спред, либо ограничив торговлю одним направлением; см. также обсуждение ценовой манипуляции в [2, 28, 29] для линейного случая $\alpha = 1$ и [8, 25, 30] для нелинейного случая $\alpha \neq 1$.
3. Явное решение для неограниченного линейного случая
Неограниченная задача оптимального исполнения в (12) и (13) может быть решена явно в случае линейного транзиентного ценового воздействия ($\alpha = 1$) вычислением, аналогичным выполненному Обижаевой и Вангом [48]. Они вывели решение в детерминированном случае ($\sigma = 0$) без инвентарного штрафа ($\nu = 0$) и с начальным отклонением $d_0 = 0$.
Предложение 1. Пусть $\alpha = 1$ и $\sigma \geq 0$. Определим
\[ a_N := \frac{\eta}{2}, \quad b_N := 1 - \kappa, \quad c_N := 0 \tag{14} \]и рекурсивно для всех $n = N-1, \ldots, 1$ положим
\[ \begin{cases} a_n := \nu + a_{n+1} - \dfrac{(2\nu + 2a_{n+1} - \eta b_{n+1})^2}{2\eta + 4\nu + 4a_{n+1} - 4\eta b_{n+1} + 4\eta^2 c_{n+1}}, \\[8pt] b_n := (1-\kappa) b_{n+1} + \dfrac{2(1-\kappa)(2\nu + 2a_{n+1} - \eta b_{n+1})(1 - b_{n+1} + 2\eta c_{n+1})}{2\eta + 4\nu + 4a_{n+1} - 4\eta b_{n+1} + 4\eta^2 c_{n+1}}, \\[8pt] c_n := (1-\kappa)^2 c_{n+1} - \dfrac{(1-\kappa)^2 (1 - b_{n+1} + 2\eta c_{n+1})^2}{2\eta + 4\nu + 4a_{n+1} - 4\eta b_{n+1} + 4\eta^2 c_{n+1}}. \end{cases} \tag{15} \]Тогда функция ценности в (12) квадратична по своим аргументам и равна
\[ V_n^{\circ}(x, d) = a_n x^2 + b_n x d + c_n d^2 + \sigma^2 \sum_{j=n+1}^{N} c_j \qquad (n = 1, \ldots, N). \tag{16} \]Более того, оптимальная стратегия исполнения $(u_n^{\circ})_{n=1,\ldots,N} \in \mathcal{A}_1^{\circ}$ задаётся как
\[ \begin{aligned} u_n^{\circ} &= \frac{(2\nu + 2a_{n+1} - \eta b_{n+1}) X_{n-1}^{\circ} - (1 - b_{n+1} + 2\eta c_{n+1})(1-\kappa) D_{n-1}^{\circ}}{\eta + 2\nu + 2a_{n+1} - 2\eta b_{n+1} + 2\eta^2 c_{n+1}} \qquad (n = 1, \ldots, N-1), \\ u_N^{\circ} &= X_{N-1}^{\circ}, \end{aligned} \tag{17} \]где $X_{n-1}^{\circ} = X_0 - \sum_{j=1}^{n-1} u_j^{\circ}$ и
\[ D_{n-1}^{\circ} = (1-\kappa)^{n-1} d_0 + \eta \sum_{j=1}^{n-1} (1-\kappa)^{(n-1)-j} u_j^{\circ} + \sum_{j=1}^{n-1} (1-\kappa)^{(n-1)-j} \epsilon_j \tag{18} \]для всех $n = 1, \ldots, N+1$.
Замечание 2. В детерминированном случае $\sigma = 0$ и при $\nu = 0$, а также $d_0 = 0$ решение из Предложения 1 совпадает с детерминированным решением, представленным в Обижаевой и Ванге [48, Proposition 1].
Заметим, что для каждого $n \in \{1, \ldots, N\}$ оптимальная политика исполнения $u_n^{\circ}$ в (17) задана как детерминированная линейная функция обратной связи от управляемых случайных переменных состояния $X_{n-1}^{\circ}$ и $D_{n-1}^{\circ}$. Также коэффициенты этой линейной функции не зависят от $\sigma$. Поэтому в детерминированной версии задачи с $\sigma = 0$ оптимальная политика задаётся тем же самым законом обратной связи (17). Более того, поскольку переменные состояния $X_{n-1}^{\circ}$ и $D_{n-1}^{\circ}$ сами линейны по $(u_j^{\circ})_{j=1,\ldots,n-1}$ и н.о.р. гауссовскому шуму $(\epsilon_j)_{j=1,\ldots,n-1}$ с нулевым средним, следует, что оптимальные сделки $(u_n^{\circ})_{n=1,\ldots,N}$ стохастической версии задачи с $\sigma > 0$ на самом деле — просто гауссовски распределённое возмущение соответствующего детерминированного решения со средним, равным последнему.
Следствие 1. В среднем оптимальные исполнения $(u_n^{\circ})_{n=1,\ldots,N}$ из (17) совпадают с $u_n^{\circ}$ для детерминированной задачи с $\sigma = 0$. Более того, как случайная величина, $u_n^{\circ}$ имеет гауссовское распределение с указанным средним.
Замечание 3 (Прибыльные round-trip стратегии). Пусть $N \geq 2$. В силу леммы 2 ниже получаем, что коэффициенты $(c_n)_{n=1,\ldots,N-1}$ в (15) все строго отрицательны при $\kappa < 1$. Как следствие, если $\sigma > 0$ и начальный объём покупки нулевой ($X_0 = 0$), имеем $V_n^{\circ}(0, d) < V_n^{\circ}(0, 0) < 0$ в (16) при $n < N$. Другими словами, получающаяся оптимальная стратегия в (17) — прибыльная round-trip стратегия в смысле Хубермана и Станцля [38]. Это происходит потому, что политика обратной связи с готовностью эксплуатирует ненулевое отклонение и его устойчивость по мере возникновения; см. также подробное обсуждение в [2, 28, 29]. Аналогично, в согласии с последними ссылками, заметим, что при детерминированной устойчивости $\sigma = 0$ прибыльных round-trip стратегий нет (как нет и стратегий манипуляции, вызванной транзакциями, в смысле Альфонси и др. [9]), пока начальное отклонение удовлетворяет $d_0 = 0$ (поскольку $V_0^{\circ}(0,0) = 0$ и $u_n^{\circ} \equiv 0$ для всех $n = 1, \ldots, N$).
3.1. Случай детерминированной устойчивости $\sigma = 0$
В детерминированном случае $\sigma = 0$ решение из Предложения 1 можно переписать в явной замкнутой форме без обратной рекурсии (15) и прямой политики обратной связи (17). Ввиду следствия 1 это полезно для выявления зависимости средних оптимальных исполнений $u_1^{\circ}, \ldots, u_N^{\circ}$ от модельных параметров $\kappa \in (0, 1]$, $\eta > 0$ и $\nu \geq 0$.
Предложение 2. Пусть $\sigma = 0$. Пусть также $a, b, c, a^x, b^x, c^x, a^d, b^d, c^d \in \mathbb{R}^N$ — векторы, определённые в (50), (52), (54) ниже. Положим
\[ \begin{aligned} \hat{b} &:= -\frac{a^{\top}(\eta b + (1-\kappa) b^d) + (1-\kappa)(a^d)^{\top} b + 2\nu (a^x)^{\top} b^x}{\eta a^{\top} a + 2(1-\kappa)(a^d)^{\top} a + 2\nu (a^x)^{\top} a^x}, \\[4pt] \hat{c} &:= -\frac{a^{\top}(\eta c + (1-\kappa) c^d) + (1-\kappa)(a^d)^{\top} c + 2\nu (a^x)^{\top} c^x}{\eta a^{\top} a + 2(1-\kappa)(a^d)^{\top} a + 2\nu (a^x)^{\top} a^x}. \end{aligned} \tag{19} \]Тогда оптимальная стратегия исполнения из Предложения 1 в (17) задаётся как
\[ u_1^{\circ} = \hat{b} \cdot d_0 + \hat{c} \cdot X_0 \tag{20} \]и
\[ u_n^{\circ} = a_n \cdot u_1^{\circ} + b_n \cdot d_0 + c_n \cdot X_0 \qquad (n = 2, \ldots, N). \tag{21} \]Более того, оптимально управляемый процесс отклонения и оставшийся инвентарь равны
\[ X_n^{\circ} = a_{n+1}^x \cdot u_1^{\circ} + b_{n+1}^x \cdot d_0 + c_{n+1}^x \cdot X_0, \qquad D_n^{\circ} = a_{n+1}^d \cdot u_1^{\circ} + b_{n+1}^d \cdot d_0 + c_{n+1}^d \cdot X_0 \qquad (n = 0, \ldots, N-1). \tag{22} \]Заметим, что в Предложении 2 детерминированная оптимальная стратегия $u_1^{\circ}, \ldots, u_N^{\circ}$ в (21) полностью характеризуется первой сделкой $u_1^{\circ}$ из (20), а размеры заявок меняются во времени $n \in \{1, \ldots, N\}$. Дальнейшее упрощение получается при отсутствии штрафа срочности/инвентаря, то есть $\nu = 0$. Конкретно, все промежуточные сделки $u_2^{\circ}, \ldots, u_{N-1}^{\circ}$ плоские и определяются как $\kappa$-доля первой заявки $u_1^{\circ}$, сдвинутая на долю $d_0$.
Следствие 2. Положим $\nu = 0$ в Предложении 2. Тогда в (19) имеем
\[ \hat{b} = -\frac{\eta \tilde{b} (N-2)\big(1 + \kappa(N-1)\big) + \kappa(1-\kappa)}{\kappa \eta (N-1)(2 + (N-2)\kappa)} \quad \text{и} \quad \hat{c} = \frac{1}{2 + (N-2)\kappa}, \tag{23} \]и оптимальные промежуточные сделки в (21) с начальной сделкой $u_1^{\circ}$ из (20) постоянны и упрощаются до
\[ u_n^{\circ} = \kappa \cdot u_1^{\circ} + \tilde{b} \cdot d_0 \qquad (n = 2, \ldots, N-1) \tag{24} \]с $\tilde{b}$, определённым в (48) ниже. Последняя сделка равна $u_N^{\circ} = X_0 - (1 + (N-2)\kappa) \cdot u_1^{\circ} - (N-2)\tilde{b} \cdot d_0$. Оптимально управляемый процесс отклонения и оставшийся инвентарь в (22) упрощаются до
\[ X_n^{\circ} = X_0 - (1 + (n-1)\kappa) \cdot u_1^{\circ} - (n-1)\tilde{b} \cdot d_0, \qquad D_n^{\circ} = \eta \cdot u_1^{\circ} + (1-\kappa) \cdot d_0 \qquad (n = 1, \ldots, N-1). \tag{25} \]В частности, если $d_0 = 0$, выполняется
\[ u_1^{\circ} = u_N^{\circ} = \frac{X_0}{2 + (N-2)\kappa} \quad \text{и} \quad u_2^{\circ} = \ldots = u_{N-1}^{\circ} = \kappa u_1^{\circ}. \tag{26} \]Следствие 2 показывает, что в детерминированном случае без штрафа срочности $\nu = 0$ оптимальная стратегия исполнения в (24) постоянна для промежуточных сделок от 2 до $N-1$ и держит процесс отклонения в (25) плоским до $N-1$. Если вдобавок $d_0 = 0$ (то есть постановка Обижаевой и Ванга [48]), оптимальная стратегия упрощается до симметричной U-образной (26) и становится независимой от параметра мгновенного ценового воздействия $\eta$ (как отмечено в [48]). Первая и последняя сделки одинаковы, а все остальные промежуточные сделки просто задаются постоянной $\kappa$-долей начальной сделки. В частности, при полной устойчивости $\kappa = 1$ все сделки просто равны $X_0/N$.
Замечание 4. Простая формула (26) была также выведена у Альфонси и др. [6, Corollary 6.1].
3.2. Профили оптимального исполнения
Рисунок 1 иллюстрирует поведение оптимальной программы покупки из Предложения 2 с линейным транзиентным ценовым воздействием ($\alpha = 1$) для разных значений модельных параметров $\kappa, \eta$. Мы рассматриваем покупку $X_0 = 100{,}000$ акций за $N = 10$ сделок с начальным отклонением $d_0 = 0$. Как обсуждалось, при $\nu = 0$ мы получаем хорошо известную U-форму расписания покупок, управляемую только $\kappa$. При положительном $\nu > 0$ появляется несколько новых качественных эффектов: (i) оптимальная стратегия теперь зависит и от скорости устойчивости $\kappa$, и от временного ценового воздействия $\eta$; (ii) промежуточные сделки в общем случае больше не плоские; и (iii) общий паттерн может сдвинуться от U-образного к монотонно убывающей последовательности сделок. Наличие инвентарного штрафа $\nu > 0$ создаёт стимул покупать быстрее в начале, что становится более выраженным при малом $\eta$. Следовательно, случай $\nu > 0$ и малого $\eta$ может привести к убывающему расписанию исполнения, ср. фиолетовую кривую на рис. 1.
Заметим, что относительно малые изменения модельных параметров генерируют значительное влияние на оптимальную стратегию $u_n^{\circ}$. Например, начальная сделка $u_1^{\circ}$ может составлять более 55% полного $X_0$, когда $\kappa$ мало и $\eta$ мало (что смещает акцент на инвентарный риск), и менее 25% от $X_0$ при больших $\kappa$ и $\eta$ (где сильная устойчивость и сильный временный импакт поощряют торговать почти равными объёмами на каждом шаге). Отметим также немонотонное поведение стратегий: кривые $n \mapsto u_n^{\circ}$ пересекаются на разных шагах.
На правой панели рис. 2 мы иллюстрируем, как потраекторные стратегии $u_n^{\circ}$ при $\sigma > 0$ из Предложения 1 нормально распределены и совпадают в среднем с детерминированным решением, ср. следствие 1. На графике синие столбцы соответствуют оптимальному детерминированному решению из Предложения 2 и следствия 2; а боксплоты показывают распределение $(u_n^{\circ})_{n=1,\ldots,10}$ из Предложения 1. Мы берём $\sigma = 2$ и усредняем по 10 000 траекторий, рассматривая и классический случай с $\nu = 0$ (левая панель с U-образной стратегией), и наше расширение на положительный инвентарный штраф $\nu > 0$ (правая панель). В согласии со следствием 1 эмпирические средние совпадают с детерминированным решением. Поскольку это свойство верно для любой конфигурации $(\kappa, \eta, \nu)$, указанные качественные эффекты можно вывести и для стохастических оптимальных управлений с обратной связью в (17).
4. Численная реализация
В случае нелинейного транзиентного ценового воздействия $\alpha \neq 1$ решение в замкнутой форме невозможно, и для вычисления оптимального решения $(u_n^*)_{n=1,\ldots,N}$ задачи минимизации (8) нужны численные методы. Численный алгоритм нужен и при $\alpha = 1$ для обработки ограниченной постановки «только покупки» $u_n \geq 0$. Наконец, алгоритм будет полезен для изучения зависимости $V_n, u_n^*$ от модельных параметров. Наш алгоритм вычисления функции ценности и оптимальной стратегии опирается на уравнение Беллмана (11), дающее рекурсивную характеризацию $V_n$ и, следовательно, $u_n^*$. С учётом параметрической постановки мы рассматриваем обобщённое состояние $y$, объединяющее стохастические состояния $(x, d)$ и некоторые (или ни одного) из упомянутых модельных параметров; до конца этого раздела трактуем $V_n$ и $u_n^*$ как функции от $y$.
Чтобы решить (11), нужно уметь вычислять его правую часть. Это влечёт: (i) вычисление $V_{n+1}(\cdot)$; (ii) вычисление условного ожидания; (iii) взятие $\inf$ по $u$. Ни один из этих шагов невозможно выполнить аналитически, и необходимы численные техники.
Ниже мы предлагаем и реализуем прямой подход на основе построения функционального аппроксиматора — также известного как суррогат — $\hat{V}$ к функции ценности, обучаемого через эмпирическую регрессию. Этот метод также известен в литературе как приближённое динамическое программирование (ADP) и Projected Value Iteration (PVI); см., например, Кешаварц и Бойд [42] и ссылки там. Конкретно, мы рассматриваем использование (feed-forward) нейронных сетей (NN). Заметим, что наш метод основан на уравнении DP; мы не обращаемся к уравнениям Гамильтона–Якоби–Беллмана, используемым в непрерывновременных постановках и допускающим собственные наборы NN-подходов. Не рассматриваем мы и обучение с подкреплением (RL), которое отказывается от парадигмы «разделяй и властвуй», лежащей в основе уравнения Беллмана и функции ценности, и стремится максимизировать полный торговый доход на всём горизонте. А именно, RL решает все $V_n$ параллельно по $n = 1, 2, \ldots, N$, тогда как мы сохраняем последовательное обратное обучение $V_{N-1}, V_{N-2}, \ldots, V_1$.
Вместо этого наш подход концептуально верен классической философии DP и предлагает следующие преимущества:
- Он прост для понимания и реализации, в некотором смысле предлагая самый непосредственный способ применения суррогатов и других техник машинного обучения для DP. Тем самым мы обходим более тонкие идеи, которые выдвигались ранее, предлагая постановку педагогического характера;
- Он обеспечивает модуляризацию, подчёркивая, что NN-решатели — лишь один из многих потенциальных типов суррогатов. Тем самым он демистифицирует глубокое обучение, просто трактуя его как один выбор из многих. Действительно, в нашей реализации достаточно нескольких строк кода, чтобы подставить другой тип суррогата.
4.1. Построение суррогата
Обозначим через $Y \subseteq \mathbb{R}^{\ell}$ пространство состояний суррогата, включающее собственно входы $x, d$, а также все релевантные модельные параметры из числа $\kappa, \eta, \alpha, \nu$, которые мы хотим ухватить. В примерах ниже мы рассматриваем $\ell \in \{2, 3, 4, 5\}$, с главным иллюстративным примером $\ell = 4$, где берём $y = (x, d, \kappa, \eta)$, то есть одновременно обучаем функцию ценности и стратегию как функцию от $(x, d)$, устойчивости $\kappa$ и мгновенного ценового воздействия $\eta$ при некоторых фиксированных $\alpha$ и $\nu$.
Обозначим через $G(y, u, \epsilon)$ одношаговую функцию перехода $y$ при внешнем шуме $\epsilon$ и действии $u$. Например,
\[ G((x, d, \kappa, \eta), u, \epsilon) = (x - u,\ (1-\kappa)d + \eta u^{\alpha} + \epsilon,\ \kappa,\ \eta). \]Наше разрешение уравнения DP (11) работает «как есть» с каждым из подшагов. Это означает, что на обобщённом промежуточном шаге $n$ обратной рекурсии при данном суррогате $\hat{V}_{n+1}$ мы сначала подставляем его вместо $V_{n+1}$. Далее, ожидание в (11) берётся по стохастическим шокам $\epsilon_n$ — одномерным гауссовским случайным величинам. Мы применяем гауссовскую квадратуру, заменяя соответствующий интеграл конечной суммой. Конкретно, мы опираемся на оптимальное квантование Балли и др. [16] и Пажеса и др. [49] для выбора $j = 1, \ldots, N'$ весов $w^j$ и соответствующих узлов $e^j$, чтобы приблизить
\[ \mathbb{E}\left[ \hat{V}_{n+1}(G(y, u, \epsilon_n)) \,\middle|\, Y_n = y \right] \simeq \sum_{j=1}^{N'} w^j \hat{V}_{n+1}\big(G(y, u, e^j)\big). \tag{27} \]Замечание 5. Можно непосредственно рассматривать негауссовские (например, с тяжёлыми хвостами) распределения шума $\epsilon_n$, тем самым получая другое нелинейное обобщение. Негауссовский $\epsilon_n$ сводится просто к взятию другого набора $e^j, w^j$.
Оптимизация по числу акций к покупке $u_n$ выполняется численным оптимизатором, а именно стандартной безградиентной процедурой оптимизации (такой как L-BFGS), доступной в любом программном пакете. Заметим, что $u_n$ скалярна, что позволяет использовать быстрые одномерные алгоритмы поиска корней. В нашей реализации мы не вычисляем никаких градиентов $\hat{V}_{n+1}$, хотя это возможно. Чтобы ограничиться $u \in [0, x]$ и исключить любые продажи, мы оптимизируем на указанном ограниченном интервале, что непосредственно поддерживается такими решателями.
Наконец, остаётся построить $\hat{V}_n$. Как задача машинного обучения, цель — выучить истинное отображение вход-выход $y \mapsto V_n(y)$. Такая функциональная аппроксимация, она же построение суррогата [34], выполняется выбором коллекции обучающих входов $y^{1:M} \in Y$, вычислением (зашумлённой версии) $V_n(y^{1:M}) =: v_n^{1:M}$ и затем подгонкой статистического представления $\hat{V}_n(\cdot)$, способного интерполировать на новые, out-of-sample $y$. Вычисление $v_n^m$ достигается прямым расчётом через нелинейный оптимизатор и квантованный интеграл в правой части (11):
\[ v_n^m := \inf_{u \in [0, x_{n-1}^m]} \left( (1 - \kappa^m) d_{n-1}^m u + \frac{\eta^m}{2} u^{\alpha^m + 1} + \nu^m (x_{n-1}^m - u)^2 + \sum_{j=1}^{N'} w^j \hat{V}_{n+1}\big(G(y_{n-1}^m, u, e^j)\big) \right). \tag{28} \]Заметим, что (28) использует $\hat{V}_{n+1}$ и потому ведёт к рекурсивному построению назад во времени, полностью имитирующему уравнение динамического программирования. Эта рекурсия инициализируется точным терминальным условием $\hat{V}_N(y) \equiv V_N(y) = \big((1-\kappa)d + \frac{\eta}{2} x^{\alpha}\big) x$ и затем выполняется для $n = N-1, N-2, \ldots, 1$. Наша нотация подчёркивает поточечный характер оптимизации для $v_n^m$, беря статические параметры $\kappa, \eta, \alpha, \nu$ как часть обучающего дизайна, то есть варьирующимися по $m$.
4.2. Аппроксимация политики
Первичный выход численного решателя — стратегия исполнения, заданная в форме обратной связи $y \mapsto u_n^*(y)$. Действительно, именно стратегия — то, что в конечном счёте нужно контроллеру, и она даёт ясную интерпретацию: сколько акций решатель рекомендует купить следующими. Напротив, приближённую функцию ценности $\hat{V}$ труднее интерпретировать (поскольку она не в чистых денежных долларах, а потенциально включает и абстрактные инвентарные издержки), и, кроме того, из-за промежуточных приближений она не имеет никакого конкретного вероятностного представления. Действительно, тогда как истинная $V$ — ожидаемые издержки стратегии, $\hat{V}$ не является ожиданием на $[0, T]$, поскольку получается из одношаговых рекурсий.
Традиционно $u^*$ характеризуется как $\arg\inf$ рекурсии Беллмана (11), так что для получения $u_n^*(y)$ нужно заново выполнить оптимизацию по $\hat{V}_n$. Это затратно по времени, неэффективно и непрозрачно для пользователя. Вместо этого мы ищем прямое представление для $u_n^*$ и в духе мышления машинного обучения (конкретно, actor-critic каркасов) предлагаем построить второй суррогат, вспомогательный к описывающему $\hat{V}$. Соответственно, мы строим отдельный суррогат $\hat{u}_n(\cdot)$, обучаемый на записанных $u_n^m$ — оптимальных объёмах исполнения для каждого $y_{n-1}^m$. Заметим, что подгонка $\hat{u}_n$ независима от главного цикла выше, поэтому может выполняться параллельно с $\hat{V}_n$ или постфактум.
Даже когда обучающие входы $u_n^m$ лежат в диапазоне $[0, x_{n-1}^m]$, в общем случае не гарантируется, что это будет верно для подогнанного предсказания $\hat{u}(y_{n-1}^m)$. Чтобы обеспечить это ограничение, мы обучаем $\hat{u}$ на долях $u_n^m / x_{n-1}^m \in [0, 1]$ и используем сигмоидное преобразование, внутренне ограничивающее все предсказания (снова интерпретируемые как доли текущего инвентаря к покупке) в $(0, 1)$.
Замечание 6. В нашей постановке мы сначала поточечно аппроксимируем $u_n(y_{n-1}^m)$, а затем подгоняем статистический суррогат к этим сэмплам; у Башуша и др. [14] и Юре и др. [39] стратегия противоположная: сначала параметризовать потенциальное $u(\cdot; \theta_n)$ нейронной сетью с весами $\theta_n$; затем использовать обратное распространение для оптимизации соответствующих гиперпараметров $\theta_n$. В этом смысле их результирующее $y \mapsto u(y; \theta_n)$ не является решением какой-либо задачи оптимизации, и нет никакого подлежащего датасета $(y_{n-1}^{1:M}, u_n^{1:M})$, как в нашем подходе.
4.3. Нейросетевые решатели
Популярный класс суррогатов — нейронные сети прямого распространения (NN). NN позволяют эффективную подгонку многомерных параметрических суррогатов с использованием обратного распространения и множества техник стохастической оптимизации, таких как стохастический градиентный спуск.
NN представляет $\hat{V}_n$ как композицию, используя линейные скрытые блоки на каждом слое, выбираемую пользователем функцию активации между слоями и выбираемое пользователем число слоёв. В нашем контексте точная архитектура feed-forward NN концептуально не важна. Параметры NN оптимизируются пакетным стохастическим градиентным спуском. По сравнению с другими статистическими моделями NN перепараметризована тысячами параметров, известных как веса. Тем не менее известно, что NN обладает отличной эмпирической сходимостью (то есть алгоритмы находят почти оптимальные веса), особенно на крупномасштабных датасетах, включая другие приложения стохастического управления [14, 36, 39, 40].
Обучение NN требует задания обучающих входов $y_n^{1:M} \equiv (x_n^{1:M}, d_n^{1:M}, \kappa_n^{1:M}, \eta_n^{1:M}) \in Y$ и инициализации весов NN. Для первого мы предлагаем заполняющий пространство экспериментальный дизайн, соответствующий стандартному подходу в статистике. По умолчанию мы выбираем гиперпрямоугольную обучающую область $\bar{Y}$ и сэмплируем каждую координату $y$ равномерно и независимо на соответствующем обучающем интервале — например, сэмплируем инвентарь $x_n \in [0, X_0]$. Можно также реализовать совместное сэмплирование в $\bar{Y}$, такое как Latin Hypercube Sampling (LHS). Ещё одна опция — использовать низкодискрепантные квази-Монте-Карло (QMC) последовательности для достижения заполняющего пространство обучающего набора произвольного размера $M$. По сравнению с н.о.р. равномерным сэмплированием LHS и QMC дают меньшую дисперсию и лучшее покрытие, избегая кластеров и пробелов в обучающих точках, что важно, когда $M$ относительно мало по сравнению с размерностью $y$. Заметим, что обучающие наборы индексируются $n$; мы сэмплируем свежие $y_n^{1:M}$ на каждом шаге, так что обучающие входы варьируются по $n$, хотя имеют тот же размер и форму.
Для инициализации весов мы нашли очень полезным перемасштабировать входы в единичный гиперкуб, что позволяет использовать стандартные априоры весов NN (а именно усечённые нормальные с нулевым средним). Аналогично, для $\hat{V}$ мы перемасштабируем обучающие выходы $v_n^m$ тоже в диапазон $[0, 1]$. Для обучения суррогата политики $\hat{u}$ мы применяем сигмоидную функцию активации на выходном слое NN, что прямо обеспечивает $\hat{u}(y) \in (0, 1)$. Эта доля умножается на текущий инвентарь $x$, давая число акций к торговле.
Наша реализация (см. дополнительный Jupyter-ноутбук) использует библиотеку TensorFlow в Python — один из самых популярных движков для NN. Мы используем «заводские настройки», строя нейронные сети через архитектуру tensorflow.keras.Sequential. Это линейный стек слоёв; мы используем одинаковое число нейронов на слой и одну функцию активации на всех слоях. Для экспериментов ниже мы используем 4 слоя и 20 нейронов с функцией активации ELU: $ELU(x) = x \mathbb{1}_{\{x > 0\}} + (e^x - 1)\mathbb{1}_{\{x \leq 0\}}$. Обучение использует алгоритм Adam со стандартной скоростью обучения, размером батча 64 и $E$ эпохами. Эпоха представляет один проход по всем обучающим данным; учитывая высокий шум в подлежащем стохастическом градиентном оптимизаторе весов NN, требуется много эпох. С указанными выборами обучение NN занимает всего несколько строк в TensorFlow. Действительно, кода для масштабирования/перемасштабирования входов и выходов требуется больше, чем для собственно построения и подгонки нейросети. Другие библиотеки нейронных сетей, такие как scikit-learn или PyTorch, можно подставить непосредственно.
Завершим этот раздел несколькими финальными замечаниями:
- Модифицировать архитектуру NN совершенно несложно. Например, чтобы заменить 4-слойную «глубокую» архитектуру на однослойную, достаточно закомментировать 3 строки в нашем коде. Аналогично, можно добавить больше слоёв изменением одной строки.
- Поскольку мы сохраняем подлежащую парадигму динамического программирования, NN подгоняются одна за другой. Поэтому есть полная гибкость в модификации любого аспекта процедуры подгонки, чтобы сделать её зависящей от шага. Это включает размер $M$ и форму обучающего набора $y_{n-1}^{1:M}$; параметры оптимизации NN, включая начальные веса; архитектуру NN, такую как число нейронов; и даже сам тип суррогата. Например, можно имитировать RL-техники, выбирая зависящие от времени обучающие области $\bar{X}_n$, отражающие естественную временную зависимость решения, такую как убывание оставшейся заявки $X_n$ во времени.
- Сходимость стохастического градиентного спуска к хорошему $\hat{V}_n$ довольно медленная. Мы находим, что для хороших результатов необходимо $E \gg 1000$ эпох. Число эпох — первичный определитель качества подгонки, ср. раздел 5.3.
- Любой суррогат можно переобучить/обновить в любой точке общего обратного цикла. Например, мы предлагаем обучить $\hat{V}_n$ для всех $n$, а затем обучать дальше (то есть прогнать обратный цикл снова с теми же обучающими сэмплами или свежесгенерированными) как один из способов улучшить эмпирическую сходимость. Этот процесс полностью прозрачен и требует лишь загрузки существующих NN-объектов, соответствующих $\hat{V}_n$, вместо инициализации новых. Аналогично, легко реализуется «тёплый старт» — использование подогнанных весов NN на шаге $n+1$ как начального приближения весов для $\hat{V}_n$.
- Типичная точка отказа суррогатов — нестабильное предсказание при экстраполяции за пределы обучающей области. Поэтому нужно внимательно выбирать обучающую область $\bar{Y}$, чтобы минимизировать экстраполяцию. Обычно моделист заранее знает интересующие тестовые случаи и потому может обеспечить, чтобы обучающий диапазон был как минимум столь же широк. Например, ниже мы хотим тестировать $\kappa \in \{0.4, 0.6, 0.8\}$ и поэтому обучаем на $\kappa_n^{1:M} \in [0.38, 0.82]$, чтобы смягчить проблемы предсказания на краю обучающей области или за ним.
Замечание 7. Вместо NN можно использовать другие типы суррогатов. Например, гауссовские процессы (GP) [52] — метод ядерной регрессии, где гиперпараметры ядра подгоняются максимальным правдоподобием. Они реализованы, например, в scikit-learn в Python. GP предлагают отбор переменных через автоматическое определение релевантности, позволяющее «выключать» ковариаты/параметры, мало влияющие на отклик. GP-суррогаты известны отличной производительностью на ограниченных датасетах и очень популярны для эмуляции дорогих компьютерных и стохастических экспериментов. Другой тип суррогатов — LASSO-линейные модели, явно проецирующие $\hat{V}_n$ на линейную оболочку базисных функций $\{B_r(y)\}$: $\hat{V}_n(y) = \beta_0 + \sum_r \beta_r B_r(y)$. Соответствующие коэффициенты определяются из ($L_1$-штрафованных) уравнений наименьших квадратов. Наконец, отметим, что не все регрессионные методы подходят; негладкие каркасы вроде случайных лесов дали бы нестабильные или разрывные оценки $\hat{u}(\cdot)$ и потому применяться не должны.
4.4. Рабочий процесс
Резюмируя, алгоритмический рабочий процесс решения параметрической задачи оптимального исполнения дан в Алгоритме 1. Мы предоставляем TensorFlow-реализацию в дополнительном полностью воспроизводимом Jupyter-ноутбуке.
Алгоритм 1. Решение задачи оптимального исполнения
Вход: $M$ (число обучающих точек)
- Положить $\hat{V}_N(y) \equiv V_N(y) = \big((1-\kappa)d + \frac{\eta}{2} x^{\alpha}\big)x$ (в терминальный момент аппроксимация не нужна)
- для $n = N-1, N-2, \ldots, 1$:
- Инициализировать нейросетевые суррогаты $\hat{V}_n$ и $\hat{u}_n$
- Выбрать экспериментальный дизайн $y_{n-1}^{1:M} = (x_{n-1}^m, d_{n-1}^m, \kappa^m, \eta^m, \nu^m, \alpha^m)_{m=1,\ldots,M}$
- для $m = 1, \ldots, M$: вычислить $v_n^m$ из (28) на $y_{n-1}^m$ безградиентным оптимизатором; записать соответствующий $u_n^m$
- По датасету $(y_{n-1}^{1:M}, v_n^{1:M})$ подогнать суррогат $\hat{V}_n(\cdot) : Y \to \mathbb{R}$
- Обучить суррогат управления $\hat{u}_n(\cdot)$, используя $(y_{n-1}^{1:M}, u_n^{1:M}/x_{n-1}^{1:M})$
- конец цикла
- Сгенерировать $M'$ out-of-sample прямых траекторий $y^{1:M'}$
- Записать издержки $\check{v}^m$, $m = 1, \ldots, M'$, используя $\hat{u}_n(y_{n-1}^m)$ как управление на шаге $n$
- вернуть эмпирические средние издержки исполнения \[ \check{V}(0, Y_0) = \frac{1}{M'} \sum_{m=1}^{M'} \check{v}^m. \tag{29} \]
5. Численные эксперименты
5.1. Сравнение с эталонной моделью
При линейном ценовом воздействии $\alpha = 1$ неограниченная стратегия $(u_n^{\circ})_{n=1,\ldots,N}$ доступна рекурсивным разбором формул Предложения 1. Это даёт конкретный бенчмарк для оценки наших численных алгоритмов. В этом разделе мы сравниваем NN-суррогат с указанной истиной. Хотя $u^{\circ}$ недопустима (поскольку может становиться и становится отрицательной в некоторых состояниях), это сравнение всё равно полезно. Для выбранных конфигураций параметров $u_n^{\circ} \gg 0$ (ср. рис. 2), так что ограничение неотрицательности несущественно на подавляющей доле траекторий, и потому $u^{\circ}$ почти оптимальна и для ограниченной задачи; то есть $u^{\circ} \approx u^*$, где $u^*$ — минимизатор в (8). Эта «почти»-оптимальность подтверждается близостью между ограниченной NN-стратегией $\hat{u}$ и неограниченной стратегией $u^{\circ}$ (LF), давая дополнительную проверку согласованности NN-решателя.
Чтобы обеспечить честную оценку $(\hat{u}_n)_{n=0}^{N-1}$, мы фиксируем набор «шумов» $\epsilon_n^{1:M'}$, питающих реализованные $D_n$, и используем эту фиксированную базу $\epsilon$ для генерации тестовых прямых траекторий как для NN-аппроксиматора, так и для точного решения. Поскольку $D_n$ зависит от прошлых объёмов исполнения, траектории аппроксимирующей стратегии будут отличаться на каждом шаге $n$. Таким образом, мы делаем не попарное сравнение между $\hat{u}_n(\cdot)$ и $u_n^{\circ}(\cdot)$ из (17), а сравнение в терминах финальных издержек исполнения в (29). Действительно, из-за стохастических флуктуаций на любой данной траектории реализованные издержки первой могут быть выше или ниже издержек бенчмарк-стратегии, однако закон больших чисел гарантирует, что при большом $M'$ средние издержки исполнения должны быть не меньше бенчмарка.
Для иллюстрации мы обучаем NN, принимающую четыре входа $(x, d, \kappa, \eta)$, и вычисляем соответствующую $\hat{u}_n$. Соответствующая 4-мерная обучающая область берётся гиперпрямоугольником: $x \in [0, 10^5]$, $d \in [0, 100]$, $\kappa \in [0.38, 0.82]$, $\eta \in [1/900, 1/5000]$. Остальные параметры фиксированы: $\nu = 0.00005$, $\sigma = 1$. Затем выбираем $M = 4000$ обучающих точек н.о.р. равномерно в указанной области, независимо для каждого шага $n$. Заметим, что хотя мы держали одну обучающую область на всех шагах, её можно варьировать по $n$. Диапазоны обучающей области в конечном счёте определяются желаемыми тестовыми конфигурациями. Например, ниже мы показываем результаты для тестового набора с $\kappa = 0.4$, $\eta = 1/1000$ и начальным условием $X_0 = 10^5$, $D_0 = 0$. Последние влияют на диапазон $X_n$. Поскольку $X_n \leq X_0$ и $X_N = 0$, обучаем на диапазоне $[0, X_0]$. Диапазон для $D_n$ зависит от $D_0$, $X_0$ и $\eta$. При $X_0 = 10^5$ мы ожидаем купить до 50–60 тыс. акций на первом шаге, что при $\eta \simeq 1/1000$ привело бы к $D_n \in [40, 80]$. Заметим, что $D_n$ высокочувствителен к $\eta$, поэтому соответствующий обучающий диапазон должен отражать границы значений $\eta$. Диапазон устойчивости $\kappa$ покрывает тестовый случай $\kappa = 0.4$ и одновременно довольно широк, чтобы покрыть спектр рыночных условий (калибровка $\kappa$ заведомо трудна). Диапазон мгновенного импакта $\eta$ выбран аналогично, чтобы покрыть спектр рыночных условий, причём $\eta = 1/1000$ даёт импакт в 5 раз сильнее, чем $\eta = 1/5000$. Квантование условного ожидания в (27) использует $N' = 50$ узлов.
Левая панель рис. 3 показывает гистограмму разницы между реализованными издержками исполнения $\check{v}^m$ от NN-аппроксиматора и бенчмарком по $10^4$ тестовым траекториям. Мы наблюдаем, что в среднем первые выше на 0.041%. Заметим, что примерно на 11.6% траекторий реализованные издержки нашей приближённой стратегии были меньше, чем у бенчмарка. С другой стороны, более чем на 95.5% траекторий издержки NN были менее чем на 0.1% выше издержек эталонной стратегии, что практически является очень хорошим уровнем точности.
Правая панель рис. 3 сравнивает эталон $u^{\circ}(y_{1:N}^{m'})$ и NN-управление $\hat{u}(y_{1:N}^{m'})$ на одной сэмплированной прямой траектории. Мы видим, что две стратегии очень близки и в потраекторном смысле, что подтверждает высокое качество аппроксимации.
5.2. Нелинейное ценовое воздействие
Теперь перейдём к стратегиям с нелинейным ценовым воздействием $\alpha \neq 1$. Два компаратора — линейная стратегия обратной связи (LF) $u^{\circ}$, определённая в (17) и ограниченная только покупками, которую обозначаем $u_n^{LF} := u_n^{\circ} \vee 0 \wedge X_n$, и политика средневзвешенной по объёму цены, известная как VWAP. Первый компаратор $u^{LF}$ использует линейную бенчмарк-формулу как функцию текущих $X_n, D_n$ — иными словами, он постулирует контрфактическое $\alpha = 1$, даже когда $\alpha$ не равно единице. Это означает, что он будет недооценивать ценовое воздействие при $\alpha > 1$ и переоценивать при $\alpha < 1$. Указанная пере- или недооценка ценового воздействия может привести к серьёзной нестабильности стратегии исполнения. Второй компаратор VWAP фиксирует $u_n^{VWAP} \equiv X_0/N$. Эта стратегия полностью независима от модели, и потому её результативность мало зависит от $\alpha$. В этом смысле VWAP — противоположность линейной политики обратной связи $u^{LF}$, делающей сильные предположения о рыночной среде; VWAP исполняет одни и те же сделки независимо от модельных параметров.
Хотя для фиксированного набора модельных параметров существует несколько способов построить нелинейный решатель, для большой коллекции $(\kappa, \eta, \alpha)$ это было бы вычислительно неподъёмно. Следовательно, наш параметрический решатель незаменим для предоставления всеобъемлющего решения по многим конфигурациям параметров. Более того, поскольку мы обучаем совместно по диапазону $\alpha$, линейный случай $\alpha = 1$ покрыт и может использоваться для косвенной оценки качества подгонки. Другими словами, мы ожидаем, что результативность NN-суррогата при $\alpha \neq 1$ будет схожа с его результативностью при $\alpha = 1$.
Рисунок 4 сравнивает получаемые NN-стратегии с линейной программой обратной связи, ограниченной только покупками. Мы видим, что линейная стратегия обратной связи $u^{LF}$ очень чувствительна к $\alpha$. При $\alpha > 1$ LF порождает осциллирующие стратегии, ср. правую панель рис. 4. Это происходит потому, что линейная обратная связь недооценивает выпуклый импакт торговли на $(D_n)$, из-за чего сначала «перелетает» относительно цели $D_{n+1}$, затем «недолетает» и т.д. Неограниченная эталонная стратегия фактически пытается продать $u_2^{\circ} < 0$ на втором шаге $n = 2$, а также на 4-м шаге. Принуждая $u_n^{LF} \geq 0$, мы всё равно получаем сильные осцилляции: отсутствие покупок при $n = 2$ и почти отсутствие при $n = 3$. Напротив, (оценённая) оптимальная стратегия гладко поддерживает $u_n > 0$ всюду. Обратно, при $\alpha < 1$ (левая панель) стратегия LF недокупает в первой сделке, поскольку неверно оценивает сниженный импакт крупных сделок из-за вогнутой функции ценового воздействия.
При $\alpha = 0.9$ ценовое воздействие намного слабее, и в результате доминирует штраф срочности инвентаря, приводя к L-образной стратегии: много покупок на первом-втором шаге и тонкая струйка на остальных. При $\alpha = 1.1$ ценовое воздействие — доминирующая черта, и получаются U-образные стратегии с крупнейшими сделками при $n = 1$ и $n = N$. Отметим также, что зависимость стратегий от $\kappa, \eta$ остаётся сложной при $\alpha \neq 1$. Поскольку во всех случаях сумма сделок должна равняться $X_0 = 100{,}000$, при изменении параметров результирующий эффект на $u_n$ немонотонен: на одних шагах торгуется больше, на других меньше. В результате различные (средние) кривые стратегий пересекаются, часто не единожды.
Таблица 1 сообщает результативность NN-решателя против LF. Конкретно, мы используем 5D NN-решатель, параметрический в $(x, d, \kappa, \eta, \alpha)$. Обнаружено, что NN-стратегия ведёт к полным издержкам исполнения на 10–15% дешевле, чем LF, показывая, что различия в соответствующих стратегиях на рис. 4 существенны. Выигрыши больше при больших $\kappa$ и больших $\eta$, то есть для конфигураций, где ценовое воздействие более краткоживущее и более сильное. Хотя у нас нет «золотого стандарта» для сравнения, можно использовать результативность при $\alpha = 1.0$ (где LF точна с точностью до ограничения неотрицательности, почти никогда не связывающего при этой конфигурации параметров) как мерило качества NN-решения, поскольку NN-решатель обучен по разным значениям $\alpha$.
Таблица 1: Результативность NN 5D-решателя в $(x, d, \kappa, \eta, \alpha)$ против LF; на основе $10^4$ симуляций с $\sigma = 1$ и инвентарным штрафом $\nu = 0.0001$. Приведена относительная процентная разница полных издержек исполнения с линейной обратной связью как базой. Положительные значения означают, что NN даёт меньшие издержки, чем LF; отрицательные — что LF выигрывает. Мы ожидаем положительные значения при $\alpha \neq 1$ и малые отрицательные при $\alpha = 1$.
| $\kappa = 0.4$ | $\kappa = 0.8$ | |||
|---|---|---|---|---|
| $\eta = 1/3000$ | $\eta = 1/500$ | $\eta = 1/3000$ | $\eta = 1/500$ | |
| $\alpha = 0.9$ | 10.33 | 7.33 | 15.05 | 10.58 |
| $\alpha = 1.0$ | −0.20 | −0.07 | −0.52 | −0.04 |
| $\alpha = 1.1$ | 10.34 | 8.70 | 13.01 | 5.85 |
5.3. NN-реализации
NN-решатели неизбежно содержат множество настроечных параметров, которые нужно выбрать при реализации. «Народная теорема» гласит, что некоторая тонкая настройка всегда необходима — одна из причин, почему использование NN отчасти «чёрное искусство».
В нашей постановке нейронные сети прямого распространения для $\hat{V}_n$ и $\hat{u}_n$ очень просты и не требуют никаких изысков. Как упоминалось, эта простота реализации — одна из причин, почему мы рекомендуем эту задачу как хороший педагогический кейс построения NN-решателей для задач стохастического управления. В частности, архитектура NN малозначима: пока есть достаточная гибкость, выбор числа нейронов, числа слоёв и т.д. весьма вторичен. Соответственно, мы по умолчанию берём «каноническую» конфигурацию с 16 нейронами и 3 слоями, использованную во множестве предшествующих работ.
Тем не менее есть настроечные параметры, влияющие на результативность, — прежде всего усилия, потраченные на обучение. Последние определяются размером обучающего набора и числом обучающих эпох. Следующий набор экспериментов детальнее исследует, как эти параметры влияют на качество решения. В таблице 2 мы сравниваем средний P&L NN-стратегии относительно LF при $\alpha = 1.0$, варьируя число эпох $E$ и число обучающих точек $M$. Как и ожидается, точность растёт с ростом $M$ или $E$. Мы наблюдаем, что время работы примерно линейно по $M$ (поскольку это простой цикл) и сублинейно по $E$.
Дополнительно мы сравниваем решатели, живущие в разных размерностях, пользуясь тем, что наша реализация полностью безразлична к размерности и для изменения $\ell$ нужна замена одной строки. Для целей обучения NN размерность $\ell$ не важна, поэтому время работы постоянно при изменении $\ell$. Однако, как и ожидается, меньшее $\ell$ означает более плотные обучающие наборы (поскольку объём обучающей области сжимается) и потому лучшую точность. Это отражает фундаментальное свойство: обучение функционального аппроксиматора более трудоёмко на большей области, и соответствующий «объём» растёт с $\ell$. Так, при тех же $M, E$ 3D-решатель будет точнее 4D-решателя и менее точен, чем 2D. Это (вычислительная) цена одновременного обучения по нескольким параметрам.
Таблица 2: Средняя ошибка P&L относительно эталонной стратегии линейной обратной связи при $\alpha = 1$ для разных NN-реализаций. Во всех случаях NN имеет 3 слоя по 16 нейронов. $M$ — число обучающих входов; $E$ — число обучающих эпох. Остальные тестовые параметры фиксированы: $\eta = 0.0001$, $\nu = 0.0001$, $\sigma = 1$, начальное условие $X_0 = 100{,}000$, $D_0 = 0$, $N = 10$, с использованием 4D-решателя в $(x, d, \kappa, \eta)$, кроме последних двух строк. Все времена работы — на ноутбуке Intel i7-11370H 3.0GHz с 32GB RAM.
| Решатель | Конфигурация NN | $\kappa = 0.4$ | $\kappa = 0.8$ | Время (мин) |
|---|---|---|---|---|
| 4D с $(x, d, \kappa, \eta)$ | $M = 1000, E = 1000$ | 0.10% | 1.43% | 2.73 |
| $M = 2000, E = 1000$ | 0.20% | 0.88% | 5.39 | |
| $M = 2000, E = 2000$ | 0.05% | 0.46% | 8.66 | |
| $M = 4000, E = 2000$ | 0.03% | 0.28% | 16.97 | |
| $M = 8000, E = 3000$ | 0.02% | 0.27% | 42.36 | |
| 3D с $(x, d, \kappa)$ | $M = 2000, E = 2000$ | 0.04% | 0.24% | 8.38 |
| 2D с $(x, d)$ | $M = 2000, E = 2000$ | 0.03% | 0.15% | 8.14 |
Рисунок 5 дополнительно сравнивает решатели разных размерностей между собой в случае нелинейного ценового воздействия $\alpha = 1.1$. Мы рассматриваем NN-решатели в 2D, принимающие только координаты $(x, d)$, в 3D с координатами $(x, d, \kappa)$, $(x, d, \eta)$, в 4D с $(x, d, \kappa, \eta)$ и, наконец, в 5D с $(x, d, \kappa, \eta, \alpha)$. Тот факт, что все решатели дают очень похожие стратегии, — эмпирическое свидетельство сходимости NN.
Наконец, правая панель рис. 5 показывает подогнанную зависимость управления $u_n$ от $\kappa, \eta$ при $n = 3$. Такие графики зависимости — raison d'être параметрических решателей, дающие моделисту прямой взгляд на чувствительность стратегии к модельным параметрам. Без параметрического решателя генерировать такие поверхности перерешиванием каждой конфигурации по одной было бы запретительно дорого. Мы видим, что на этом промежуточном шаге $u_n$ сжимается по $\eta$ и по $\kappa$.
5.4. Ценовое воздействие квадратного корня
Далее исследуем специальный случай $\alpha = 0.5$. Этот «закон квадратного корня» ценового воздействия отстаивается некоторыми практиками (ср. [11, 15, 45]) и был также рассмотрен численно Курато и др. [25] через оптимизацию функции издержек «в лоб». Напротив, наш кейс ещё раз подчёркивает полезность параметрического решателя: он с готовностью вычисляет оптимальное расписание исполнения совместно по диапазону разных параметров ценового воздействия $\kappa$ и $\eta$, а также скоростей срочности $\nu$; и тем самым легко раскрывает после одного раунда обучения зависимость решения от последних в этом режиме корневого ценового воздействия. Конкретно, при фиксированном $\alpha = 0.5$ мы обучаем 5D NN-решатель, параметрический в $(x, d, \kappa, \eta, \nu)$, на гиперпрямоугольнике $x \in [0, 10^5]$, $d \in [0, 1]$, $\kappa \in [0.35, 0.85]$, $\eta \in [1/100, 1/1000]$, $\nu \in [0, 10^{-5}]$ с $M = 8000$ н.о.р. равномерно выбранных обучающих точек и полагаем $\sigma = 0.1$.
Рисунок 6 сравнивает получаемые NN-стратегии с бенчмарком линейной обратной связи $u^{LF}$, а таблица 3 сообщает их результативность. Сначала отметим, что полученная стратегия очень чувствительна к тому, нулевой параметр срочности $\nu$ или нет. Это осмысленно, поскольку при $\alpha = 0.5$ величина понесённого ценового воздействия малого масштаба и ещё сильнее снижается большими значениями $1/\eta$. Как следствие, как только $\nu$ становится ненулевым, фокус на быстром снижении невыполненного инвентаря доминирует над всем расписанием заявок; см. левую панель рис. 6. Напротив, когда контроль инвентаря выключен (то есть $\nu = 0$), NN-стратегия демонстрирует осциллирующее поведение: пики крупных заявок на покупку перемежаются заявками почти нулевого объёма; см. правую панель рис. 6. Это наблюдение отчасти согласуется с численными результатами, представленными в [25, раздел 4.4], где вычисленная стратегия состоит из нескольких всплесков покупок, перемежаемых долгими периодами без торговли. В терминах полных издержек исполнения NN-решатель всегда значительно превосходит бенчмарк-стратегию LF во всех рассмотренных конфигурациях параметров $\kappa, \eta, \nu$; см. таблицу 3. По-видимому, политика обратной связи LF переоценивает ценовое воздействие, что ведёт к в целом субоптимальному поведению.
Таблица 3: Результативность 5D NN-решателя с $y = (x, d, \kappa, \eta, \nu)$ против LF; на основе $10^4$ симуляций с $\sigma = 0.1$. Приведена относительная процентная разница полных издержек исполнения с линейной обратной связью как базой. Положительные значения означают, что NN даёт меньшие издержки, чем LF.
| $\eta = 1/900$ | $\eta = 1/200$ | ||
|---|---|---|---|
| $\nu = 10^{-6}$ | $\kappa = 0.8$ | 54.85 | 17.56 |
| $\nu = 0$ | $\kappa = 0.4$ | 30.40 | 28.11 |
5.5. Число периодов
Наш NN-алгоритм тривиально масштабируется по числу периодов $N$, поскольку включает простой цикл по $n = N-1, \ldots, 1$. Финансово говоря, самая распространённая интерпретация — зафиксировать бизнес-горизонт $T$ и затем выбрать интервал расписания $\Delta t$, так что $N = T/\Delta t$. Для иллюстрации рассмотрим большее число интервалов $N \gg 10$. Чтобы отразить идею фиксированного $T$, нужно перемасштабировать некоторые модельные параметры в терминах частоты $\Delta t$. Конкретно, поскольку динамика $(D_n)_{n=1,\ldots,N}$ мотивирована дискретизацией непрерывновременной спецификации затухания ядра, нужно держать $\kappa^{(N)} \Delta t$ постоянным, иными словами $\kappa^{(N)} \propto N^{-1}$, где мы явно указываем зависимость параметра устойчивости от $N$. Действительно, с ростом $N$ $\kappa^{(N)}$ должно сжиматься, чтобы персистентность $D_n$ росла. Аналогично, непрерывновременная волатильность $\sigma^{(N)} \sqrt{\Delta t}$ должна быть инвариантной, так что $\sigma^{(N)} \propto N^{-1/2}$. Наконец, инвентарный штраф тоже пропорционален бизнес-времени, отсюда $\nu^{(N)} \propto N^{-1}$. Напротив, параметр импакта $\eta$ не имеет временных единиц и потому не меняется как функция $\Delta t$.
Возвращаясь к формулам в замкнутой форме для $\alpha = 1$, мы видим, что более тонкая частота расписания не меняет фундаментальной U-формы (в случае $\nu = 0$). Фактически начальный и финальный объёмы сделок лишь слегка затронуты бóльшим $N$, тогда как промежуточные сделки примерно обратно пропорциональны $N^{-1}$, поддерживая ту же скорость торговли $u/\Delta t$ в бизнес-времени. Схожая интуиция переносится на решение при $\alpha > 1$. Левая панель рис. 7 показывает стратегию исполнения для $N = 30$ и $\alpha = 1.1$ при сохранении всех остальных параметров как на рис. 4 справа, с точностью до перемасштабирования, описанного выше. Правая панель рис. 7 показывает стратегию исполнения для $N = 30$ и $\alpha = 0.5$. Последний график сопоставим с правой панелью рис. 6 при нулевом инвентарном штрафе $\nu = 0$. Однако, чтобы предотвратить отрицательные отклонения $D_n$, нам пришлось значительно снизить амплитуду шума до $\sigma = 0.01$ (по сравнению с $\sigma = 0.1$ на рис. 6).
При $\alpha = 1.1$ и $N = 30$ стратегия линейной обратной связи сильно «перелетает», приводя (при $\kappa = 0.133$) к отсутствию сделок на периодах $n = 2, \ldots, 7$, тогда как NN-решение поддерживает равномерный темп (с убывающим трендом из-за инвентарного штрафа $\nu$) всюду. Оно выигрывает около 10% средней экономии издержек по сравнению с LF (11.2% при $\kappa = 0.4/3$ и 8.3% при $\kappa = 0.8/3$).
При $\alpha = 0.5$ и $N = 30$ мы наблюдаем на рис. 7 «взрывную» торговлю, пользующуюся вогнутым ценовым воздействием, которое дестимулирует мелкие сделки. Вместо этого стратегия исполняет каждые 2–4 периода, позволяя $(D_n)$ вернуться к нулю в промежутках. Как и на рис. 6, из-за $D_0 = 0$ первая сделка очень крупная: в нашем случае около 65 000 при $\eta = 1/900$ и около 78 000 при $\eta = 1/200$.
Хотя предложенный подход динамического программирования подразумевает обратное распространение ошибки по мере прохождения итераций по $n$, мы видим весьма разумную результативность при росте $N$ с точно тем же кодом. Мы рекомендуем использовать другую стратегию (например, RL-подобную с единственной нейронной сетью, включающей зависимость от времени) при $N \geq 50$ или около того.
5.6. Мультиэкспоненциальное ядро затухания
Завершаем численные эксперименты исследованием работы нашего NN-алгоритма на расширенной версии модели из раздела 2. Напомним, что процесс транзиентного ценового воздействия, введённый в (2), для изучаемой программы покупок $u_n \geq 0$, $n = 1, \ldots, N$, равен
\[ D_n = (1-\kappa)^n d_0 + \sum_{j=1}^{n} (1-\kappa)^{n-j} \eta u_j^{\alpha} + \sum_{j=1}^{n} (1-\kappa)^{n-j} \epsilon_j \qquad (n = 0, \ldots, N). \]Этот процесс отклонения принадлежит общему классу затухающих процессов ценового воздействия, называемых также пропагаторными моделями, изначально развитыми Бушо и др. [21, 22], и может быть записан как
\[ D_n = G_{n,0}\, d_0 + \sum_{j=1}^{n} G_{n,j}\, \eta u_j^{\alpha} + \sum_{j=1}^{n} G_{n,j}\, \epsilon_j \qquad (n = 0, \ldots, N) \tag{30} \]с экспоненциальным ядром затухания
\[ G_{n,j} = (1-\kappa)^{n-j} \qquad (0 \leq j \leq n \leq N). \tag{31} \]Поэтому весьма разумно рассматривать расширения нашей модели, допуская иные ядра затухания $(G_{n,j})_{0 \leq j \leq n \leq N}$ в (31). Конкретно, в литературе сообщаются эмпирические свидетельства того, что ценовое воздействие проявляет некоторый эффект памяти и затухает скорее по степенному закону; ср., например, Бушо и др. [22].
Чтобы сохранить марковский каркас, мы изучаем в этом разделе обобщение, где ядро $G$ — выпуклая комбинация экспоненциально затухающих ядер, а именно вида
\[ G_{n,j} = \sum_{m=1}^{M} \zeta_m (1 - \kappa_m)^{n-j} \qquad (0 \leq j \leq n \leq N) \tag{32} \]для некоторых $\zeta_m \in [0, 1]$ с $\sum_{m=1}^{M} \zeta_m = 1$ и $\kappa_m \in (0, 1]$. Подстановка обратно в (30) даёт
\[ D_n = \sum_{m=1}^{M} \zeta_m D_n^m \qquad (n = 0, \ldots, N), \tag{33} \]где
\[ D_n^m := (1 - \kappa_m)^n d_0 + \sum_{j=1}^{n} (1 - \kappa_m)^{n-j} \eta u_j^{\alpha} + \sum_{j=1}^{n} (1 - \kappa_m)^{n-j} \epsilon_j \qquad (n = 0, \ldots, N). \]Другими словами, полное ценовое искажение $(D_n)_{n=0,\ldots,N}$ в (33) теперь управляется $M$ процессами $(D_n^1, \ldots, D_n^M)_{n=0,\ldots,N}$, затухающими на разных временных масштабах $\kappa_m$. Процессы $D^m$ полностью коррелированы с динамикой $D_0^m = d_0$ и
\[ D_n^m = (1 - \kappa_m) D_{n-1}^m + \eta u_n^{\alpha} + \epsilon_n. \]Более того, динамика (2) обобщается до $D_0 = d_0$,
\[ D_n = \sum_{m=1}^{M} \zeta_m (1 - \kappa_m) D_{n-1}^m + \eta u_n^{\alpha} + \epsilon_n \qquad (n = 1, \ldots, N). \]В специальном случае $\zeta_m = 1$, $\zeta_n = 0$ для всех $n \neq m$ мы возвращаемся к исходной постановке (2).
Добавляя $d^m$ к пространству состояний и следуя тем же рассуждениям, что в разделе 2.1, целевая функция (8) становится
\[ \inf_{(u_n)_{n=1,\ldots,N} \in \mathcal{A}_1} \mathbb{E}\left[ \sum_{n=1}^{N} \left\{ \left( \sum_{m=1}^{M} \zeta_m (1-\kappa_m) D_{n-1}^m + \frac{\eta}{2} u_n^{\alpha} \right) u_n + \nu (X_{n-1} - u_n)^2 \right\} \right]; \]соответствующие функции ценности из (9) равны
\[ V_n(x, d^1, \ldots, d^M) := \inf_{(u_j)_{j=n,\ldots,N} \in \mathcal{A}_n} \mathbb{E}\left[ \sum_{j=n}^{N} \left\{ \left( \sum_{m=1}^{M} \zeta_m (1-\kappa_m) D_{j-1}^m + \frac{\eta}{2} u_j^{\alpha} \right) u_j + \nu (X_{j-1} - u_j)^2 \right\} \,\Bigg|\, X_{n-1} = x, D_{n-1}^m = d^m, m = 1, \ldots, M \right] \]для всех $n \in \{1, \ldots, N\}$.
Далее проиллюстрируем указанное расширение в случае $M = 2$, когда ядро затухания — смесь двух экспонент. Беря $\zeta_1 \equiv \zeta$, $\zeta_2 \equiv 1 - \zeta$ для веса смешивания $\zeta \in [0, 1]$, ассоциированное уравнение динамического программирования (DP) в (10) и (11) модифицируется до
\[ V_N(x, d^1, d^2) = \big( \zeta(1-\kappa_1) \cdot d^1 + (1-\zeta)(1-\kappa_2) \cdot d^2 \big) \cdot x + \frac{\eta}{2} x^{\alpha+1} \tag{34} \]и
\[ V_n(x, d^1, d^2) = \inf_{u \in [0,x]} \mathbb{E}\Bigg[ \big( \zeta(1-\kappa_1) \cdot d^1 + (1-\zeta)(1-\kappa_2) \cdot d^2 \big) \cdot u + \frac{\eta}{2} u^{\alpha+1} + \nu(x-u)^2 + V_{n+1}(x - u, D_n^1, D_n^2) \,\Bigg|\, X_{n-1} = x, D_{n-1}^1 = d^1, D_{n-1}^2 = d^2 \Bigg] \tag{35} \]для всех $n = N-1, \ldots, 1$.
Наш NN-алгоритм легко расширяется на уравнения DP (34) и (35). В частности, мы можем также трактовать вес смешивания $\zeta$ как модельный гиперпараметр, по которому можно обучаться. На рис. 8 мы иллюстрируем профили исполнения NN-решателя $(\hat{u}_n(x, d^1, d^2, \zeta))_{n=1,\ldots,N}$ для модели с мультиэкспоненциальным ядром затухания, заданным в (32), где $M = 2$, $\kappa_1 = 0.4$, $\kappa_2 = 0.8$, и несколькими значениями $\zeta$. Мы обучаем решатель по 4 входам $(x, d^1, d^2, \zeta)$ с последним в диапазоне $\zeta \in [0.25, 0.75]$. График расширяет конфигурацию левой панели рис. 4 на мультиэкспоненциальный пропагатор и показывает соответствующую NN-политику (средние по $M' = 10^4$ симуляций) в режиме вогнутого ценового воздействия $\alpha = 0.9$ при $\sigma = 1$, $\nu = 0.0001$ и $\eta = 1/500$. Как и прежде, берём $X_0 = 100{,}000$, $D_0 = 0$ и $N = 10$ периодов и три разных $\zeta$.
Как показывает сопровождающая таблица, неверная спецификация ядра затухания обходится дорого: DNN-решатель обыгрывает LF-стратегию, предполагающую линейное ценовое воздействие $\alpha = 1$ и единственный параметр затухания $\kappa$, на 9–12%. Примечательно, что взятие экспоненциального ядра с бóльшим $\kappa_2$ работает лучше, чем использование усреднённого $\kappa = \zeta\kappa_1 + (1-\zeta)\kappa_2$. Даже когда воздействие линейно, $\alpha = 1.0$, DNN обыгрывает LF-стратегию (на 0.32%–1.51%) из-за её неверной спецификации через экспоненциальное ядро.
Процентный выигрыш DNN относительно указанного LF-компаратора (положительные значения означают, что DNN достигает меньших издержек исполнения):
| LF с | DNN с $\alpha = 0.9$ | ||
|---|---|---|---|
| $\zeta = 0.3$ | $\zeta = 0.5$ | $\zeta = 0.7$ | |
| $\kappa = \kappa_1 = 0.4$ | 4.81 | 12.12 | 11.03 |
| $\kappa = \zeta\kappa_1 + (1-\zeta)\kappa_2$ | 5.18 | 12.37 | 10.02 |
| $\kappa = \kappa_2 = 0.8$ | 5.92 | 12.98 | 9.02 |
| LF с | DNN с $\alpha = 1$ |
|---|---|
| $\kappa = \kappa_1 = 0.4$ | 1.51 |
| $\kappa = 0.6$ | 0.32 |
| $\kappa = \kappa_2 = 0.8$ | 0.44 |
6. Заключение
В этой статье мы исследовали нейросетевые суррогаты для решения задач оптимального исполнения по диапазону модельных параметров. Наш подход совместно обучает оптимальную стратегию как функцию стохастического состояния системы и рыночной конфигурации.
Разработанный алгоритм и сопровождающий Jupyter-ноутбук можно использовать как отправную точку для многих других связанных анализов. Например, было бы несложно модифицировать код для параметрических задач стохастического управления схожего рода (например, хеджирование в дискретном времени).
Дальнейший сценарий использования — применить обученную нейронную сеть как строительный блок в более сложной постановке. В частности, можно рассматривать каркасы, явно учитывающие модельный риск в смысле неточно известных параметров. В адаптивном подходе (включая Predictive Model Control, популярный в инженерии) моделист сначала разрабатывает динамику обучения, превращающую статические параметры, такие как $\kappa$, в стохастический процесс $(\hat{\kappa}_n)$, где $\hat{\kappa}_n$ — лучшая оценка устойчивости книги на шаге $n$. Уравнения обновления для $\hat{\kappa}_{n+1}$ в терминах предыдущего $\hat{\kappa}_n$ и новой информации с шага $n+1$ (например, используя байесовскую парадигму) дают динамику, которую можно объединить с динамикой $(X_n, D_n)$. Затем полученное $\hat{\kappa}_n$ (и другие аналогично выученные/обновлённые параметры) подставляется в NN-выученное $\hat{u}(X_n, D_n, \hat{\kappa}_n)$, давая адаптивную стратегию — которая учитывает последние оценки параметров, но не решает полное уравнение Беллмана. Обратно, можно также рассматривать робастные подходы, минимизирующие $\hat{V}_n(\cdot)$ по допустимым настройкам параметров, чтобы защититься от худшего случая. Последнее снова требует доступа к вычисленной $\hat{V}_n$ как строительному блоку. Наконец, упомянем адаптивно-робастный подход [20], комбинирующий динамическое обучение с min-max оптимизацией худшего случая для защиты от неверных оценок или неверно специфицированной динамики. Получающиеся численные алгоритмы будут исследованы в отдельном готовящемся продолжении.
7. Доказательства
Начнём с леммы 2, дающей промежуточное вычисление, релевантное для показа $V_n^{\circ}(0,0) < 0$ в (16) (существование round-trips) и характеризации оптимального $u^{\circ}$ в (17).
Лемма 2. Для всех $n = N, N-1, \ldots, 2$ константы $a_n, b_n, c_n$, рекурсивно определённые в (14) и (15), удовлетворяют $2\eta + 4\nu + 4a_n - 4\eta b_n + 4\eta^2 c_n > 0$.
Доказательство. Для $n = N$ прямо из (14) получаем
\[ 2\eta + 4\nu + 4a_N - 4\eta b_N + 4\eta^2 c_N = 4\eta\kappa + 4\nu > 0. \]Для $n = N-1$, используя определение (15), вычисляем
\[ 2\eta + 4\nu + 4a_{N-1} - 4\eta b_{N-1} + 4\eta^2 c_{N-1} = \frac{32\eta\kappa\nu + 16\nu^2 + 4\eta^2\kappa^2(4 - \kappa^2)}{4\eta\kappa + 4\nu} > 0. \]Общее утверждение затем проверяется аналогично утомительной обратной индукцией, опирающейся на следующее рекурсивное соотношение, получаемое из (15):
\[ \begin{aligned} 2\eta + 4\nu + 4a_n - 4\eta b_n + 4\eta^2 c_n &= 2\eta + 4\nu + 4(a_{n+1} + \nu) - 4\eta(1-\kappa)b_{n+1} + 4\eta^2(1-\kappa)^2 c_{n+1} \\ &\quad - \frac{\big( 2(2\nu + 2a_{n+1} - \eta b_{n+1}) + 2\eta(1-\kappa)(1 - b_{n+1} + 2\eta c_{n+1}) \big)^2}{2\eta + 4\nu + 4a_{n+1} - 4\eta b_{n+1} + 4\eta^2 c_{n+1}} \\ &= 4\eta\kappa + 4\nu + 4\eta^2\kappa^2 \frac{2 c_{n+1}(2a_{n+1} + 2\nu - \eta) - (1 - b_{n+1})^2}{2\eta + 4\nu + 4a_{n+1} - 4\eta b_{n+1} + 4\eta^2 c_{n+1}}. \quad \blacksquare \end{aligned} \tag{36} \]Доказательство Предложения 1. В линейном случае $\alpha = 1$ неограниченная версия задачи оптимального исполнения, сформулированная в (12), — линейно-квадратичная задача стохастического управления. Поэтому хорошо известно, что для всех $n \in \{1, \ldots, N\}$ функции ценности $V_n^{\circ}(x, d)$ линейно-квадратичны по $x$ и $d$. Это мотивирует анзац $V_n^{\circ}(x, d) = a_n x^2 + b_n x d + c_n d^2 + e_n$, где коэффициенты $a_n, b_n, c_n, e_n \in \mathbb{R}$ определяются обратной индукцией с использованием соответствующих уравнений динамического программирования (10) и (11).
Сначала терминальное условие (10) даёт $a_N = \frac{\eta}{2}$, $b_N = 1 - \kappa$, $c_N = 0$, как заявлено в (14), а также $e_N = 0$. Далее, для индуктивного шага пусть $n \in \{N-1, \ldots, 1\}$. Уравнение динамического программирования (11) (для рассматриваемой неограниченной версии задачи) даёт
\[ V_n^{\circ}(x, d) = \min_{u \in \mathbb{R}} \left\{ (1-\kappa)du + \frac{\eta}{2}u^2 + \nu(x-u)^2 + \mathbb{E}\left[ V_{n+1}^{\circ}\big(x - u, (1-\kappa)d + \eta u + \epsilon_n\big) \,\big|\, X_{n-1} = x, D_{n-1} = d \right] \right\}. \tag{37} \]Подставляя $V_{n+1}^{\circ}(x, d) = a_{n+1}x^2 + b_{n+1}xd + c_{n+1}d^2 + e_{n+1}$ в (37) и раскрывая квадраты, получаем
\[ \begin{aligned} V_n^{\circ}(x, d) = \min_{u \in \mathbb{R}} \Bigg\{ & u^2 \left( \frac{\eta}{2} + \nu + a_{n+1} - \eta b_{n+1} + \eta^2 c_{n+1} \right) \\ & + u \Big( (\eta b_{n+1} - 2\nu - 2a_{n+1})x + (1 - b_{n+1} + 2\eta c_{n+1})(1-\kappa)d \Big) \\ & + (\nu + a_{n+1})x^2 + (1-\kappa)b_{n+1}xd + (1-\kappa)^2 c_{n+1}d^2 + e_{n+1} + c_{n+1}\sigma^2 \Bigg\}, \end{aligned} \tag{38} \]где мы использовали $\mathbb{E}[\epsilon_n \,|\, X_{n-1}, D_{n-1}] = \mathbb{E}[\epsilon_n] = 0$, а также $\mathbb{E}[\epsilon_n^2 \,|\, X_{n-1}, D_{n-1}] = \mathbb{E}[\epsilon_n^2] = \sigma^2$. Минимизация (38) по $u$ даёт
\[ u = -\frac{(\eta b_{n+1} - 2\nu - 2a_{n+1})x + (1 - b_{n+1} + 2\eta c_{n+1})(1-\kappa)d}{\eta + 2\nu + 2a_{n+1} - 2\eta b_{n+1} + 2\eta^2 c_{n+1}} \tag{39} \]и, следовательно, политику обратной связи $u_n^{\circ}$, как заявлено в (17). В частности, из леммы 2 следует, что $\eta + 2\nu + 2a_{n+1} - 2\eta b_{n+1} + 2\eta^2 c_{n+1} > 0$ и что $u$ в (39) действительно единственный минимум в (38). Более того, подстановка (39) обратно в (38) даёт
\[ \begin{aligned} V_n^{\circ}(x, d) &= \left( \nu + a_{n+1} - \frac{(\eta b_{n+1} - 2\nu - 2a_{n+1})^2}{2\eta + 4\nu + 4a_{n+1} - 4\eta b_{n+1} + 4\eta^2 c_{n+1}} \right) x^2 \\ &\quad + (1-\kappa)\left( b_{n+1} - \frac{(\eta b_{n+1} - 2\nu - 2a_{n+1})(1 - b_{n+1} + 2\eta c_{n+1})}{\eta + 2\nu + 2a_{n+1} - 2\eta b_{n+1} + 2\eta^2 c_{n+1}} \right) xd \\ &\quad + (1-\kappa)^2 \left( c_{n+1} - \frac{(1 - b_{n+1} + 2\eta c_{n+1})^2}{2\eta + 4\nu + 4a_{n+1} - 4\eta b_{n+1} + 4\eta^2 c_{n+1}} \right) d^2 + c_{n+1}\sigma^2 + e_{n+1}, \end{aligned} \]что влечёт желаемые рекурсивные формулы (15) и представление функции ценности (16). Отметим также в (17), что $u_1^{\circ}$ — просто детерминированная константа в $\mathbb{R}$, а $u_n^{\circ}$ нормально распределена для всех $n = 2, \ldots, N$. Действительно, поскольку $u_n^{\circ}$ линейна по $X_{n-1}^{\circ}$ и $D_{n-1}^{\circ}$, а переменные состояния $X_{n-1}^{\circ}$ и $D_{n-1}^{\circ}$ линейны по $(u_j^{\circ})_{j=1,\ldots,n-1}$ и н.о.р. гауссовскому шуму $(\epsilon_j)_{j=1,\ldots,n-1}$ с нулевым средним, проверяется, что $u_n^{\circ}$ в конечном счёте — просто линейное преобразование $(\epsilon_j)_{j=1,\ldots,n-1}$. Как прямое следствие заключаем, что $(u_n^{\circ})_{n=1,\ldots,N}$ — допустимая стратегия в множестве $\mathcal{A}_1^{\circ}$, определённом в (13). Наконец, представление $D^{\circ}$ в (18) следует напрямую из его динамики состояния (2). $\blacksquare$
Доказательство Предложения 2. В случае $\sigma = 0$ задача оптимального управления (12) (с $\alpha = 1$) детерминирована. Мы можем ввести соответствующий функционал издержек $C : \mathbb{R}^N \to \mathbb{R}$:
\[ C(u_1, \ldots, u_N) \triangleq \sum_{n=1}^{N} \left\{ \left( (1-\kappa)D_{n-1} + \frac{\eta}{2}u_n \right) u_n + \nu(X_{n-1} - u_n)^2 \right\} = \frac{\eta}{2}\sum_{n=1}^{N} u_n^2 + (1-\kappa)\sum_{n=1}^{N} D_{n-1}u_n + \nu\sum_{n=1}^{N} (X_{n-1} - u_n)^2. \tag{40} \]Для всех $n = 1, \ldots, N$, рассматривая переменные состояния $X_n(u_1, \ldots, u_N) \triangleq X_n$ и $D_n(u_1, \ldots, u_N) \triangleq D_n$ из (3) и (2) как функции от $u_1, \ldots, u_N \in \mathbb{R}$, отметим, что
\[ \frac{\partial X_n}{\partial u_i} = -1, \qquad \frac{\partial D_n}{\partial u_i} = \eta(1-\kappa)^{n-i} \qquad (1 \leq i \leq n). \]В частности, имеем соотношение
\[ \frac{\partial D_n}{\partial u_i} = (1-\kappa)\frac{\partial D_n}{\partial u_{i+1}} \qquad (1 \leq i \leq n-1). \tag{41} \]Поэтому для всех $i \in \{1, \ldots, N-1\}$ можем вычислить
\[ \frac{\partial C}{\partial u_i} = \eta u_i + (1-\kappa)D_{i-1} + (1-\kappa)\eta u_{i+1} + (1-\kappa)^2 \sum_{n=i+2}^{N} \frac{\partial D_{n-1}}{\partial u_{i+1}} u_n - 2\nu \sum_{n=i}^{N} X_n, \tag{42} \]где мы использовали (41) на последнем шаге. Аналогично,
\[ \frac{\partial C}{\partial u_{i+1}} = \eta u_{i+1} + (1-\kappa)D_i + (1-\kappa)\sum_{n=i+2}^{N} \frac{\partial D_{n-1}}{\partial u_{i+1}} u_n - 2\nu \sum_{n=i+1}^{N} X_n. \tag{43} \]Отсюда, используя (43) в (42), получаем рекурсивное уравнение
\[ \frac{\partial C}{\partial u_i} = (\eta u_i + (1-\kappa)D_{i-1})(2\kappa + \kappa^2) - 2\nu\kappa \sum_{n=i+1}^{N} X_n - 2\nu X_i + (1-\kappa)\frac{\partial C}{\partial u_{i+1}} \qquad (1 \leq i \leq N-1). \tag{44} \]Далее, минимизируя (40) при ограничении $X_0 - \sum_{n=1}^{N} u_n = 0$ и обозначая $\lambda \in \mathbb{R}$ множитель Лагранжа, получаем условия первого порядка
\[ \frac{\partial C}{\partial u_i} = \lambda \qquad (i = 1, \ldots, N), \tag{45} \]которые вместе с (44) можно переписать как
\[ \lambda\kappa = \kappa(2-\kappa)(\eta u_i + (1-\kappa)D_{i-1}) - 2\nu\kappa \sum_{n=i+1}^{N} X_n - 2\nu X_i \qquad (i = 1, \ldots, N-1). \tag{46} \]Вычисляя разности уравнений (46) для последовательных $i$ и $i-1$ (при $i \in \{2, \ldots, N-1\}$) и переставляя члены, получаем рекурсивную формулу
\[ u_i = \tilde{a}u_{i-1} + \tilde{b}D_{i-2} + \tilde{c}X_{i-2} = \tilde{a}u_{i-1} + \tilde{b}(1-\kappa)^{i-2}d_0 + \sum_{j=1}^{i-2}\big( \tilde{b}\eta(1-\kappa)^{i-2-j} - \tilde{c} \big)u_j + \tilde{c}X_0 \qquad (i = 2, \ldots, N-1), \tag{47} \]где
\[ \tilde{a} := \frac{\kappa(2\kappa\eta - \kappa^2\eta + 2\nu)}{2\kappa\eta - \kappa^2\eta - 2\kappa\nu + 2\nu}, \qquad \tilde{b} := \frac{\kappa^2(2 - 3\kappa + \kappa^2)}{2\kappa\eta - \kappa^2\eta - 2\kappa\nu + 2\nu}, \qquad \tilde{c} := \frac{-2\kappa\nu}{2\kappa\eta - \kappa^2\eta - 2\kappa\nu + 2\nu}. \tag{48} \]Благодаря линейной структуре рекурсию (47) можно решить явно. Получаем представление
\[ u_i = a_i u_1 + b_i d_0 + c_i X_0 \qquad (i = 1, \ldots, N), \tag{49} \]где $a, b, c \in \mathbb{R}^N$ заданы как $a_1 := 1$, $b_1 := c_1 := 0$, $a_2 := \tilde{a}$, $b_2 := \tilde{b}$, $c_2 := \tilde{c}$,
\[ \begin{aligned} a_i &:= \tilde{a} \cdot a_{i-1} + \sum_{j=1}^{i-2}\big( \tilde{b}\eta(1-\kappa)^{i-2-j} - \tilde{c} \big)a_j, \\ b_i &:= \tilde{a} \cdot b_{i-1} + \tilde{b}(1-\kappa)^{i-2} + \sum_{j=1}^{i-2}\big( \tilde{b}\eta(1-\kappa)^{i-2-j} - \tilde{c} \big)b_j, \\ c_i &:= \tilde{a} \cdot c_{i-1} + \tilde{c} + \sum_{j=1}^{i-2}\big( \tilde{b}\eta(1-\kappa)^{i-2-j} - \tilde{c} \big)c_j, \end{aligned} \tag{50} \]для $i = 3, \ldots, N-1$, а также $a_N := -\sum_{j=1}^{N-1} a_j$, $b_N := -\sum_{j=1}^{N-1} b_j$, $c_N := 1 - \sum_{j=1}^{N-1} c_j$, что вытекает из терминального условия $u_N = X_{N-1}$. Более того, (49) влечёт представление
\[ X_i = a_{i+1}^x u_1 + b_{i+1}^x d_0 + c_{i+1}^x X_0 \qquad (i = 0, \ldots, N-1), \tag{51} \]где $a^x, b^x, c^x \in \mathbb{R}^N$ заданы как $a_1^x := b_1^x := 0$, $c_1^x := 1$ и
\[ a_{i+1}^x := -\sum_{j=1}^{i} a_j, \qquad b_{i+1}^x := -\sum_{j=1}^{i} b_j, \qquad c_{i+1}^x := 1 - \sum_{j=1}^{i} c_j \qquad (i = 1, \ldots, N-1); \tag{52} \]а также
\[ D_i = a_{i+1}^d u_1 + b_{i+1}^d d_0 + c_{i+1}^d X_0 \qquad (i = 0, \ldots, N-1), \tag{53} \]где $a^d, b^d, c^d \in \mathbb{R}^N$ определены как $a_1^d := 0$, $b_1^d := 1$, $c_1^d := 0$ и
\[ a_{i+1}^d := \sum_{j=1}^{i} \eta(1-\kappa)^{i-j} a_j, \qquad b_{i+1}^d := (1-\kappa)^i + \sum_{j=1}^{i} \eta(1-\kappa)^{i-j} b_j, \qquad c_{i+1}^d := \sum_{j=1}^{i} \eta(1-\kappa)^{i-j} c_j \qquad (i = 1, \ldots, N-1). \tag{54} \]Другими словами, условия первого порядка (46) вместе с терминальным ограничением состояния $X_N = 0$ позволяют выразить $u_2, \ldots, u_N$ явно через $u_1$ посредством (49), и остаётся минимизировать издержки (40) как линейно-квадратичную функцию только от $u_1$, а именно
\[ \begin{aligned} C(u_1, \ldots, u_N) &= \frac{\eta}{2}\sum_{n=1}^{N}(a_n u_1 + b_n d_0 + c_n X_0)^2 + \nu\sum_{n=1}^{N-1}(a_{n+1}^x u_1 + b_{n+1}^x d_0 + c_{n+1}^x X_0)^2 \\ &\quad + (1-\kappa)\sum_{n=1}^{N}(a_n^d u_1 + b_n^d d_0 + c_n^d X_0)(a_n u_1 + b_n d_0 + c_n X_0) \\ &= \left( \frac{1}{2}\eta a^{\top}a + (1-\kappa)(a^d)^{\top}a + \nu(a^x)^{\top}a^x \right)u_1^2 \\ &\quad + \Big( \big( a^{\top}(\eta b + (1-\kappa)b^d) + (1-\kappa)(a^d)^{\top}b + 2\nu(a^x)^{\top}b^x \big)d_0 \\ &\qquad + \big( a^{\top}(\eta c + (1-\kappa)c^d) + (1-\kappa)(a^d)^{\top}c + 2\nu(a^x)^{\top}c^x \big)X_0 \Big)u_1 \\ &\quad + \left( \frac{1}{2}\eta b^{\top}b + \nu(b^x)^{\top}b^x + (1-\kappa)(b^d)^{\top}b \right)d_0^2 \\ &\quad + \left( \frac{1}{2}\eta c^{\top}c + \nu(c^x)^{\top}c^x + (1-\kappa)(c^d)^{\top}c - \nu \right)X_0^2 \\ &\quad + \Big( \eta b^{\top}c + 2\nu(b^x)^{\top}c^x + (1-\kappa)\big((b^d)^{\top}c + (c^d)^{\top}b\big) \Big)X_0 d_0, \end{aligned} \]что даёт утверждения (20), (21), (22). $\blacksquare$
Доказательство Следствия 2. В случае $\nu = 0$ константы, введённые в (48), сводятся к $\tilde{a} = \kappa$, $\tilde{b} = \kappa(2 - 3\kappa + \kappa^2)/(2\eta - \kappa\eta)$ и $\tilde{c} = 0$. Более того, прямые вычисления показывают, что коэффициенты в (50) упрощаются до
\[ a_i = \kappa, \quad b_i = \tilde{b}, \quad c_i = 0 \qquad (i = 2, \ldots, N-1), \]а также $a_N = -1 - (N-2)\kappa$, $b_N = -(N-2)\tilde{b}$, $c_N = 1$. Это даёт утверждение (24). Для коэффициентов в (52) получаем
\[ a_i^x = -1 - (i-1)\kappa, \quad b_i^x = -(i-1)\tilde{b}, \quad c_i^x = 1 \qquad (i = 2, \ldots, N), \]а для коэффициентов в (54) имеем
\[ a_i^d = \eta, \quad b_i^d = 1 - \kappa, \quad c_i^d = 0 \qquad (i = 2, \ldots, N). \]Это даёт утверждение (25). Наконец, прямое вычисление $\hat{b}$ и $\hat{c}$, определённых в (19), даёт выражения (23). $\blacksquare$
Литература
- Julia Ackermann, Thomas Kruse, and Mikhail Urusov. "Càdlàg semimartingale strategies for optimal trade execution in stochastic order book models". Finance and Stochastics 25.4 (2021), pp. 757–810. ↑
- Julia Ackermann, Thomas Kruse, and Mikhail Urusov. "Optimal Trade Execution in an Order Book Model with Stochastic Liquidity Parameters". SIAM Journal on Financial Mathematics 12.2 (2021), pp. 788–822. ↑
- Aurélien Alfonsi and José Infante Acevedo. "Optimal Execution and Price Manipulations in Time-varying Limit Order Books". Applied Mathematical Finance 21.3 (2014), pp. 201–237. ↑
- Aurélien Alfonsi and Pierre Blanc. "Dynamic optimal execution in a mixed-market-impact Hawkes price model". Finance and Stochastics 20.1 (2016), pp. 183–218. ↑
- Aurélien Alfonsi, Antje Fruth, and Alexander Schied. "Constrained portfolio liquidation in a limit order book model". Advances in Mathematics of Finance. Banach Center Publ. 83, Polish Acad. Sci. Inst. Math, 2008, pp. 9–25. ↑
- Aurélien Alfonsi, Antje Fruth, and Alexander Schied. "Optimal execution strategies in limit order books with general shape functions". Quantitative Finance 10.2 (2010), pp. 143–157. ↑
- Aurélien Alfonsi and Alexander Schied. "Capacitary Measures for Completely Monotone Kernels via Singular Control". SIAM Journal on Control and Optimization 51.2 (2013), pp. 1758–1780. ↑
- Aurélien Alfonsi and Alexander Schied. "Optimal Trade Execution and Absence of Price Manipulations in Limit Order Book Models". SIAM Journal on Financial Mathematics 1.1 (2010), pp. 490–522. ↑
- Aurélien Alfonsi, Alexander Schied, and Alla Slynko. "Order Book Resilience, Price Manipulation, and the Positive Portfolio Problem". SIAM Journal on Financial Mathematics 3.1 (2012), pp. 511–533. ↑
- Robert Almgren and Neil Chriss. "Optimal Execution of Portfolio Transactions". Journal of Risk 03 (2001), pp. 5–40. ↑
- Robert Almgren, Chee Thum, Emmanuel Hauptmann, and Hong Li. "Direct Estimation of Equity Market Impact". RISK (July 2005). ↑
- Ali Al-Aradi, Adolfo Correia, Danilo Naiff, Gabriel Jardim, and Yuri Saporito. "Solving nonlinear and high-dimensional partial differential equations via deep learning". arXiv preprint arXiv:1811.08782 (2018). ↑
- Ali Al-Aradi, Adolfo Correia, Danilo de Frietas Naiff, Gabriel Jardim, and Yuri Saporito. "Applications of the deep Galerkin method to solving partial integro-differential and Hamilton-Jacobi-Bellman equations". arXiv preprint arXiv:1912.01455 (2019). ↑
- Achref Bachouch, Côme Huré, Nicolas Langrené, and Huyen Pham. "Deep neural networks algorithms for stochastic control problems on finite horizon, Part 2: numerical applications". arXiv preprint arXiv:1812.05916 (2018). ↑
- Emmanuel Bacry, Adrian Iuga, Matthieu Lasnier, and Charles-Albert Lehalle. "Market Impacts and the Life Cycle of Investors Orders". Market Microstructure and Liquidity 01.02 (2015), p. 1550009. ↑
- Vlad Bally, Gilles Pagès, and Jacques Printems. "A quantization tree method for pricing and hedging multidimensional American options". Mathematical Finance 15.1 (2005), pp. 119–168. ↑
- Peter Bank and Antje Fruth. "Optimal Order Scheduling for Deterministic Liquidity Patterns". SIAM Journal on Financial Mathematics 5.1 (2014), pp. 137–152. ↑
- Dirk Becherer, Todor Bilarev, and Peter Frentrup. "Optimal liquidation under stochastic liquidity". Finance and Stochastics 22.1 (2018), pp. 39–68. ↑
- Dimitris Bertsimas and Andrew W. Lo. "Optimal control of execution costs". Journal of Financial Markets 1.1 (1998), pp. 1–50. ↑
- Tomasz R Bielecki, Tao Chen, Igor Cialenco, Areski Cousin, and Monique Jeanblanc. "Adaptive robust control under model uncertainty". SIAM Journal on Control and Optimization 57.2 (2019), pp. 925–946. ↑
- Jean-Philippe Bouchaud, J. Doyne Farmer, and Fabrizio Lillo. "How Markets Slowly Digest Changes in Supply and Demand". Handbook of Financial Markets: Dynamics and Evolution. North-Holland, 2009, pp. 57–160. ↑
- Jean-Philippe Bouchaud, Yuval Gefen, Marc Potters, and Matthieu Wyart. "Fluctuations and response in financial markets: the subtle nature of 'random' price changes". Quantitative Finance 4.2 (2004), pp. 176–190. ↑
- Álvaro Cartea and Sebastian Jaimungal. "Incorporating order-flow into optimal execution". Mathematics and Financial Economics 10.3 (2016), pp. 339–364. ↑
- Ying Chen, Ulrich Horst, and Hoang Hai Tran. "Portfolio liquidation under transient price impact - theoretical solution and implementation with 100 NASDAQ stocks". Preprint arXiv:1912.06426. 2019. ↑
- Gianbiagio Curato, Jim Gatheral, and Fabrizio Lillo. "Optimal execution with non-linear transient market impact". Quantitative Finance 17.1 (2017), pp. 41–54. ↑
- Ngoc-Minh Dang. "Optimal Execution with Transient Impact". Market Microstructure and Liquidity 03.01 (2017), p. 1750008. ↑
- Martin Forde, Leandro Sánchez-Betancourt, and Benjamin Smith. "Optimal trade execution for Gaussian signals with power-law resilience". Quantitative Finance (2021), pp. 1–12. ↑
- Antje Fruth, Torsten Schöneborn, and Mikhail Urusov. "Optimal trade execution and price manipulation in order books with time-varying liquidity". Mathematical Finance 24.4 (2014), pp. 651–695. ↑
- Antje Fruth, Torsten Schöneborn, and Mikhail Urusov. "Optimal trade execution in order books with stochastic liquidity". Mathematical Finance 29.2 (2019), pp. 507–541. ↑
- Jim Gatheral. "No-dynamic-arbitrage and market impact". Quantitative Finance 10.7 (2010), pp. 749–759. ↑
- Jim Gatheral, Alexander Schied, and Alla Slynko. "Transient linear price impact and Fredholm integral equations". Mathematical Finance 22.3 (2012), pp. 445–474. ↑
- Maximilien Germain, Huyên Pham, and Xavier Warin. "Neural networks-based algorithms for stochastic control and PDEs in finance". arXiv preprint arXiv:2101.08068 (2021). ↑
- Paulwin Graewe and Ulrich Horst. "Optimal Trade Execution with Instantaneous Price Impact and Stochastic Resilience". SIAM Journal on Control and Optimization 55.6 (2017), pp. 3707–3725. ↑
- Robert B Gramacy. Surrogates: Gaussian Process Modeling, Design, and Optimization for the Applied Sciences. Chapman and Hall/CRC, 2020. ↑
- Ben Hambly, Renyuan Xu, and Huining Yang. "Recent Advances in Reinforcement Learning in Finance". Preprint arXiv:2112.04553. 2021. ↑
- Jiequn Han and Weinan E. "Deep learning approximation for stochastic control problems". arXiv preprint arXiv:1611.07422 (2016). NIPS 2016, Deep Reinforcement Learning Workshop. ↑
- Ulrich Horst and Xiaonyu Xia. "Multi-dimensional optimal trade execution under stochastic resilience". Finance and Stochastics 23.4 (2019), pp. 889–923. ↑
- Gur Huberman and Werner Stanzl. "Price Manipulation and Quasi-Arbitrage". Econometrica 72.4 (2004), pp. 1247–1275. ↑
- Côme Huré, Huyên Pham, Achref Bachouch, and Nicolas Langrené. "Deep neural networks algorithms for stochastic control problems on finite horizon, part I: convergence analysis". arXiv preprint arXiv:1812.04300 (2018). ↑
- Amine Ismail and Huyên Pham. "Robust Markowitz mean-variance portfolio selection under ambiguous covariance matrix". Mathematical Finance 29.1 (2019), pp. 174–207. ↑
- Sebastian Jaimungal. "Reinforcement learning and stochastic optimisation". Finance and Stochastics 26.1 (2022), pp. 103–129. ↑
- Arezou Keshavarz and Stephen Boyd. "Quadratic approximate dynamic programming for input-affine systems". International Journal of Robust and Nonlinear Control 24.3 (2014), pp. 432–449. ↑
- Laura Leal, Mathieu Laurière, and Charles-Albert Lehalle. "Learning a functional control for high-frequency finance". Preprint arXiv:2006.09611. 2021. ↑
- Charles-Albert Lehalle and Eyal Neuman. "Incorporating signals into optimal trading". Finance and Stochastics 23.2 (2019), pp. 275–311. ↑
- Fabrizio Lillo, J. Doyne Farmer, and Rosario N. Mantegna. "Master curve for price-impact function". Nature 421.6919 (2003), pp. 129–130. ↑
- Christopher Lorenz and Alexander Schied. "Drift dependence of optimal trade execution strategies under transient price impact". Finance and Stochastics 17.4 (2013), pp. 743–770. ↑
- Eyal Neuman and Moritz Voß. "Optimal Signal-Adaptive Trading with Temporary and Transient Price Impact". SIAM Journal on Financial Mathematics 13.2 (2022), pp. 551–575. ↑
- Anna A. Obizhaeva and Jiang Wang. "Optimal trading strategy and supply/demand dynamics". Journal of Financial Markets 16.1 (2013), pp. 1–32. ↑
- Gilles Pagès, Huyên Pham, and Jacques Printems. "An optimal Markovian quantization algorithm for multi-dimensional stochastic control problems". Stochastics and Dynamics 4.4 (2004), pp. 501–545. ↑
- Andrew Papanicolaou, Hao Fu, Prasanth Krishnamurthy, Brian Healy, and Farshad Khorrami. "An optimal control strategy for execution of large stock orders using long short-term memory networks". Journal of Computational Finance 26.4 (2023), pp. 37–65. ↑
- Silviu Predoiu, Gennady Shaikhet, and Steven Shreve. "Optimal Execution in a General One-Sided Limit-Order Book". SIAM Journal on Financial Mathematics 2.1 (2011), pp. 183–212. ↑
- Carl Edward Rasmussen and Christopher K. I. Williams. Gaussian Processes for Machine Learning. The MIT Press, 2006. ↑
- Alexander Schied, Torsten Schöneborn, and Michael Tehranchi. "Optimal Basket Liquidation for CARA Investors is Deterministic". Applied Mathematical Finance 17.6 (2010), pp. 471–489. ↑
- Kevin T Webster. Handbook of Price Impact Modeling. Chapman and Hall/CRC, 2023. ↑
Перевод выполнен с сохранением структуры, формул и данных оригинала. Оригинал: arXiv:2204.08581 · Chen, Ludkovski, Voß.