Задачи алгоритмической и высокочастотной торговли для скачко-диффузионных моделей на Semi-Markov и Хоукс процессах
Лука Лалор, Анатолий Свищук · University of Calgary, Department of Mathematics and Statistics · 4 марта 2025
Оригинал: Lalor, L., Swishchuk, A. «Algorithmic and High-Frequency Trading Problems for Semi-Markov and Hawkes Jump-Diffusion Models», 2025 — arxiv.org/abs/2409.12776 (PDF), лицензия CC BY 4.0.
Рисунки воспроизведены из оригинальной публикации. Перевод выполнен с указанием источника в соответствии с условиями лицензии CC BY 4.0.
Аннотация
В этой статье представлена скачко-диффузионная модель цены, специально разработанная для алгоритмической торговли и высокочастотной торговли (HFT). Модель включает независимые скачковый и диффузионный процессы, обеспечивая более точное представление динамики книги лимитных заявок (LOB) в каркасе скейлингового предела. Учитывая, что алгоритмические и HFT-стратегии сегодня доминируют на крупнейших финансовых рынках, точное моделирование динамики LOB критически важно для разработки эффективных торговых алгоритмов. Недавние исследования показали, что данные LOB часто демонстрируют немарковские свойства, подкрепляя необходимость моделей, лучше улавливающих её эволюцию. В этой статье мы рассматриваем задачи набора (acquisition) и ликвидации позиции при более общих составных semi-Markov и Хоукс скачко-диффузионных моделях. Сначала мы строим скачко-диффузионные каркасы для описания этой динамики, а затем применяем диффузионные аппроксимации к скачковым компонентам, чтобы получить робастные решения. Оптимальные торговые стратегии формулируются через стохастическое оптимальное управление (SOC) и решаются численно. Наконец, мы представляем симуляции стратегий с анализом ценовых траекторий, эволюции инвентаря, скорости торговли и средних цен исполнения. Работа даёт понимание того, как эти модели могут улучшить стратегии исполнения при более общей ценовой динамике.
Ключевые слова: алгоритмическая и высокочастотная торговля, набор позиции, ликвидация, книги лимитных заявок, стохастическое оптимальное управление, процесс Хоукса, semi-Markov процесс, симуляция рынка.
1. Введение
Фокус этой статьи — формулирование процессов цены актива скачко-диффузионного типа через диффузионную аппроксимацию скачковых частей. В общем виде мы стремимся построить стохастические процессы mid-цены, которые в Cartea et al. (2015) называются «фундаментальной ценой» и которые точно отражают эволюцию стоимости финансового актива. В частности, мы фокусируемся на активах, где большинство транзакций происходит внутри LOB, поэтому эволюция цены здесь в целом представляет стоимость таких активов. Когда на рынок поступает новая информация об этих финансовых активах или происходят определённые транзакции (чем крупнее, тем больший эффект они обычно оказывают), фундаментальная цена эволюционирует. Это часто моделируется как комбинация шума через приращения броуновского движения плюс некоторый дрейф, часто обусловленный действиями определённых трейдеров. Если новая информация, входящая на рынок, внезапна и радикальна, либо происходящие транзакции аномально велики, в фундаментальной цене мгновенно могут возникать большие скачки. В этом случае для точного моделирования динамики mid-цены необходима модель со скачками.
Мы начнём с определения общей версии стохастических процессов mid-цены, используемых в Cartea et al. (2015), поскольку там этот процесс mid-цены регулярно применяется для решения торговых задач стохастического оптимального управления (SOC). Этот процесс mid-цены можно определить так:
\[ S_t = \pm g(\nu_t)t + \sigma W_t, \quad S_0 = S. \tag{1} \]Здесь $g : \mathbb{R}_+ \to \mathbb{R}_+$ — функция, представляющая перманентное воздействие, которое действия трейдера могут оказывать на mid-цену финансового актива. Знак $\pm$ перед $g$ указывает, покупает ($+$) или продаёт ($-$) торговый агент единицы финансового актива. Предположим пока, что $\nu_t$ представляет некоторое действие, которое может предпринять трейдер, например покупку или продажу финансового актива. Наконец, $W_t$ — стандартное броуновское движение, представляющее диффузионную динамику, а $\sigma$ — коэффициент диффузии.
Модели в этой статье нацелены на расширение и улучшение стохастических процессов mid-цены, используемых для моделирования динамики LOB в SOC-каркасе. Высокочастотные данные LOB часто демонстрируют точки разрыва, т.е. скачки на другие ценовые уровни, которые чисто диффузионная модель игнорировала бы. Скачки в ценовом процессе могут возникать по разным причинам, таким как неожиданные новостные события, разъедающие ликвидность на ближайших ценовых уровнях, или внезапный приход крупного покупателя или продавца с высокой срочностью исполнения сделки. Таким образом, ценовому процессу необходимо включать эту динамику, чтобы точнее характеризовать поведение цен финансовых активов.
Недавние исследования, такие как Cont, De Larrard (2012), Swishchuk, Vadori (2017) и Kreher, Milbradt (2023), показали, что скачко-диффузионная ценовая динамика — хорошая техника аппроксимации для данных LOB на финансовых рынках. При визуализации данных, как можно видеть на Рис. 1, заметно, что они близко напоминают диффузионную динамику, но в некоторых точках данные также испытывают резкие скачки. Помимо скачковой динамики данные LOB, как правило, следуют немарковской динамике, что показано многочисленными обширными исследованиями. Эмпирические результаты в He, Swishchuk (2019), Swishchuk et al. (2019) и Swishchuk, Huffman (2020) показывают, что большее число заявок, зависящих от состояния, зачастую точнее моделирует динамику mid-цены LOB, чем математическое предположение о бесконечно малом размере тика в общей GBM-модели. Схожие свидетельства можно найти во многих других работах, среди которых, в произвольном порядке, Cartea et al. (2018a), Cartea et al. (2018b), Drame (2019), Mäkinen et al. (2019), Sfendourakis, Toke (2021), Sjogren, DeLise (2021) и многие другие. Изучив данные LOB, все эти статьи строят модели с базовым предположением, что скачки в цене происходят.
Таким образом, наша цель в этой статье — добавить больше гибкости в ценовые модели, используемые для формулирования и решения задач алгоритмической торговли, как в Cartea et al. (2015), где в основном применяются процессы mid-цены на основе чисто арифметической диффузионной модели, как в уравнении (1). Следовательно, наши модели новы и более общи для обоих случаев, рассмотренных в: i) Cartea et al. (2015) для чисто диффузионного случая с дрейфом, см. (1), и ii) Roldan Contreras, Swishchuk (2022) и Roldan Contreras (2023), где ценовые модели учитывали только скачки, применяя диффузионные аппроксимации для semi-Markov LOB-моделей из Swishchuk, Vadori (2017) и моделей LOB на общем составном процессе Хоукса (GCHP) из Swishchuk, Huffman (2020). Мы стремимся расширить оба случая — первый только с диффузией и второй только со скачками, — формулируя более общие ценовые процессы, учитывающие обе динамики.
Основные вклады статьи можно суммировать следующим образом.
- Мы предлагаем скачко-диффузионную модель цены, заточенную под алгоритмическую торговлю и HFT, объединяющую независимые скачковый и диффузионный процессы, которые точнее улавливают динамику LOB в аппроксимации скейлингового предела. Наш каркас уникален тем, что позволяет моделировать скачковую динамику либо semi-Markov, либо Хоукс процессом в сочетании с независимой компонентой броуновского движения. Хотя чисто скачковая модель на основе semi-Markov и Хоукс динамики в контексте алгоритмической торговли и HFT не нова, включение стандартизованных немарковских скачковых компонент вместе с обычным арифметическим броуновским движением через скачко-диффузионные модели в практических приложениях представляет существенный шаг вперёд.
- Чтобы обеспечить более робастные решения стандартных задач алгоритмической и высокочастотной торговли (HFT) в моделировании книги лимитных заявок, где транзакции происходят каждую миллисекунду, мы даём аппроксимации скачковых компонент в наших скачко-диффузионных ценовых моделях. В приложениях обычно рассматривается более длинная шкала времени $tn$ (минуты, часы и т.д.), а не $t$ (миллисекунды), что оставляет достаточно времени для решения стандартных задач алгоритмического и HFT-трейдинга. В этом контексте особенно полезны предельные теоремы, такие как закон больших чисел (усреднение) и функциональная центральная предельная теорема (диффузионная аппроксимация), которые применяются в пределе $n \to \infty$ при фиксированном $t$.
- Используя реальные данные LOB, мы взяли откалиброванные параметры модели и провели углублённый численный анализ задач набора и ликвидации позиции при предложенной нами ценовой динамике. За этим последовали обширные симуляции в различных сценариях, где скачковая компонента значительно варьируется, отражая разные рыночные режимы. Наш анализ демонстрирует, как решения и результаты симуляций могут существенно меняться в ответ на эти сдвиги скачковой динамики.
Статья организована следующим образом. Раздел 2 вводит скачко-диффузионные модели в HFT, а именно semi-Markov и Хоукс варианты. Раздел 3 изучает две торговые задачи стохастического оптимального управления в алгоритмической торговле и HFT — задачу набора и задачу ликвидации позиции — при наших новых скачко-диффузионных моделях. Численные решения этих задач рассматриваются в Разделе 4. Симуляции стратегий для этих задач представлены в Разделе 5. Наконец, выводы и рекомендации для будущих исследований обсуждаются в Разделе 6.
2. Semi-Markov и Хоукс скачко-диффузионные модели в HFT
Этот раздел посвящён построению скачко-диффузионных ценовых моделей, в которых скачковые части моделируются через semi-Markov и Хоукс динамику. В Cartea et al. (2015) упоминаются марковские скачко-диффузионные модели цены с диффузионной частью $W(t)$ и считающим процессом $N(t)$. Однако таким моделям не хватает робастности в применении к задачам алгоритмической торговли и HFT, что делает их непригодными для практической реализации. Более того, не существовало подхода к более общим скачко-диффузионным каркасам — например, с составными semi-Markov и составными Хоукс процессами — в реальных приложениях. Поэтому здесь мы предлагаем аппроксимировать скачковые части этих ценовых процессов, получая диффузионную аппроксимацию, что позволяет включить наши более общие составные semi-Markov или составные Хоукс процессы в решения торговых задач. Тем самым эта работа признаёт, что торговые агенты часто сталкиваются с несколькими факторами риска, как также отмечено в Cartea et al. (2015), и предлагает более полный модельный каркас для эффективного учёта этих факторов на практике.
Важное соображение для этого типа ценовой модели, как видно из уравнения (1) в Cartea et al. (2015) и позже в наших собственных моделях, — её потенциальный недостаток: возможность отрицательных цен, которая может усугубляться наличием скачков. Чтобы учесть это, ценовая модель должна гарантировать, что начальные цены много выше потенциальных размеров скачковых тиков: для ухода цены в минус потребовалось бы экстремальное количество скачков в одном направлении. Как мы покажем в симуляциях, ценовой процесс остаётся далеко от отрицательных значений даже в экстремальных сценариях. Для полного устранения этого недостатка и снятия любой неоднозначности можно принять экспоненциальную скачко-диффузионную модель цены. Похожий подход для чисто скачкового случая был сформулирован в Guo et al. (2022) в рамках книги лимитных заявок (LOB).
Остальная часть раздела устроена так. В подразделе 2.1 мы вводим нашу скачко-диффузионную модель при semi-Markov подходе к аппроксимации (через закон больших чисел) скачковой части. В подразделе 2.2 мы аналогично вводим скачко-диффузионную модель, но при подходе аппроксимации через процесс Хоукса (через функциональную центральную предельную теорему) для скачковой части.
2.1. Скачки как функция semi-Markov процесса
Для начала немного контекста: предшествующие модели, например Cont, De Larrard (2013), предлагают использовать для LOB простую стохастическую модель динамики, в которой приходы рыночных заявок, лимитных заявок и отмен описываются марковской системой массового обслуживания. В Swishchuk, Vadori (2017) эта работа была расширена, чтобы отразить тот факт, что распределение межприходных времён заявок внутри LOB обычно неэкспоненциально. Они показывают, что природа нового события книги и соответствующие межприходные времена зависят от природы предыдущего события книги. Это противоречит марковской модели Cont, De Larrard (2013) и использованию пуассоновского и составного пуассоновского процессов для моделирования скачковой части процесса цены акции. Чтобы улучшить модель с учётом этого немарковского свойства, Fodra, Pham (2015b) используют процесс марковского восстановления, также известный как semi-Markov процесс, причём эта работа фокусируется на нём с точки зрения рыночной микроструктуры. В Fodra, Pham (2015a) изучается задача оптимальной высокочастотной торговли, где ценовой процесс управляется процессом марковского восстановления.
Semi-Markov процессы образуются из широкого спектра стохастических процессов. Главное преимущество над обычным марковским процессом в том, что они позволяют использовать произвольное распределение времени ожидания для моделирования времени до перехода из одного состояния в другое, т.е. времена ожидания не обязаны моделироваться экспоненциальным распределением. Ранее была разработана общая semi-Markov модель (в Swishchuk et al. (2017)) для моделирования динамики LOB, а затем в Swishchuk, Vadori (2017) построена аппроксимация semi-Markov процесса диффузионной моделью. В Roldan Contreras (2023) это привело к дополнительному члену дрейфа в процессе цены акции при решении SOC-задач алгоритмической торговли. В настоящей статье мы сначала формулируем модель для случая, когда ценовой процесс следует обычной диффузионной модели из уравнения (1) плюс скачковая часть, т.е. скачко-диффузионную модель:
\[ S_t = S_0 \pm g(\nu_t)t + \sigma W_t + \sum_{k=1}^{N(t)} X_k \tag{2} \]В уравнении (2) $W_t$, $\sigma$ и $g$ определены как раньше, $X_k$ — эргодическая цепь Маркова, представляющая два типа последовательных ценовых приращений со значениями $\pm\delta$, а $N(t)$ — число обновлений (или приходов), произошедших до момента $t$, т.е. $N(t)$ — считающий процесс изменений цены. Этот ценовой процесс теперь включает дополнительный скачковый член $\sum_{k=1}^{N(t)} X_k$, которого нет в уравнении (1). $N(t)$ — считающий процесс, независимый от $X_k$ и $W_t$, т.е. все источники случайности предполагаются независимыми. Это означает, что число изменений цены $N(t)$ не зависит от размера тика, описываемого $X_k$. Так мы можем глубже понять, как задача SOC алгоритмической торговли поведёт себя при ценовом процессе, включающем динамику этой скачковой части.
Далее мы введём первую из предлагаемых моделей диффузионной аппроксимации скачковой части ценового процесса из уравнения (2). Она, вместе с остальной обычной диффузионной моделью, позволит нам решать некоторые задачи алгоритмической торговли и HFT из Cartea et al. (2015) с использованием этого более инновационного ценового процесса, учитывающего немарковскую скачковую динамику. Для этого мы воспользуемся диффузионной аппроксимацией из Swishchuk, Vadori (2017) при предположении (A5), разд. 4.2, о конечном размере тика. Тогда ценовой процесс из уравнения (2) становится
\[ \begin{aligned} S_t &= S_0 + (\pm g(\nu_t)\eta_{SM})t + \sqrt{\sigma^2 + \bar\sigma_{SM}^2 + \left(\frac{\sigma^*}{\sqrt{m_\tau}}\right)^{\!2}}\, W_t \\ &= S_0 + (\pm g(\nu_t)\eta_{SM})t + \sqrt{(\sigma^2 + \bar\sigma_{SM}^2 + \varsigma_{SM}^2)}\, W_t \end{aligned} \tag{3} \]где коэффициент дрейфа $\eta_{SM}$ может быть представлен, как в Roldan Contreras (2023), для случая сбалансированного рынка как
\[ \eta_{SM} = \frac{1}{m_\tau}\, s^* \tag{4} \]где индекс $SM$ отражает то, что этот коэффициент происходит от semi-Markov процесса. Для случая процесса Хоукса мы введём аналогичный коэффициент $\eta_{HP}$; индексация позволяет избежать путаницы в дальнейшем. Здесь $m_\tau = \sum_{i\in\{-\delta,\delta\}} \pi^*(i) m(i)$, а нормализованная цена $s^*$ определяется как $s^* := \delta(2\pi^* - 1)$, где $\pi^*$ — долгосрочная (long-run) вероятность. В диффузионной аппроксимации мы используем скейлинговый предел $\lim_{n\to\infty}$ для $S_{tn}$. Полное доказательство того, что диффузионная часть этого перенормированного ценового процесса удовлетворяет слабой сходимости в топологии Скорохода, см. в Swishchuk, Vadori (2017). В приложениях, таких как алгоритмическая торговля и HFT, и в моделировании LOB (где транзакции происходят каждую миллисекунду) обычно рассматривают длинную шкалу $tn$ (минуты, часы и т.д.) вместо $t$ (миллисекунды), чтобы успевать готовить решения торговых задач, таких как ликвидация, набор позиции и маркетмейкинг; в этой статье мы изучим первые две. В этом случае очень полезны предельные теоремы, использующие закон больших чисел (усреднение) для случая, когда $n$ стремится к бесконечности при фиксированном $t$.
Продолжая аналогичным образом, $\varsigma_{SM} = \frac{\sigma^*}{\sqrt{\tau}}$ — ещё один новый коэффициент, представляющий semi-Markov диффузионную аппроксимацию скачковой части уравнения (2). Здесь $\sigma^*$ — константа, зависящая от эргодических и переходных вероятностей цепи Маркова $X_k$, а $\tau$ — межприходное время скачков. Тогда для нашей двухсостоянной цепи Маркова $\sigma^*$ можно определить, как в Swishchuk, Vadori (2017):
\[ (\sigma^*)^2 = \sqrt{4\delta^2\left(\frac{1 - p'_{cont} + \pi^*(p'_{cont} - p_{cont})}{(p_{cont} + p'_{cont} - 2)^2}\right)}, \tag{5} \]где $p_{cont} = P[X_{k+1} = \delta \mid X_k = \delta]$, $p'_{cont} = P[X_{k+1} = -\delta \mid X_k = -\delta]$, $\pi^* = \frac{p'_{cont} - 1}{p_{cont} + p'_{cont} - 2}$, $\tau = \sum_{k=1}^{\infty}\sum_{p=1}^{\infty} \alpha^b(k)\alpha^a(p) f^*(k,p)$ и $f^*(k,p) = \pi^* f(k,p) + (1-\pi^*)\tilde f(k,p)$, где $f(k,p)$ — распределение вероятностей после роста цены, $\tilde f(k,p)$ — распределение вероятностей после падения цены, а $\alpha$ — функция межприходных времён, где показатели $a$ и $b$ относятся к сторонам ask и bid книги LOB соответственно (подробнее см. Swishchuk, Vadori (2017)). Наконец, $\bar\sigma_{SM}$ можно определить, как в Swishchuk, Vadori (2017):
\[ \bar\sigma_{SM} = \sqrt{\frac{(\sigma^*)^2}{m_\tau} + \frac{\Pi\sigma^2}{m_\tau}}, \tag{6} \]Чтобы расширить эти результаты на большее число состояний, см. результаты в Swishchuk, Vadori (2017), где это можно определить для $n$-состоянной цепи Маркова. Там же можно найти больше деталей о semi-Markov моделировании LOB. Приведены подробные доказательства того, что этот метод нормализации ценового процесса сохраняет слабую сходимость в топологии Скорохода для $n$-состоянной цепи Маркова.
2.2. Скачки как функция процесса Хоукса
Немного истории: процесс Хоукса был впервые введён его создателем Аланом Хоуксом в Hawkes (1971) как самовозбуждающийся процесс; теория была расширена в Hawkes, Oakes (1974), где обсуждалось её применение к задачам, в которых данные демонстрируют эффект кластеризации. Одномерный процесс Хоукса — это точечный процесс $N(t)$, характеризуемый своей интенсивностью $\lambda(t)$ относительно естественной фильтрации:
\[ \lambda(t) = \lambda + \int_0^t \mu(t-s)\, dN(s), \tag{7} \]где $\lambda > 0$ — фоновая интенсивность, а функция отклика $\mu(t)$ — положительная функция, часто называемая функцией возбуждения, удовлетворяющая условию $\int_0^\infty \mu(s)\, ds < 1$. В последнее время процессы Хоукса применяются к задачам в финансах, как объясняется в Bacry et al. (2015), где определённые процессы демонстрируют эти эффекты самовозбуждения и кластеризации. Эти свойства также более согласованы при моделировании ценовых процессов со скачками в LOB, что подтверждают эмпирические результаты Fodra, Pham (2015b). Мы, разумеется, в этой статье фокусируемся именно на их приложениях к моделированию LOB. Примеры предшествующих работ по моделированию LOB включают Swishchuk, Huffman (2020), где введён общий составной процесс Хоукса (GCHP) в LOB с приложением в SOC-контексте в Roldan Contreras, Swishchuk (2022), или Cartea et al. (2018b), где процессы Хоукса используются для прогнозирования неблагоприятного отбора внутри LOB, также с приложениями в SOC-каркасе.
Здесь, как в подразделе 2.1, мы моделируем ценовой процесс с диффузионной и скачковой частями:
\[ S_t = S_0 \pm g(\nu_t)t + \sigma W_t + \sum_{k=1}^{N(t)} a(X_k), \tag{8} \]где $g$ и диффузионный член определены как в подразделе 2.1. В уравнении (8) $a$ отображает текущее состояние в движение цены, $X_k$ — снова эргодическая цепь Маркова с эргодическими вероятностями $(\pi_1^*, \pi_2^*, \ldots, \pi_n^*)$, где текущее состояние вычисляется по информации из предыдущего состояния. Здесь $N(t)$ — снова считающий процесс, независимый от $X_k$ и $W_t$. Тогда, используя диффузионную аппроксимацию скачковой части из Swishchuk, Huffman (2020), это становится
\[ \begin{aligned} S_t &= S_0 \pm (g(\nu_t)\eta_{HP})t + \sqrt{\sigma^2 + \bar\sigma_{HP}^2 + \left(\sigma^*\sqrt{\frac{\lambda}{1-\hat\mu}}\right)^{\!2}}\, W_t, \quad S_0 = S \\ &= S_0 \pm (g(\nu_t)\eta_{HP})t + \sqrt{\sigma^2 + \bar\sigma_{HP}^2 + \varsigma_{HP}^2}\, W_t, \quad S_0 = S. \end{aligned} \tag{9} \]Скейлинговый предел для диффузионно-аппроксимационной части процесса mid-цены в уравнении (9) формулируется через функциональную центральную предельную теорему (FCLT) для общего составного процесса Хоукса из Swishchuk, Huffman (2020), где, как и в подразделе 2.1, мы используем скейлинговый предел $\lim_{n\to\infty}$ для $S_{tn}$, который выполняется в слабом смысле в топологии Скорохода. Доказательство этого утверждения можно найти в Swishchuk, Huffman (2020). Аналогично аргументу подраздела 2.1, польза уравнения (9) состоит в возможности готовить решения задач алгоритмической торговли и HFT, где FCLT позволяет использовать диффузионную аппроксимацию для случая, когда $n$ стремится к бесконечности при фиксированном $t$. Здесь коэффициент дрейфа можно определить, как в Roldan Contreras (2023):
\[ \eta_{HP} = a^* \frac{\lambda}{1-\hat\mu}, \tag{10} \]где $a^*$ — константа, зависящая от переходных вероятностей цепи Маркова. Её можно определить, как в Swishchuk, Huffman (2020), как $a^* := \sum_{i\in X} \pi_i^* a(i)$, где $\pi^*$ — эргодические вероятности цепи Маркова $X$. $\lambda$ — снова фоновая интенсивность, а $\mu$ — значение функции отклика/возбуждения. Здесь $\varsigma_{HP} = \sigma^* \sqrt{\frac{\lambda}{1-\hat\mu}}$. $\sigma^*$ — снова константа, зависящая от эргодических вероятностей цепи Маркова $X_k$. Поскольку такая цепь Маркова имеет два состояния, где $X_k \in \{-\delta, \delta\}$, $\sigma^*$ можно определить, как показано в следствии 3 в Swishchuk, Huffman (2020):
\[ \sigma^* := \sqrt{4\delta^2\left(\frac{1 - p' + \pi^*(p' - p)}{(p + p' - 2)^2} - \pi^*(1-\pi^*)\right)}. \tag{11} \]Также заметим, что $\bar\sigma_{HP}$ можно определить, как в Swishchuk, Huffman (2020):
\[ \bar\sigma_{HP} = \sqrt{(\sigma^*)^2 + a^*\sqrt{\frac{\lambda}{1-\hat\mu}}}, \tag{12} \]где
\[ \sigma^* = \hat\sigma\sqrt{\frac{\lambda}{1-\hat\mu}} \quad \text{и} \quad \hat\sigma^2 := \sum_{i\in X} \pi_i^* v(i), \]где $v(i)$ представляют переходы в состояния и из них. Наконец, в уравнении (9) $\lambda$ и $\hat\mu$ представляют фоновую интенсивность и функцию возбуждения/отклика соответственно. Напомним, более формально $\hat\mu$ можно определить, как также указано в Swishchuk, Huffman (2020):
\[ 0 < \hat\mu := \int_0^\infty \mu(s)\, ds < 1 \quad \text{и} \quad \int_0^\infty s\mu(s)\, ds < \infty. \tag{13} \]3. Торговые задачи стохастического оптимального управления: набор и ликвидация позиции
Теория SOC используется во множестве различных задач в непрерывном времени для оптимизации некоторой модели. Одни из первых исторических примеров в финансах были разработаны в 1970-х в основополагающей статье Merton (1969), посвящённой задаче распределения портфеля. Результаты этой модели затем расширялись многими: Zariphopoulou (1989) — на модели оптимального инвестирования-потребления, Davis, Norman (1990) — на выбор портфеля с транзакционными издержками, Oksendal, Sulem (2002) — на задачу выбора портфеля с фиксированными и пропорциональными транзакционными издержками. В этой статье мы сфокусируемся на применении SOC-каркаса к задачам алгоритмической торговли и HFT, целый спектр примеров которых можно найти в Cartea et al. (2015); одну из них мы решим с нашими новыми ценовыми процессами из Раздела 2.
В общем случае агент в наших примерах хочет либо набрать/купить, либо ликвидировать/продать большое число единиц (акций, лотов и т.д.) за определённый горизонт времени, скажем на $[0, T]$, когда мгновенный набор/ликвидация целевого числа единиц был бы субоптимален. Такие торговые сценарии возникают регулярно, особенно когда общий объём для набора или ликвидации много больше доступной ликвидности в LOB. Общая постановка таких торговых задач использует теорию стохастического оптимального управления, где цель — максимизировать/минимизировать целевой функционал, действуя оптимальным образом. Агент может регулировать конкретный набор своих действий, называемый управлением. Управляющая переменная в случае как задачи набора, так и задачи ликвидации, которые мы изучаем, — скорость/темп торговли. Оптимальное управление затем определяется динамикой цены актива и многих других процессов (детерминированных или стохастических), релевантных задаче. Ключевые стохастические процессы в таких торговых задачах, как описано в Cartea et al. (2015), следующие:
- $\nu = (\nu_t)_{\{0\le t\le T\}}$ — скорость/темп торговли, скорость, с которой агент покупает или продаёт единицы актива. Это переменная, которой агент может управлять.
- $Q^\nu = (Q_t^\nu)_{\{0\le t\le T\}}$ — инвентарь агента. На него влияет скорость торговли агента, поэтому это управляемый процесс инвентаря агента.
- $S^\nu = (S_t^\nu)_{\{0\le t\le T\}}$ — процесс mid-цены. На него также влияет скорость сделок агента, поэтому это управляемый ценовой процесс агента.
- $\hat S^\nu = (\hat S_t^\nu)_{\{0\le t\le T\}}$ — связан с ценовым процессом, по которому агент может набирать/ликвидировать актив, т.е. ценой исполнения, «проходя» по стороне покупки/продажи LOB.
- $C^\nu = (C_t^\nu)_{\{0\le t\le T\}}$ — денежный процесс агента, порождаемый стратегией исполнения.
Далее посмотрим, как эти процессы удовлетворяют определённым дифференциальным уравнениям, возможно стохастическим:
Управляемый процесс инвентаря агента задаётся через её скорость торговли как
\[ dQ_t^\nu = \pm \nu_t\, dt, \quad Q_0^\nu = q, \tag{14} \]где мы используем $+$ в задаче набора позиции, поскольку скорость торговли агента тогда положительно связана с инвентарём, и $-$ в задаче ликвидации, поскольку скорость торговли агента тогда отрицательно связана с инвентарём.
Следуя анализу Раздела 2, процесс mid-цены можно определить для semi-Markov случая как
\[ dS_t^\nu = \pm(g(\nu_t)\eta_{SM})\, dt + \sqrt{\sigma^2 + \bar\sigma_{SM}^2 + \varsigma_{SM}^2}\, dW_t, \quad S_0^\nu = S, \tag{15} \]и для случая процесса Хоукса как
\[ dS_t^\nu = \pm(g(\nu_t)\eta_{HP})\, dt + \sqrt{\sigma^2 + \bar\sigma_{HP}^2 + \varsigma_{HP}^2}\, dW_t, \quad S_0^\nu = S. \tag{16} \]Здесь $g$, $\eta_{SM}$, $\eta_{HP}$, $\varsigma_{SM}$, $\varsigma_{HP}$, $\sigma$, $\bar\sigma_{SM}^2$, $\bar\sigma_{HP}^2$ и $W$ определены как в Разделе 2. Функция перманентного ценового воздействия $g$ положительна в задаче набора позиции, так как действия агента создают восходящий дрейф цены, и отрицательна в задаче ликвидации, так как действия агента создают нисходящий дрейф. Среди основополагающих работ по моделям ценового воздействия — Bertsimas, Lo (1998) с фокусом на оптимизации издержек исполнения при заданной функции воздействия. Кроме того, Almgren, Chriss (2001) и Colaneri et al. (2020) вводят перманентное и временное рыночное воздействие как формы транзакционных издержек в своих торговых моделях. Последняя работа также рассматривает задачу оптимальной ликвидации — одну из задач, изучаемых здесь. Далее мы перепишем процесс mid-цены ещё раз, чтобы иметь один ценовой процесс для обоих случаев, и будем использовать эту формулировку при решении задач набора и ликвидации. Этот ценовой процесс определим как
\[ dS_t^\nu = \pm(g(\nu_t)\eta)\, dt + \sqrt{\sigma^2 + \bar\sigma^2 + \varsigma^2}\, dW_t, \tag{17} \]где мы опустили индексы, отсылающие к semi-Markov и Хоукс частям коэффициентов $\eta$, $\bar\sigma$ и $\varsigma$, поскольку остальные математические выкладки статьи идентичны для обоих случаев.
Процесс цены исполнения удовлетворяет
\[ \hat S_t^\nu = S_t^\nu + \left(\frac{1}{2}\Delta \pm f(\nu_t)\right), \quad \hat S_0^\nu = \hat S. \tag{18} \]Здесь, как в Cartea et al. (2015), $f : \mathbb{R}_+ \to \mathbb{R}_+$ представляет временное ценовое воздействие, которое действия агента оказывают на цену исполнения его сделок, а $\Delta \ge 0$ — bid-ask спред, который здесь предполагается постоянным. Это временное воздействие, как и перманентное, положительно в задаче набора позиции и отрицательно в задаче ликвидации.
Денежный процесс агента удовлетворяет дифференциальному уравнению
\[ dC_t^\nu = \hat S_t^\nu \nu_t\, dt, \quad C_0 = c. \tag{19} \]
Далее мы сначала применим наши ценовые модели к задаче набора позиции с ограничителем цены из Cartea et al. (2015) в подразделе 3.1. Здесь будет действовать потолок цены, по которой агент может набирать единицы. Затем в подразделе 3.2 мы построим аналогичную торговую задачу, но в форме задачи ликвидации, с полом цены, по которой агент может ликвидировать единицы. Напомним, что торговый агент, как и любой рациональный инвестор, стремится купить дёшево и продать дорого. Потолок цены в задаче набора нужен, чтобы избежать покупки по слишком высоким ценам, и аналогично пол цены в задаче ликвидации — чтобы избежать продажи по слишком низким ценам. Наша общая цель — показать, как наши ценовые процессы могут применяться в задачах такого типа.
3.1. Задача набора позиции
В этой торговой задаче, как объясняется в Cartea et al. (2015), цель агента — набрать $\mathfrak{N}$ единиц за торговый горизонт $T$ с потолком цены набора, равным $S_{max}$. Агент прекратит торговать, если он набрал $\mathfrak{N}$ единиц, достигнут терминальный момент $T$ или mid-цена $S_t$ (задаваемая уравнением (17) с положительным дрейфом) достигла потолка $S_{max}$. Формально определим момент остановки
\[ \tau = T \wedge \{t : S_t^\nu = S_{max}\} \wedge \{t : Q_t^\nu = \mathfrak{N}\}. \tag{20} \]Когда достигается терминальное время $T$ или потолок цены $S_{max}$, агент покупает оставшиеся $\mathfrak{N} - Q_\tau^\nu$ единиц и платит $S_\tau + \alpha(\mathfrak{N} - Q_\tau^\nu)$ за акцию, где $\alpha$ — терминальный штраф набора. Можно также определить остаток к покупке $Y_t^\nu = \mathfrak{N} - Q_\tau^\nu$, удовлетворяющий
\[ dY_t^\nu = \nu_t\, dt \tag{21} \]где $\nu_t$ — положительный темп торговли.
Критерий эффективности агента, как в Cartea et al. (2015), определяется так:
\[ H^\nu(t,S,y) = \mathbb{E}_{t,s,y}\!\left[ \int_t^\tau (S_u + f(\nu_u))\, du + y_\tau(S_\tau + \alpha y_\tau) + \phi \int_t^\tau y_u^2\, du \right] \tag{22} \]Здесь $\phi\int_t^\tau y_u^2\,du$ с $\phi \ge 0$ — текущий (running) инвентарный штраф за остаток к набору. Функция цены далее определяется как
\[ H(t,S,y) = \inf_{\nu\in\mathcal{A}} H^\nu(t,S,y), \quad \forall\, 0 \le t \le T,\; S \le S_{max},\; 0 \le y \le Q \tag{23} \]Здесь $\mathcal{A}$ — множество допустимых стратегий, в которых $\nu > 0$ и равномерно ограничено сверху.
Положим $g(\nu) = b\nu$ и $f(\nu) = \kappa\nu$, как в Cartea et al. (2015), и предположим, что наши функции перманентного и временного воздействия линейны по скорости торговли, где $b \ge 0$ и $k > 0$ — конечные константы. Тогда, применяя принцип динамического программирования (DPP), функция цены должна удовлетворять следующему уравнению динамического программирования (DPE):
\[ \begin{aligned} &\partial_t H(t,S,y) + \frac{1}{2}(\sigma^2 + \bar\sigma^2 + \varsigma^2)\partial_{ss}H(t,S,y) + \phi y^2 \\ &\quad + \inf_{\nu\in\mathcal{A}}\{-\nu\,\partial_y H(t,S,y) + b\nu\eta\,\partial_y H(t,S,y) + (S + \kappa\nu)\nu\} = 0, \end{aligned} \tag{24} \]при терминальном и граничных условиях:
\[ H(T,S,y) = (S + \alpha y)y;\quad H(t,S_{max},y) = (S_{max} + \alpha y)y;\quad H(t,S,0) = 0 \tag{25} \]Здесь напомним, что коэффициенты $\eta$, $\bar\sigma$ и $\varsigma$ представляют либо случай $\eta_{SM}$, $\bar\sigma_{SM}$ и $\varsigma_{SM}$, либо $\eta_{HP}$, $\bar\sigma_{HP}$ и $\varsigma_{HP}$ из уравнений (3) и (9) соответственно. Из терминального и граничных условий видно, что по достижении момента остановки (см. уравнение (20)) агент покупает остаток единиц. Также видно, что как только агент купил изначально целевые $\mathfrak{N}$ единиц, он прекращает торговать и штрафа нет — отсюда граничное условие $H(t,S,0) = 0$ при $y = 0$.
Затем оптимальную скорость торговли можно получить с помощью математической процедуры выделения полного квадрата внутри минимизируемой части уравнения (24). Итак, оптимальная скорость торговли в форме обратной связи определяется как
\[ \nu^*(t,S,y) = -\frac{1}{2\kappa}\left(b\eta\,\partial_s H(t,S,y) - \partial_y H(t,S,y) + S\right). \tag{26} \]Подставив это оптимальное управление обратно в DPE (24), получаем PDE:
\[ \begin{aligned} &\partial_t H(t,S,y) + \frac{1}{2}(\sigma^2 + \bar\sigma^2 + \varsigma^2)\partial_{SS}H(t,S,y) \\ &\quad - \frac{1}{4\kappa}\left(b\eta\,\partial_s H(t,S,y) - \partial_y H(t,S,y) + S\right)^2 + \phi y^2 = 0 \end{aligned} \tag{27} \]Это тот же формат, что и в Cartea et al. (2015), за исключением того, что теперь мы включаем дополнительные коэффициенты дрейфа и диффузии из Roldan Contreras (2023) и добавили дополнительный коэффициент диффузии $\varsigma$, представляющий более общую версию диффузионной аппроксимации скачковых частей для semi-Markov или Хоукс случаев.
Далее, как в Cartea et al. (2015), мы понижаем размерность, чтобы решить задачу численно. Для этого сначала положим $b = 0$, используя тот же аргумент, что перманентное воздействие прохода по LOB обычно относительно мало по сравнению с временным. Этот момент также подчёркивается в Almgren, Chriss (2001). Хотя это упрощает моделирование, небольшой недостаток в том, что модель может недооценивать возможные долгосрочные рыночные воздействия. Итак, используем анзац
\[ H(t,S,y) = yS + y^2 h(t,S) \tag{28} \]и видим, что $h$ удовлетворяет следующему PDE:
\[ \partial_t h(t,S) + \frac{1}{2}(\sigma^2 + \bar\sigma^2 + \varsigma^2)\partial_{SS}h(t,S) - \frac{1}{\kappa}h^2 + \phi = 0. \tag{29} \]Существование решений такого PDE следует из того же случая, что и в Cartea et al. (2015) в общем виде, что доказывается через так называемую теорему верификации по образцу многих известных работ, таких как Pham (2009) и Yong, Zhou (2012). Это PDE теперь имеет новое терминальное и граничное условия:
\[ h(T,S) = \alpha, \quad S \le S_{max}, \tag{30} \] \[ h(t,S_{max}) = \alpha, \quad t \le T. \tag{31} \]Оптимальное управление для этой задачи набора $\nu^*$ теперь определяется как
\[ \nu^*(t,S) = \frac{1}{\kappa} y\, h(t,S). \tag{32} \]Интуитивно уравнение (32) говорит, что оптимальная скорость набора уменьшается с ростом инвентаря $Q$, что логично: агент тогда ближе к целевому инвентарю.
Наконец, как в Cartea et al. (2015), мы хотим показать, как текущее состояние процесса инвентаря $Q$ можно получить в терминах траектории процесса mid-цены, вычислив $Y_t$ — процесс, определяющий, сколько единиц осталось купить. Здесь $Y_t$ удовлетворяет SDE
\[ dY_t^* = -\nu^* dt = -\frac{1}{\kappa} Y_t h(t,S_t)\, dt, \tag{33} \]и, следовательно,
\[ Q_t^* = \left(1 - e^{-\frac{1}{\kappa}\int_0^t h(u,S_u)\, du}\right)\mathfrak{N}, \quad t \le \tau. \tag{34} \]Видно, что реализовавшаяся траектория mid-цены первостепенна для вычисления уровня инвентаря, набранного агентом в любой момент времени. В Разделе 5 мы покажем на примерах симуляций стратегий, как оптимальная стратегия ведёт себя вдоль разных траекторий mid-цены.
3.2. Задача ликвидации
В этой торговой задаче цель агента — ликвидировать $\mathfrak{N}$ единиц снова за торговый горизонт $[0,T]$, где теперь есть пол цены ликвидации, равный $S_{min}$. Постановка аналогична задаче набора из подраздела 3.1, но с точки зрения ликвидации. Агент прекратит торговать, если он ликвидировал $\mathfrak{N}$ единиц, достигнуто терминальное время $T$ или mid-цена $S_t$ коснулась пола $S_{min}$. Формально определим момент остановки
\[ \tau = T \wedge \{t : S_t^\nu = S_{min}\} \wedge \{t : Q_t^\nu = 0\}. \tag{35} \]Когда достигается терминальное время $T$ или пол цены $S_{min}$, агент ликвидирует оставшиеся $Q_\tau^\nu$ единиц по $S_\tau - \alpha Q_\tau^\nu$ за единицу, где $\alpha$ — терминальный штраф ликвидации.
Критерий эффективности агента теперь определяется так:
\[ H^\nu(t,S,q) = \mathbb{E}_{t,s,q}\!\left[ \int_t^\tau (S_u - f(\nu_u))\, du + Q_\tau(S_\tau - \alpha Q_\tau) - \phi \int_t^\tau Q_u^2\, du \right] \tag{36} \]Здесь $\phi\int_t^\tau Q_u^2\,du$ с $\phi \ge 0$ — текущий инвентарный штраф за остаток к ликвидации. Функция цены далее определяется как
\[ H(t,S,q) = \sup_{\nu\in\mathcal{A}} H^\nu(t,S,q), \quad \forall\, 0 \le t \le T,\; S_{min} \le S,\; 0 \le q \le \mathfrak{N} \tag{37} \]Здесь $\mathcal{A}$ — снова множество допустимых стратегий, в которых $\nu > 0$ и равномерно ограничено сверху.
Далее снова положим $g(\nu) = b\nu$ и $f(\nu) = \kappa\nu$, как в Cartea et al. (2015), и предположим, что наши функции перманентного и временного воздействия линейны по скорости торговли, где $b \ge 0$ и $k > 0$ — конечные константы. Тогда, применяя DPP, функция цены должна удовлетворять следующему DPE:
\[ \begin{aligned} &\partial_t H(t,S,q) + \frac{1}{2}(\sigma^2 + \bar\sigma^2 + \varsigma^2)\partial_{ss}H(t,S,q) - \phi q^2 \\ &\quad + \sup_{\nu\in\mathcal{A}}\{-\nu\,\partial_q H(t,S,q) - b\nu\eta\,\partial_s H(t,S,q) + (S - \kappa\nu)\nu\} = 0 \end{aligned} \tag{38} \]при терминальном и граничных условиях:
\[ H(T,S,q) = (S - \alpha q)q;\quad H(t,S_{min},q) = (S_{min} - \alpha q)q;\quad H(t,S,0) = 0 \tag{39} \]Здесь напомним, что коэффициенты $\eta$, $\bar\sigma$ и $\varsigma$ представляют либо случай $\eta_{SM}$, $\bar\sigma_{SM}$ и $\varsigma_{SM}$, либо $\eta_{HP}$, $\bar\sigma_{HP}$ и $\varsigma_{HP}$ из уравнений (3) и (9) соответственно. Из терминального и граничных условий видно, что по достижении момента остановки агент ликвидирует остаток единиц. Также видно, что как только агент ликвидировал изначально целевые $\mathfrak{N}$ единиц, он прекращает торговать и штрафа нет — отсюда граничное условие $H(t,S,0) = 0$ при $q = 0$.
Затем, как в подразделе 3.1, оптимальную скорость торговли можно получить выделением полного квадрата внутри минимизируемой части уравнения (38). Итак, оптимальная скорость торговли в форме обратной связи:
\[ \nu^*(t,S,q) = -\frac{1}{2\kappa}\left(b\eta\,\partial_s H(t,S,q) + \partial_q H(t,S,q) - S\right). \tag{40} \]Подставив это оптимальное управление обратно в DPE (38), получаем PDE:
\[ \begin{aligned} &\partial_t H(t,S,q) + \frac{1}{2}(\sigma^2 + \bar\sigma^2 + \varsigma^2)\partial_{SS}H(t,S,q) \\ &\quad - \frac{1}{4\kappa}\left(b\eta\,\partial_s H(t,S,q) + \partial_q H(t,S,q) - S\right)^2 - \phi q^2 = 0 \end{aligned} \tag{41} \]при тех же терминальном и граничных условиях, определённых в уравнении (39).
Следуя Cartea et al. (2015) и подразделу 3.1, мы упрощаем размерность для численного решения задачи. Для этого сначала положим $b = 0$ с тем же аргументом, что перманентное воздействие прохода по LOB обычно относительно мало по сравнению с временным. Затем используем анзац
\[ H(t,S,q) = qS + q^2 h(t,S) \tag{42} \]и видим, что $h$ удовлетворяет следующему PDE:
\[ \partial_t h(t,S) + \frac{1}{2}(\sigma^2 + \bar\sigma^2 + \varsigma^2)\partial_{SS}h(t,S) - \frac{1}{\kappa}h^2 - \phi = 0. \tag{43} \]Существование решений этого PDE следует по аналогии с подразделом 3.1 для задачи набора, где общий случай задачи ликвидации также изучен в Cartea et al. (2015). Это PDE теперь имеет новое терминальное и граничное условия:
\[ h(T,S) = \alpha, \quad S_{min} \le S, \tag{44} \] \[ h(t,S_{min}) = \alpha, \quad t \le T. \tag{45} \]Оптимальное управление для этой задачи ликвидации $\nu^*$ теперь определяется как
\[ \nu^*(t,S) = \frac{1}{\kappa} q\, h(t,S). \tag{46} \]Интуитивно уравнение (46) говорит, что оптимальная скорость ликвидации уменьшается с уменьшением инвентаря $Q$, что логично: агент тогда ближе к ликвидации всего целевого объёма.
Наконец, как в Cartea et al. (2015) для задачи набора, мы хотим показать, как текущее состояние процесса инвентаря $Q$ можно получить в терминах траектории процесса mid-цены, вычислив $Q_t$ — процесс, определяющий, сколько инвентаря осталось ликвидировать. Здесь $Q_t$ удовлетворяет SDE
\[ dQ_t^* = -\nu^* dt = -\frac{1}{\kappa} Q_t h(t,S_t)\, dt, \tag{47} \]и, следовательно,
\[ Q_t^* = \left(1 - e^{\frac{1}{\kappa}\int_0^t h(u,S_u)\, du}\right)\mathfrak{N}, \quad t \le \tau. \tag{48} \]Видно, что реализовавшаяся траектория mid-цены первостепенна для вычисления уровня инвентаря, ликвидированного агентом в любой момент времени.
4. Численное решение: набор и ликвидация позиции
В этом разделе мы обсудим численное решение задач набора и ликвидации из подразделов 3.1 и 3.2 соответственно. Здесь мы принимаем подход, специфичный для конкретного актива, фокусируясь на Microsoft (MSFT), с данными LOB из LOBSTER (2025). Там бесплатно доступны данные за один день, 21 июня 2012 года, по этому активу. Опираясь на это, мы используем ранее откалиброванные параметры из Swishchuk, Huffman (2020) и Roldan Contreras (2023), предполагая, что уравнение (17) следует динамике Хоукса, описанной в уравнении (9). Кроме того, мы провели анализ чувствительности, чтобы изучить, как варьирование этих параметров влияет на результаты. Мы решаем PDE из уравнений (29) и (43) численно с помощью неявно-явной (IMEX) конечно-разностной схемы, аналогично тому, как в Cartea et al. (2015) решается задача набора для чисто диффузионного случая. Решения размещаются на сетке $[0,T] \times [S_{min}, S_{max}]$, которая является областью. Затем для $n = 0, 1, \ldots, N \in \mathbb{N}$ определим $\Delta t = T/N$ так, что $t_n = n\Delta t$, и для $i = 0, 1, \ldots, M \in \mathbb{N}$ определим $\Delta S = (S_{max} - S_{min})/M$ так, что $S_i = S_{min} + i\Delta S$. Сетки разделены на равноотстоящие узлы с шагами $\Delta t$ и $\Delta S$, с узловыми точками $(n\Delta t, S_{min} + i\Delta S)$. Нас интересуют значения $h(t,S)$, т.е. скорость торговли на единицу оставшегося к набору/ликвидации инвентаря. Численная схема решает части с производными $\partial_t h$ и $\partial_{ss} h$ в уравнениях (29) и (43) неявно стандартными методами, а квадратичный член — явно, как в Cartea et al. (2015).
4.1. Решение задачи набора позиции
Для задачи набора мы должны задать граничное условие вдоль $S_{min} \ll S_{max}$, чтобы задача была корректно поставлена. Здесь мы задаём граничное условие $\partial_{ss}h|_{S=S_{min}} = 0$, как в Cartea et al. (2015). Численная схема для $i = 1, 2, \ldots, M-1$ и $n = 0, 1, \ldots, N-1$ выводится так:
\[ \frac{h_i^{n+1} - h_i^n}{\Delta t} + \left(\frac{\sigma^2 + \bar\sigma^2 + \varsigma^2}{2}\right)\frac{h_{i+1}^n + h_{i-1}^n - 2h_i^n}{\Delta S^2} - \frac{1}{\kappa}(h_i^n)^2 + \phi = 0, \tag{49} \]где $\bar\sigma^2$ и $\varsigma$ определены либо для semi-Markov, либо для Хоукс случая из Разделов 2–3. Упрощение даёт:
\[ h_i^{n+1} = -\alpha h_{i-1}^n + (1-\beta)h_i^n - \gamma h_{i+1}^n + \frac{\Delta t}{\kappa}(h_i^n) - \Delta t\,\phi \tag{50} \]где $\alpha = \gamma = (\sigma^2 + \bar\sigma^2 + \varsigma^2)\frac{\Delta t}{2\Delta S^2}$ и $\beta = (\sigma^2 + \bar\sigma^2 + \varsigma^2)\frac{\Delta t}{\Delta S^2}$. Тогда, частично в матричной форме, решение, снова при $i = 1, 2, \ldots, M-1$ и $n = 0, 1, \ldots, N-1$, вычисляется как:
\[ h^n = M_1^{-1}\left(h^{n+1} - \frac{\Delta t}{\kappa}(h^n_i)^2 + \Delta t\,\phi\right) \tag{51} \]где $M_1$ определяется как
\[ M_1 = \begin{pmatrix} 1-\beta_1 & -\gamma_1 & & & & \\ -\alpha_2 & 1-\beta_2 & -\gamma_2 & & & \\ & -\alpha_3 & 1-\beta_3 & -\gamma_3 & & \\ & & \ddots & \ddots & \ddots & \\ & & & -\alpha_{M-2} & 1-\beta_{M-2} & -\gamma_{M-2} \\ & & & & -\alpha_{M-1} & 1-\beta_{M-1} \end{pmatrix} \]Заметим, что нужно также учесть граничные условия при $i = 0$ и $i = M$ и терминальное условие при $n = N$. Они были определены в уравнениях (30)–(31) и в условии выше, где нижняя граница задана в $S_{min}$.
На Рис. 2 мы показываем набор сабплотов с контурными графиками, изображающими, как решение меняется как функция времени и цены финансового актива при разных значениях $\bar\sigma$ и $\varsigma$, где откалиброванные значения параметров выделены жирным. Время здесь идёт от $t = 0$ до момента истечения $t = T = 1$, а mid-цена (пространственная переменная) — от $S_0 = 30.97$ до $S_{max} = 31.1$. Мы специально фокусируемся на этой части решения, поскольку именно здесь оно варьируется сильнее всего. Справа от каждого сабплота показана цветовая схема отображаемых значений решения. Значения решения меняются от 0 до 0.01, где $\alpha = 0.01$ представляет значение терминального условия и граничного условия при $T$ и $S_{max}$ соответственно, как определено в уравнениях (30)–(31). Видно, что скорость набора единиц агентом растёт с приближением к терминальному времени. Это происходит потому, что агент старается избежать терминального штрафа, который придётся заплатить за покупку оставшихся единиц в момент истечения. Более того, скорость торговли также растёт, когда цена актива приближается к предельной цене $S_{max}$, — снова чтобы избежать другого терминального штрафа. Этот торговый процесс был формализован в моменте остановки в уравнении (20).
В верхнем левом сабплоте Рис. 2 показано решение для случая, когда и $\bar\sigma = 0$, и $\varsigma = 0$, что соответствует случаю бенчмарк-моделей из Cartea et al. (2015). Другими словами, этот сабплот показывал бы то же решение, если бы наш ценовой процесс следовал чисто диффузионной динамике из уравнения (1). В верхнем правом сабплоте показано решение для случая $\bar\sigma = 0.01598$ (откалибровано) и $\varsigma = 0$, т.е. то же решение, если ценовая модель следует процессу из Cartea et al. (2015) в сочетании с ценовыми процессами из Roldan Contreras, Swishchuk (2022) и Roldan Contreras (2023). Напомним, что последние модели аппроксимируют ценовой процесс через диффузионную аппроксимацию для случаев, когда динамика аппроксимирует semi-Markov или Хоукс процессы. Два нижних сабплота, где мы увеличили значение параметра $\varsigma$ до откалиброванного, а затем до более высокого значения, показывают решения для случаев, когда ценовой процесс следует нашей более общей скачко-диффузионной модели из уравнения (17).
В каждом следующем сабплоте, слева направо, мы варьируем $\bar\sigma$ или $\varsigma$, чтобы показать эффект, который semi-Markov или Хоукс части могут оказывать на оптимальное решение. Из сабплотов видно, что по мере постепенного увеличения любого из этих параметров скорость торговли растёт на более ранних временных шагах при более низких ценах актива. Это интуитивно понятно: чем выше любой из этих коэффициентов, тем большую общую волатильность предсказывает решение. Значит, в этих сценариях по нашей модели становится оптимальнее набирать единицы актива быстрее. В этом конкретном типе торговой задачи, где агент набирает единицы, именно скачки цены вверх могут существенно менять оптимальное решение, поскольку агент захочет набирать единицы актива значительно быстрее. В случае скачка цены вниз это было бы крайне выгодно агенту, и его скорость набора оставшихся единиц зависела бы тогда в основном от времени.
Остальные входные параметры модели см. в Таблице 1 ниже. Большинство из них оставлены как в результатах симуляций Cartea et al. (2015) для сопоставимости; там же даны пояснения выбора. Однако мы внесли некоторые изменения. Во-первых, мы увеличили пространственный размер сетки, чтобы лучше проиллюстрировать, как наши новые параметры могут влиять на задачу такого рода. Для этого мы немного увеличили расстояние между $S_0$ и $S_{max}$ и уменьшили $S_{min}$ на большую величину, поскольку эта часть решения менее релевантна: при низких ценах задача сводится к стратегии исполнения, зависящей только от времени. Во-вторых, мы уменьшили значение $\phi$ — текущего инвентарного штрафа — с 0.001 до 0.00001, чтобы решение в основном отражало эффект semi-Markov и Хоукс частей модели. Этот параметр должен быть ненулевым для наших симуляций стратегий далее, поэтому мы сделали его очень малым, а не нулевым. Далее, как объясняется в Cartea et al. (2015), формула $\alpha/\kappa$ представляет максимальную скорость торговли, поэтому $\alpha = 0.01$. Волатильность, откалиброванная независимо на данных MSFT методом максимального правдоподобия, была установлена $\sigma = 0.1041$. Это также в основном те же значения параметров, что используются в наших симуляциях стратегий, и близкие к тем, что Cartea et al. (2015) использовали в своих симуляциях, которые мы покажем в Разделе 5.
| Параметр | Значение | Параметр | Значение |
|---|---|---|---|
| $\bar\sigma$ | 0.01598 | $\varsigma$ | 0.1323 |
| $\sigma$ | 0.1041 | $S_0$ | 30.97 |
| $T$ | 1 | $\alpha$ | 0.01 |
| $\kappa$ | 0.0001 | $\phi$ | 0.00001 |
| $N$ | 390 | $M$ | 1000 |
| $S_{min}$ | 29 | $S_{max}$ | 31.1 |
| $\Delta t$ | 0.002 | $\Delta S$ | 0.002 |
4.2. Решение задачи ликвидации
Для задачи ликвидации, как и для задачи набора в подразделе 4.1, нужно обеспечить корректную постановку. Для этого мы теперь задаём граничное условие вдоль $S_{max} \gg S_{min}$, аналогично тому, как граничное условие задавалось вдоль $S_{min} \ll S_{max}$ в подразделе 4.1. Здесь мы задаём граничное условие $\partial_{ss}h|_{S=S_{max}} = 0$. Тогда численная схема, снова для $i = 1, 2, \ldots, M-1$ и $n = 0, 1, \ldots, N-1$, для задачи ликвидации, чьё PDE было определено в уравнении (43), выводится так:
\[ \frac{h_i^{n+1} - h_i^n}{\Delta t} + \left(\frac{\sigma^2 + \bar\sigma^2 + \varsigma^2}{2}\right)\frac{h_{i+1}^n + h_{i-1}^n - 2h_i^n}{\Delta S^2} - \frac{1}{\kappa}(h_i^n)^2 - \phi = 0, \tag{52} \]где $\bar\sigma$ и $\varsigma$ снова определены либо для semi-Markov, либо для Хоукс случая из Разделов 2–3. Упрощение даёт:
\[ h_i^{n+1} = -\alpha h_{i-1}^n + (1-\beta)h_i^n - \gamma h_{i+1}^n + \frac{\Delta t}{\kappa}(h_i^n) + \Delta t\,\phi \tag{53} \]где снова $\alpha = \gamma = (\sigma^2 + \bar\sigma^2 + \varsigma^2)\frac{\Delta t}{2\Delta S^2}$ и $\beta = (\sigma^2 + \bar\sigma^2 + \varsigma^2)\frac{\Delta t}{\Delta S^2}$, как и в подразделе 4.1. Тогда, частично в матричной форме, решение численной схемы, снова при $i = 1, 2, \ldots, M-1$ и $n = 0, 1, \ldots, N-1$, вычисляется как:
\[ h^n = M_1^{-1}\left(h^{n+1} - \frac{\Delta t}{\kappa}(h^n_i)^2 - \Delta t\,\phi\right) \tag{54} \]где $M_1$ определена как в подразделе 4.1. Здесь также нужно учесть граничные условия при $i = 0$, $i = M$ и терминальное условие при $n = N$. Они определены в уравнениях (44)–(45) и в условии выше, где верхнее граничное условие задано в $S_{max}$. Видно, что уравнение (54) очень похоже на уравнение (51), использованное для решения задачи набора. Основные отличия здесь в граничных условиях: в задаче ликвидации теперь пол цены, а не потолок, как в задаче набора.
Далее, на Рис. 3, показан набор сабплотов с контурными графиками, изображающими, как решение меняется как функция времени и цены финансового актива при разных значениях $\bar\sigma$ и $\varsigma$. Время здесь снова от $t = 0$ до момента истечения $t = T = 1$, а mid-цена (пространственная переменная) — от $S_{min} = 30.8$ до $S_0 = 30.97$. Мы специально фокусируемся на этой части решения, поскольку именно здесь оно варьируется сильнее всего. Справа от каждого сабплота — цветовая схема отображаемых значений решения. Значения меняются от 0 до 0.01, где $\alpha = 0.01$ — значение терминального условия и граничного условия при $T$ и $S_{min}$ соответственно, как определено в уравнениях (44)–(45). Видно, что скорость ликвидации растёт с приближением к терминальному времени: агент старается избежать терминального штрафа за ликвидацию оставшихся единиц в момент истечения. Кроме того, скорость торговли растёт при приближении цены к полу $S_{min}$ — снова чтобы избежать другого терминального штрафа. Этот торговый процесс был формализован в моменте остановки в уравнении (35).
Как и на Рис. 2, формат ценовых моделей на этих графиках одинаков. В верхнем левом сабплоте Рис. 3 показано решение задачи ликвидации для случая $\bar\sigma = 0$ и $\varsigma = 0$, что соответствует чисто диффузионным бенчмарк-моделям Cartea et al. (2015). В верхнем правом — решение для $\bar\sigma = 0.01598$ и $\varsigma = 0$, т.е. то же решение, если ценовая модель следует процессу Cartea et al. (2015) в сочетании с процессами из Roldan Contreras, Swishchuk (2022) и Roldan Contreras (2023). Два нижних сабплота, где мы увеличили значение параметра $\varsigma$ (жирное значение — откалиброванное), показывают решения для случаев, когда ценовой процесс следует нашей более общей скачко-диффузионной модели из уравнения (17).
В каждом следующем сабплоте слева направо мы снова варьируем $\bar\sigma$ или $\varsigma$, чтобы показать влияние semi-Markov и Хоукс частей на оптимальное решение. В каждом из сабплотов виден эффект на матрицу решения при постепенном увеличении любого из параметров $\bar\sigma$ или $\varsigma$. С их ростом скорость торговли увеличивается на более ранних временных шагах при более низких ценах актива. Это интуитивно понятно: чем выше эти коэффициенты, тем большую общую волатильность предсказывает решение. Значит, в этих сценариях по нашей модели оптимальнее ликвидировать единицы актива быстрее. В этом типе задачи, где агент ликвидирует, именно скачки цены вниз могут существенно менять оптимальное решение: агент захочет ликвидировать единицы актива значительно быстрее. При скачке цены вверх агенту это выгодно — он ликвидирует по более высоким ценам, и срочность не растёт; оптимальная скорость ликвидации остатка зависела бы тогда в основном от времени.
Большинство входных параметров модели оставлены как в Таблице 1 подраздела 4.1 для задачи набора. Изменены только $S_{min}$ и $S_{max}$, которые здесь равны 30.8 и 33 соответственно. Это сделано, чтобы сильнее сфокусироваться на влиянии пола цены на оптимальное решение, тогда как в подразделе 4.1 решение больше фокусируется на эффекте потолка цены.
5. Симуляции стратегий: набор и ликвидация позиции
В этом разделе мы симулируем работу описанных задач набора и ликвидации на 10 000 разных ценовых траекторий — таково общее число проведённых симуляций. В Разделе 4 оптимальное решение принимает статичный взгляд на рынок, тогда как в реальности рыночные условия постоянно эволюционируют. Это должно отражаться в стратегии агента — и отражается во всех наших симуляциях, где стратегия обновляется на каждом временном шаге. Здесь мы снова специально сфокусируемся на том, как рост $\bar\sigma$ или $\varsigma$ может значительно менять эволюцию стратегии набора/ликвидации и как затрагиваются процессы, определённые в Разделе 3. Для постановки симуляций нужно дискретизировать непрерывные процессы из Раздела 3. Иными словами, дискретизируются непрерывные процессы из уравнений (14), (17), (18), (19), (21), (32)–(34) и (46)–(48). Поскольку обе торговые задачи уже решены численно, как показано в Разделе 4, эта часть уже дана нам в дискретной форме, и мы можем использовать значения из этих матриц решения для управления торговыми решениями в симуляции. Продвигаясь дискретно вперёд по времени, каждая симуляция на каждом шаге смотрит на текущую цену и выбирает соответствующее значение из матрицы решения $h$, которое подсказывает агенту новую оптимальную скорость торговли. После сделки обновляются денежный процесс, инвентарь и процесс цены исполнения. Если нарушается терминальное или граничное условие, симуляция заканчивается, и агент платит терминальный штраф за набор/ликвидацию оставшихся единиц актива. В этом разделе мы будем снова представлять сабплоты в том же формате, что на Рис. 1 и 2. Напомним, что на тех рисунках верхний левый сабплот — случай Cartea et al. (2015), верхний правый — случай Cartea et al. (2015) в сочетании со случаями Roldan Contreras, Swishchuk (2022) и Roldan Contreras (2023), а два нижних — наши новые, более общие ценовые процессы из уравнения (17).
5.1. Симуляции стратегии набора позиции
В этом подразделе мы обсудим симуляции стратегии для задачи набора. Они очень похожи на симуляции в Cartea et al. (2015) для их чисто диффузионных моделей. Сначала см. ниже, на Рис. 4, первые пять сэмплированных ценовых траекторий из наших симуляций и, на Рис. 5, гистограмму частот средней цены сделок в каждой из 10 000 симуляций. На Рис. 4 эти 5 случайных ценовых траекторий основаны на нашем ценовом процессе, определённом ранее в уравнении (17), где мы повторяем симуляции при разных значениях $\bar\sigma$ или $\varsigma$. На Рис. 5 видно, как разные значения параметров могут влиять на цену актива, по которой агент в итоге набирает единицы в наших симуляциях. Пунктирная чёрная линия на обоих рисунках также показывает потолок цены $S_{max}$, при пробое которого симуляция торговой стратегии заканчивается.
Совершенно очевидно, что при увеличении значений $\bar\sigma$ или $\varsigma$ цены с большей вероятностью демонстрируют более высокую волатильность — это всё ещё диффузионная модель, — но далее мы увидим, как эта повышенная волатильность, идущая от скачковой части (через диффузионную аппроксимацию), может значительно менять эволюцию симулируемой торговой стратегии. Один из моментов на этих графиках — пробой нашего граничного условия $h(t, S_{max} = 31.1)$. Здесь мы сталкиваемся с одним из случаев, когда агент мгновенно покупает оставшиеся единицы, платит терминальный штраф $\alpha = 0.01$ и прекращает торговать. Другой случай — когда $t = T = 1$. На следующем наборе графиков мы заметим, как стратегия существенно меняется каждый раз, когда это происходит, и покажем, как это может значительно влиять на общую результативность стратегии в таких сценариях.
Далее, на Рис. 6 и 7, показано, как эволюционируют процессы инвентаря и скорости торговли агента вдоль пяти сэмплированных ценовых траекторий, показанных выше на Рис. 4. Это дискретизированные версии непрерывных процессов из уравнений (32) и (33). На этих рисунках мы также наносим стратегию Алмгрена–Крисса (AC) из Almgren, Chriss (2001) — тот же бенчмарк, что используется в Cartea et al. (2015), и часть мотивации их моделей. Стратегия AC детерминирована, и для задачи набора она определяется, как дано в Cartea et al. (2015), формулой
\[ \nu_t^{AC} = \sqrt{\kappa\phi}\, \frac{\xi e^{2\gamma(T-t)} + 1}{\xi e^{2\gamma(T-t)} - 1}, \tag{55} \]где $\xi = \frac{\alpha + \sqrt{\kappa\phi}}{\alpha - \sqrt{\kappa\phi}}$ и $\gamma = \sqrt{\frac{\phi}{\kappa}}$. Это выполняется, пока $\phi > 0$ — текущий инвентарный штраф, определённый ранее. Стратегия AC — широко признанный бенчмарк для работы с крупными заявками, как в изучаемой нами задаче набора. Будучи моделью с линейным воздействием, она неизменна во всех сабплотах и потому является хорошим бенчмарком для оценки эффективности оптимальной стратегии набора.
Общая тема во всех этих сабплотах: при увеличении $\bar\sigma$ или $\varsigma$ сами эти процессы становятся значительно более волатильными и сильно определяются направлением и степенью движения цены вдоль каждой траектории. Мы замечаем, что в верхнем левом сабплоте торговая стратегия (рассматриваемая через призму процессов инвентаря и скорости торговли) мало варьируется вдоль разных ценовых траекторий с Рис. 4. Но по мере введения ненулевых растущих значений любого из коэффициентов $\bar\sigma$ или $\varsigma$ из наших моделей значительная часть симуляций начинает набирать единицы актива намного быстрее, и многие набирают целевой инвентарь задолго до момента истечения $T$. Это неудивительно: риск получения хороших цен набора растёт с увеличением значений этих параметров, поэтому добавленный риск побуждает агента торговать намного быстрее. Это весьма важно: если бы трейдер запускал такую стратегию набора на живом рынке и цена внезапно скакнула вверх, он хотел бы, чтобы алгоритм отреагировал соответственно. Иными словами, при внезапном скачке вверх на рынке $\varsigma$ мгновенно вырос бы, побуждая трейдера увеличить скорость набора единиц до пробоя максимального лимита цены. Этот рост скорости торговли был бы тем выше, чем ближе агент к моменту истечения $T$. Помните: если бы цены скакнули вниз, это было бы на пользу трейдеру — он покупал бы по более низким ценам, и срочности покупать быстрее не возникало бы. Поэтому мы не сильно фокусируемся на этом случае: оптимальная скорость торговли тогда в основном определяется оставшимся временем до истечения, что было бы весьма похоже на модель AC при том же числе оставшихся к покупке единиц актива.
Наконец, на Рис. 8 и 9 показаны тепловые карты процессов инвентаря и скорости торговли по всем 10 000 симуляций. Синяя линия на обоих графиках — среднее всех траекторий инвентаря и скорости торговли при нашей оптимальной стратегии, чёрная линия — среднее траекторий инвентаря и скорости торговли при стратегии AC, которая, напомним, является бенчмарком. На Рис. 8 мы замечаем, что при увеличении любого из параметров $\bar\sigma$ и $\varsigma$ линия оптимального инвентаря становится более вогнутой и тем самым отходит от линии AC, причём этот эффект усиливается по мере удаления от $t = 0$ и $t = T$. На Рис. 9 видно, что при увеличении любого из параметров $\bar\sigma$ и $\varsigma$ скорость торговли значительно вырастает раньше в симуляции и, соответственно, снижается позже, поскольку большая часть целевого инвентаря набрана намного раньше. На обоих графиках видно множество точек в верхней части графика инвентаря (Рис. 8) и в нижней части графика скорости торговли (Рис. 9). Это симуляции, в которых барьер в $S_{max}$ или $y = 0$ был пробит до $t = T$. Таких случаев больше при увеличении значений параметров $\bar\sigma$ и $\varsigma$, что интуитивно понятно: когда общий уровень волатильности выше, агент побуждается завершить стратегию набора намного быстрее.
5.2. Симуляции стратегии ликвидации
Здесь, как в подразделе 5.1, мы анализируем поведение стратегии в наших симуляциях, но для задачи ликвидации. Сначала см. ниже, на Рис. 10, первые пять сэмплированных ценовых траекторий из наших симуляций и, на Рис. 11, гистограмму частот средней цены сделок в каждой из 10 000 симуляций. На Рис. 10 эти 5 случайных ценовых траекторий снова основаны на нашем ценовом процессе из уравнения (17), где мы повторяем симуляции при разных значениях $\bar\sigma$ или $\varsigma$. Пунктирная чёрная линия на обоих графиках теперь показывает пол цены $S_{min}$, при пробое которого симуляция заканчивается. Как и в подразделе 5.1, Рис. 11 показывает, как ценовые траектории влияют на средние цены, по которым агент ликвидирует единицы актива. Снова совершенно очевидно, что при увеличении $\bar\sigma$ или $\varsigma$ цены с большей вероятностью демонстрируют более высокую волатильность — это всё ещё диффузионная модель, — но далее мы увидим, как эта повышенная волатильность от скачковой части (через диффузионную аппроксимацию) может значительно менять эволюцию симулируемой стратегии. Один из моментов на этих графиках — пробой нашего граничного условия $h(t, S_{min} = 19.8)$. Здесь мы сталкиваемся с одним из случаев, когда агент мгновенно ликвидирует оставшиеся единицы, платит терминальный штраф $\alpha = 0.01$ и прекращает торговать. Другой случай — когда $t = T = 1$, как в задаче набора. На следующем наборе графиков мы заметим, как стратегия существенно меняется каждый раз, когда это происходит, и покажем, как это может значительно влиять на общую результативность стратегии в таких сценариях.
Далее, на Рис. 12 и 13, показано, как процессы инвентаря и скорости торговли агента эволюционируют вдоль пяти сэмплированных ценовых траекторий, показанных выше на Рис. 10. Это снова дискретизированные версии непрерывных процессов из уравнений (46) и (47). На этих рисунках мы опять наносим стратегию Алмгрена–Крисса (AC), формула которой слегка отличается от уравнения (55), поскольку теперь речь о задаче ликвидации. Эта формула, как определено в Cartea et al. (2015), такова:
\[ \nu_t^{AC} = \sqrt{\kappa\phi}\, \frac{1 + \xi e^{2\gamma(T-t)}}{1 - \xi e^{2\gamma(T-t)}}, \tag{56} \]где $\xi = \frac{\alpha + \sqrt{\kappa\phi}}{\alpha - \sqrt{\kappa\phi}}$ и $\gamma = \sqrt{\frac{\phi}{\kappa}}$, как и для уравнения (55). Это снова выполняется, пока $\phi > 0$ — текущий инвентарный штраф, определённый ранее.
Общая тема этих сабплотов: при увеличении $\bar\sigma$ или $\varsigma$ сами процессы становятся всё более волатильными и сильно определяются направлением и степенью движения цены вдоль каждой траектории. В верхнем левом сабплоте торговая стратегия (через призму процессов инвентаря и скорости торговли) мало варьируется вдоль этих разных ценовых траекторий. Но по мере введения ненулевых растущих значений любого из коэффициентов $\bar\sigma$ или $\varsigma$ значительная часть симуляций ликвидирует единицы актива намного быстрее, и многие ликвидируют целевой инвентарь задолго до момента истечения $T$. Это неудивительно: риск получения хороших цен ликвидации падает с ростом этих коэффициентов, поэтому добавленный риск побуждает агента торговать намного быстрее. Это весьма важно: если бы трейдер запускал такую стратегию ликвидации на живом рынке и цена внезапно скакнула вниз, он хотел бы, чтобы алгоритм отреагировал соответственно. Иными словами, при внезапном скачке вниз $\varsigma$ мгновенно вырос бы, побуждая трейдера увеличить скорость ликвидации единиц до пробоя пола цены. Этот рост скорости торговли был бы тем выше, чем ближе агент к моменту истечения $T$. Помните: если бы цены скакнули вверх, это было бы на пользу трейдеру — он ликвидировал бы по более высоким ценам, и срочности ликвидировать быстрее не возникало бы. Поэтому мы не сильно фокусируемся на этом случае: оптимальная скорость торговли тогда в основном определяется оставшимся временем до истечения, что весьма похоже на модель AC при том же числе оставшихся к ликвидации единиц актива.
Наконец, на Рис. 14 и 15 показаны тепловые карты процессов инвентаря и скорости торговли по всем 10 000 симуляций. Как на Рис. 8 и 9 для симуляций стратегии набора, синяя линия на обоих графиках — среднее всех траекторий инвентаря и скорости торговли при нашей оптимальной стратегии, а чёрная — среднее траекторий при стратегии AC, бенчмарке. На Рис. 14 мы замечаем, что при увеличении любого из параметров $\bar\sigma$ и $\varsigma$ линия оптимального инвентаря становится более выпуклой и тем самым отходит от линии AC, причём эффект усиливается по мере удаления от $t = 0$ и $t = T$. На Рис. 15, который очень похож на Рис. 9 для симуляций задачи набора, видно, что при увеличении любого из параметров $\bar\sigma$ и $\varsigma$ скорость торговли значительно вырастает раньше в симуляции и, соответственно, снижается позже, поскольку большая часть целевого инвентаря ликвидирована намного раньше. На обоих графиках видно множество точек внизу. Это симуляции, где барьер в $S_{min}$ или $q = 0$ был пробит до $t = T$. Таких случаев больше при увеличении значений параметров $\bar\sigma$ и $\varsigma$. Это интуитивно понятно: когда общий уровень волатильности выше, как и в задаче набора, агент побуждается завершить стратегию ликвидации намного быстрее.
6. Выводы и рекомендации для будущих исследований
В этой статье мы представили новый набор более общих ценовых процессов, которые можно применять во множестве задач алгоритмической торговли и HFT. Тип торговых задач, на которых мы сфокусировались, использует теорию стохастического оптимального управления; в иллюстративных целях мы выбрали пример задачи набора позиции из Cartea et al. (2015), а также построили аналогичную задачу ликвидации. Это типичные задачи исполнения для крупных институциональных инвесторов, которые также часто измеряют результативность тем, насколько хорошо была исполнена крупная сделка. Наши результаты показывают, что усиление эффекта скачковой части (через диффузионную аппроксимацию) может значительно менять оптимальное торговое решение, побуждая агента действовать иначе в присутствии скачков цены актива. Скачковая часть в наших ценовых процессах может быть функцией либо semi-Markov, либо Хоукс процесса, которые доказанно точнее имитируют динамику LOB. Мы приводим визуализации того, как меняется оптимальное решение под действием скачков, а также симуляции стратегий. Симуляции стратегий показывают, как агент действовал бы в разных сценариях, основанных на разных случайных траекториях наших ценовых процессов. Средние цены сделок, показанные на Рис. 5 и 11 для задач набора и ликвидации соответственно, — тщательно отслеживаемая институционалами мера результативности торговых алгоритмов, ориентированных на набор или ликвидацию больших объёмов актива. Таким образом, при наших новых моделях главное следствие — как торговому агенту оптимально запускать конкретные алгоритмы исполнения, например при работе с крупными позициями, исходя из более общей ценовой динамики нашей скачко-диффузионной модели. Из нашего анализа также ясно, что эволюция стратегий набора и ликвидации, через симуляции процессов инвентаря и скорости торговли, может значительно различаться из-за этой дополнительной скачковой части, которая более вероятна в волатильных рыночных режимах. Мы ожидали бы аналогичный эффект в широком спектре торговых задач этого SOC-формата, включая, например, задачи маркетмейкинга, парного трейдинга или статистического арбитража. Подробные описания таких торговых задач в SOC-каркасе можно найти в Cartea et al. (2015).
Что касается будущих исследований, мы предлагаем расширить симуляции Раздела 5 на более широкий спектр рыночных режимов. Это может включать изменение значений параметров в соответствии с рациональными основаниями разных режимов и последующий анализ работы алгоритмов набора и ликвидации. Мы также рекомендовали бы применить аналогичную логику к другим типам постановок торговых задач, не ограничиваясь SOC-каркасом этой статьи. Например, обучение с подкреплением и глубокое обучение с подкреплением (RL) в последнее время стали очень популярны и превращаются в state-of-the-art метод решения таких торговых задач. Gašperov, Kostanjčar (2022) одними из первых применили такую инновационную модель в deep RL постановке при ценовой модели на процессе Хоукса, однако их модель основана только на скачковом случае без диффузии. Поэтому мы считаем интересным объединить эти два направления, т.е. решить deep RL торговую задачу при скачко-диффузионном ценовом процессе, где скачки — функция semi-Markov или Хоукс процесса. Также было бы интересно расширить эти ценовые модели на случай Леви для ситуаций, когда LOB может следовать марковскому процессу (поскольку semi-Markov и Хоукс процессы не являются марковскими). Использование процессов Леви позволило бы более общую постановку для ценовых процессов и зависело бы от скачковой меры. Однако отметим, что в SOC-каркасе для изученных нами задач набора и ликвидации без наших диффузионных аппроксимаций задача не решалась бы численным методом, которому мы следовали аналогично Cartea et al. (2015), поскольку тогда нельзя было бы применить тот же метод понижения размерности. RL-каркас может лучше подходить для торговых задач с продвинутыми ценовыми процессами, поскольку он способен эффективнее смягчать эти ограничения.
Благодарности
Авторы благодарят MITACS и NSERC за финансирование исследований, а также рецензентов за полезные и содержательные комментарии.
Декларация интересов
Авторы заявляют об отсутствии конфликта интересов.
Литература
- Almgren, R. and Chriss, N. (2001). Optimal execution of portfolio transactions. Journal of Risk, 3:5–40.
- Bacry, E., Mastromatteo, I., and Muzy, J.-F. (2015). Hawkes processes in finance. Market Microstructure and Liquidity, 1(01):1550005.
- Bertsimas, D. and Lo, A. W. (1998). Optimal control of execution costs. Journal of Financial Markets, 1(1):1–50.
- Cartea, A., Donnelly, R., and Jaimungal, S. (2018a). Enhancing trading strategies with order book signals. Applied Mathematical Finance, 25(1):1–35.
- Cartea, Á., Jaimungal, S., and Penalva, J. (2015). Algorithmic and High-Frequency Trading. Cambridge University Press.
- Cartea, A., Jaimungal, S., and Ricci, J. (2018b). Algorithmic trading, stochastic control, and mutually exciting processes. SIAM Review, 60(3):673–703.
- Colaneri, K., Eksi, Z., Frey, R., and Szölgyenyi, M. (2020). Optimal liquidation under partial information with price impact. Stochastic Processes and their Applications, 130(4):1913–1946.
- Cont, R. and De Larrard, A. (2012). Order book dynamics in liquid markets: limit theorems and diffusion approximations. arXiv preprint arXiv:1202.6412.
- Cont, R. and De Larrard, A. (2013). Price dynamics in a Markovian limit order market. SIAM Journal on Financial Mathematics, 4(1):1–25.
- Davis, M. H. and Norman, A. R. (1990). Portfolio selection with transaction costs. Mathematics of Operations Research, 15(4):676–713.
- Drame, M. (2019). Limit order book (LOB) shape modeling in presence of heterogeneously informed market participants. Market Microstructure and Liquidity, 5(01n04):2050007.
- Fodra, P. and Pham, H. (2015a). High frequency trading and asymptotics for small risk aversion in a Markov renewal model. SIAM Journal on Financial Mathematics, 6(1):656–684.
- Fodra, P. and Pham, H. (2015b). Semi-Markov model for market microstructure. Applied Mathematical Finance, 22(3):261–295.
- Gašperov, B. and Kostanjčar, Z. (2022). Deep reinforcement learning for market making under a Hawkes process-based limit order book model. IEEE Control Systems Letters, 6:2485–2490.
- Guo, Q., Swishchuk, A., and Rémillard, B. (2022). Multivariate Hawkes-based models in LOB: European, spread and basket option pricing. arXiv preprint arXiv:2209.07621.
- Hawkes, A. G. (1971). Spectra of some self-exciting and mutually exciting point processes. Biometrika, 58(1):83–90.
- Hawkes, A. G. and Oakes, D. (1974). A cluster process representation of a self-exciting process. Journal of Applied Probability, 11(3):493–503.
- He, Q. and Swishchuk, A. (2019). Quantitative and comparative analyses of limit order books with general compound Hawkes processes. Risks, 7(4):110.
- Kreher, D. and Milbradt, C. (2023). Jump diffusion approximation for the price dynamics of a fully state dependent limit order book model. SIAM Journal on Financial Mathematics, 14(1):1–51.
- LOBSTER (2025). LOBSTER: Limit Order Book Reconstruction and Visualization. Accessed: 2025-01-30.
- Mäkinen, Y., Kanniainen, J., Gabbouj, M., and Iosifidis, A. (2019). Forecasting jump arrivals in stock prices: new attention-based network architecture using limit order book data. Quantitative Finance, 19(12):2033–2050.
- Merton, R. C. (1969). Lifetime portfolio selection under uncertainty: The continuous-time case. The Review of Economics and Statistics, pages 247–257.
- Oksendal, B. and Sulem, A. (2002). Optimal consumption and portfolio with both fixed and proportional transaction costs. SIAM Journal on Control and Optimization, 40(6):1765–1790.
- Pham, H. (2009). Continuous-time Stochastic Control and Optimization with Financial Applications, volume 61. Springer Science & Business Media.
- Roldan Contreras, A. and Swishchuk, A. (2022). Optimal liquidation, acquisition and market making problems in HFT under Hawkes models for LOB. Risks, 10(8):160.
- Roldan Contreras, A. K. (2023). Stochastic Optimal Control Problems in LOB for Various Stochastic Models. PhD thesis, University of Calgary.
- Sfendourakis, E. and Toke, I. M. (2021). LOB modeling using Hawkes processes with a state-dependent factor. arXiv preprint arXiv:2107.12872.
- Sjogren, M. and DeLise, T. (2021). General Compound Hawkes processes for mid-price prediction. arXiv preprint arXiv:2110.07075.
- Swishchuk, A., Hofmeister, T., Cera, K., and Schmidt, J. (2017). General semi-Markov model for limit order books. International Journal of Theoretical and Applied Finance, 20(03):1750019.
- Swishchuk, A. and Huffman, A. (2020). General compound Hawkes processes in limit order books. Risks, 8(1):28.
- Swishchuk, A., Remillard, B., Elliott, R., and Chavez-Casillas, J. (2019). Compound Hawkes processes in limit order books. In Financial Mathematics, Volatility and Covariance Modelling, pages 191–214. Routledge.
- Swishchuk, A. and Vadori, N. (2017). A semi-Markovian modeling of limit order markets. SIAM Journal on Financial Mathematics, 8(1):240–273.
- Yong, J. and Zhou, X. Y. (2012). Stochastic Controls: Hamiltonian Systems and HJB Equations, volume 43. Springer Science & Business Media.
- Zariphopoulou, T. (1989). Optimal investment-consumption models with constraints. Brown University.
Перевод выполнен с сохранением структуры, формул и данных оригинала. Оригинал: arXiv:2409.12776 · Lalor, Swishchuk · CC BY 4.0.