Прогноз криптовалют на процессе Хоукса по данным лимитного стакана

6.5/10

Раффаэле Джузеппе Честари, Филиппо Барки, Риккардо Бузетто, Симоне Форментин · Department of Electronics, Information, and Bioengineering, Politecnico di Milano, Milano, Italy

Даниеле Мараццина · Department of Mathematics, Politecnico di Milano, Italy · 21 декабря 2023

Оригинал: Cestari, R.G., Barchi, F., Busetto, R., Marazzina, D. and Formentin, S. «Hawkes-based cryptocurrency forecasting via Limit Order Book data», 2023 — arxiv.org/abs/2312.16190 (PDF).

Рисунки воспроизведены из оригинальной публикации. Оригинал распространяется по лицензии CC BY 4.0; перевод выполнен на её условиях, изменение по отношению к оригиналу — перевод на русский язык.

Ключевые слова: financial systems; time series forecasting; machine learning in finance; cryptocurrencies.

Аннотация

Точный прогноз направления финансовой доходности — трудная задача в силу непредсказуемости финансовых временных рядов. На криптовалютных доходностях она ещё сложнее из-за хаотичной и запутанной природы крипторынков. В этой работе мы предлагаем новый алгоритм прогноза на данных лимитного стакана (LOB), основанный на модели Хоукса — классе точечных процессов. В связке с моделью continuous output error (COE) подход даёт точный прогноз знака доходности, опираясь на предсказания будущих финансовых взаимодействий. Используя неравномерно дискретизированную структуру исходного ряда, стратегия превосходит бенчмарки и по точности прогноза, и по кумулятивной прибыли в торговой среде. Эффективность подтверждена симуляциями Монте-Карло на 50 сценариях. Исследование опирается на измерения LOB централизованной криптобиржи, где стейблкоин Tether обменивается на доллар США.

1. Введение

Надёжное предсказание знака доходности в высокочастотной торговле (HFT) при разработке автоматических алгоритмов остаётся открытой проблемой. Повышение точности прогноза напрямую увеличивает выручку. В этом контексте один из главных источников информации — максимально полное использование информативного содержания лимитного стакана.

LOB — электронная запись в реальном времени, где участники рынка фиксируют намерения купить или продать. Лимитные заявки — инструкции купить или продать заданное количество актива с указанием максимальной цены покупки или минимальной цены продажи. Когда bid-цена $P^{\mathrm{bid}}$ превышает или совпадает с ask-ценой $P^{\mathrm{ask}}$, сделка совершается между покупателем и продавцом. Все неисполненные заявки — bid или ask — хранятся в LOB. Каждая запись содержит цены и объёмы, заданные трейдерами. По мере изменения рыночных условий заявки в книге непрерывно обновляются, отражая эволюцию спроса и предложения. Учитывая этот объём информации, в литературе LOB признан ценным инструментом для попыток предсказать цену акции; см. Cao et al. (2009). Существует множество работ, использующих данные стакана для прогноза цены: от простой логистической регрессии (Zheng et al., 2012) до свёрточных нейросетей DeepLOB (Zhang et al., 2019).

Наша опорная работа — Busetto and Formentin (2023): авторы исследуют корреляцию новой переменной base imbalance (BI) с будущими доходностями и строят модель continuous output error (COE), связывающую BI с будущими доходностями. Исследование даёт обнадёживающие результаты при прогнозе знака доходности, но опирается на допущение, что момент следующего события известен для вычисления будущих доходностей. В данной статье мы снимаем это допущение. Идея — извлекать ценную информацию также из моментов, в которые заявки размещаются в LOB: так можно использовать дополнительные ресурсы, потенциально повышающие точность модели, и одновременно сохранить исходную, неравномерно дискретизированную во времени структуру данных. Это достигается моделями точечных процессов, в частности процессами Хоукса.

Точечные и hawkes-процессы применяются в эпидемиологии и распространении болезней (Garetto et al., 2021), нейронауке (Reynaud-Bouret et al., 2013), сейсмологии (Kwon et al., 2023), взаимодействиях пользователей в соцсетях (Alvari and Shakarian, 2019) и в финансах. Одним из пионеров использования процесса Хоукса для финансовых данных был Cao et al. (2009): автор показал двунаправленные связи между моментами сделок и колебаниями mid-quote. В Cartea et al. (2014) процесс Хоукса моделирует приход рыночных заявок, но полный поток заявок — лимитные и отмены — не учитывается. Sjogren (2022) использует класс hawkes-процессов как краткосрочные индикаторы движения цены и ресурс для более длинного прогноза. Chen (2017) вводит 4-мерный процесс Хоукса для LOB и оценивает вероятности движения mid-price симуляциями Монте-Карло. Rambaldi et al. (2017) применяют многомерный процесс Хоукса к взаимодействию времени прихода заявок и их размера. Morariu-Patrichi and Pakkanen (2022) изучают state-dependent Hawkes processes — сочетание процессов Хоукса и цепей Маркова на высокочастотных данных LOB, показывая динамическое взаимодействие потока заявок и состояния книги.

В этой работе мы интегрируем hawkes-модель прогноза, демонстрирующую хорошую точность предсказания момента следующего изменения цены, с COE-моделью Busetto and Formentin (2023). Качество архитектуры оценивается на задаче HFT в реальном времени: 50 фрагментов по 2 минуты фактических LOB-данных криптовалюты Tether. Точность прогноза знака доходности сравнивается для нескольких альтернатив прогноза времени следующего события относительно модели Хоукса:

Мы показываем, что стратегия на Хоуксе превосходит бенчмарки и по точности приближается к идеальному Oracle. На тех же 50 сценариях валидации проводится симуляция вставки стратегий в парадигму HFT: hawkes-подход даёт более высокую среднюю прибыль, чем бенчмарки.

Основные вклады работы:

Далее: раздел 2 — обозначения; раздел 3 — разведочный анализ LOB; подраздел 3.1 — корреляция BI и доходностей; раздел 4 — математическая формулировка (4.1 — точечные процессы, 4.2 — Хоукс, 4.3 — COE, 4.4 — алгоритм); раздел 5 — численные симуляции (5.1 — точность знака, 5.2 — торговля); раздел 6 — ограничения, выводы и перспективы.

2. Обозначения

Кратко вводим обозначения, используемые далее. Таблица 1 — основные переменные. Ниже — определения mid-price, доходности и base imbalance.

Таблица 1. Обозначения.
СимволОписание
$k\in\mathbb{N}_+$индекс события LOB
$K\in\mathbb{N}_+$число прогнозируемых событий LOB
$t_k$время $k$-го события
$i\in[1,L]$индекс уровня LOB; $L$ — число уровней
$\lambda(t)$функция интенсивности
$\mu$базовая компонента $\lambda(t)$
$\alpha$скорость самовозбуждения $\lambda(t)$
$\beta$скорость затухания $\lambda(t)$
$\theta=[\mu,\alpha,\beta]$параметры Хоукса
$\theta_{\mathrm{COE}}$параметры COE
$t_0$начальное время
$T^{\mathrm{H}}_{\mathrm{train}}$время обучения Хоукса
$T^{\mathrm{COE}}_{\mathrm{train}}$время обучения COE
$T_{\mathrm{sim}}$время симуляции
$T_{\mathrm{warm}}$время прогрева Хоукса
$\Delta T$окно прогноза Хоукса
$P$mid-price
$R$доходность
$\mathrm{BI}$base imbalance

Используем обозначения Busetto and Formentin (2023):

\[ P_k=\frac{p^{\mathrm{ask}}_{k,1}+p^{\mathrm{bid}}_{k,1}}{2}\quad\text{— mid-price на событии LOB }k; \] \[ R_k=\frac{P_{k+1}-P_k}{P_k}\quad\text{— будущая финансовая доходность}; \] \[ \mathrm{BI}_k=\frac{(P^{\mathrm{bid}}_{k,1}-P^{\mathrm{bid}}_{k,10})-(P^{\mathrm{ask}}_{k,10}-P^{\mathrm{ask}}_{k,1})}{(P^{\mathrm{bid}}_{k,1}-P^{\mathrm{bid}}_{k,10})+(P^{\mathrm{ask}}_{k,10}-P^{\mathrm{ask}}_{k,1})}\quad\text{— base imbalance.} \]

3. Разведочный анализ данных

Описываем характеристики криптовалютных LOB-данных. Tether (USDT) — стейблкоин, поддерживаемый близким к 1 USD значением; он облегчает криптотранзакции и снижает волатильность относительно Bitcoin или Ether (Barucci et al., 2022, 2023). Основан на блокчейне, обеспечивающем безопасность сделок. Рассматриваем рынок централизованной биржи, где USDT торгуется против USD; цена USDT/USD — сколько долларов нужно для покупки/продажи одного USDT.

Данные получены через провайдера CryptoTick с биржи Bitfinex. Период: 13 апреля – 7 мая 2019, всего $1\,615\,982$ записей LOB. Глубина до 50-го уровня, для каждой записи — метка времени. Разрешение событий — не менее 1 с. Таблица 2 суммирует заголовки и свойства датасета Tether.

Таблица 2. Датасет LOB криптовалюты Tether.
ПолеЗначение
Дней25
Формат датыhh:mm:ss:fffffff
Записей1 615 982
Уровней $L$50
Заголовки уровня (4)Ask price/size, Bid price/size
Рисунок 1
Рисунок 1. Свечной график дневной mid-цены Tether (USDT) $P_k$. Метка Down — день, где цена закрытия ниже открытия; Up — выше. Свечные графики используют для поиска торговых возможностей и визуальной оценки тренда и/или сезонности. Здесь видна смена среднего уровня цены на доступном горизонте.
Рисунок 2
Рисунок 2. Визуализация LOB Tether (USDT) ($n=10$ уровней) в фиксированный момент времени.

На рисунке 2 — первые 10 уровней LOB на сторонах ask и bid. Каждому уровню соответствуют цена и глубина — накопление заявок на этой цене; уровень может состоять из заявок разных участников. Детальное описание LOB выходит за рамки статьи. Нас интересуют моменты размещения событий в LOB и одновременный учёт влияния спреда через регрессор base imbalance.

3.1. Корреляционный анализ

Исключаем записи с доходностью $R_k=0$ как неинформативные — это около 80% данных. Среди оставшихся у 34% есть пропуски на одну минуту. По Goldstein et al. (2021) ненулевой поднабор доходностей делим на децили; для каждого дециля считаем средний BI и среднюю доходность $R$. Коэффициент корреляции Пирсона по децилям $\rho=-0{,}96$. Результат подтверждает связь BI и $R$ и интуицию Busetto and Formentin (2023) о значимости base imbalance как регрессора знака доходности — в том числе на других источниках данных (не только акции, но и криптовалюты). Это позволяет применить ту же COE-модель, что в Busetto and Formentin (2023).

Рисунок 3
Рисунок 3. Корреляция между BI и $R$.

4. Математическая формулировка

Вводим математическую формулировку архитектуры: точечные процессы вообще и процесс Хоукса в частности, их роль в прогнозе неравномерно дискретизированных моментов событий; напоминаем COE-модель и описываем её использование вместе с прогнозами Хоукса для знака финансовой доходности.

4.1. Точечные процессы

Точечные процессы — стохастические процессы для предсказания наступления событий во времени. Их можно описать как считающие процессы: $N(t)$ — накопленное число событий до $t$, т.е. число событий на $(0,t]$. Вводим $\Delta N_{(t_1,t_2]}=N(t_2)-N(t_1)$ — число событий на $(t_1,t_2]$ (Laub et al., 2015). Общий для всех точечных процессов параметр — функция интенсивности, задающая ожидаемое число событий на окне $T$:

\[ \lambda(t\mid H_t)=\lim_{\Delta t\to 0}\frac{\Pr\bigl(\Delta N_{(t,t+\Delta t]}=1\mid H_t\bigr)}{\Delta t}, \]

где $H_t$ — история событий до $t$, а $\Pr(\Delta N_{(t,t+\Delta t]}=1\mid H_t)$ — мгновенная условная вероятность события. Классы точечных процессов различаются функциями интенсивности. Наиболее распространён — процесс Пуассона с history-independent интенсивностью (свойство Маркова). Renewal-процессы вводят базовую зависимость от истории. Для моделирования динамики LOB наиболее уместен процесс Хоукса — см. следующий раздел.

4.2. Процесс Хоукса

Процессы Хоукса — подкласс точечных процессов. Выбор обусловлен способностью улавливать самовозбуждение LOB (Lu and Abergel, 2018): при постановке новых заявок «оживление» рынка растёт и вероятность следующих заявок увеличивается. По Hawkes (1971) интенсивность:

\[ \lambda(t)=\mu+\sum_{t_k\lt t}\alpha\, e^{-\beta(t-t_k)}, \]

где $\mu$ — базовая интенсивность (частота событий без прошлого), $\alpha$ — вес каждого события, $\beta$ — скорость экспоненциального затухания. Вектор $\theta=[\mu,\alpha,\beta]$ идентифицируется при обучении Хоукса. $\theta^*=[\mu^*,\alpha^*,\beta^*]$ оценивается методом максимального правдоподобия (MLE) на окне $T^{\mathrm{H}}_{\mathrm{train}}$ исторических данных. MLE максимизирует совместную вероятность наблюдений — функцию правдоподобия $L_n(\theta)$:

\[ \theta^*=\arg\max_{\theta\in\Theta} L_n(\theta;y), \]

где $y$ — наблюдения, $\Theta$ — пространство параметров (Myung, 2003). При текущей эволюции $\lambda$ до момента $t$ момент следующего события $\hat t_{k+1}$ прогнозируется так: из экспоненциального распределения с mean $1/\lambda(t,\theta)$ извлекается случайное $x$, которое прибавляется к $t$:

\[ x\sim\mathrm{Exp}(\lambda(t,\theta)),\quad \mathbb{E}[x]=\frac{1}{\lambda(t,\theta)},\qquad \hat t_{k+1}=t+x. \]

Операция повторяется каждую секунду с обновлением обучающей выборки скользящим окном. Прогноз должен попасть в окно $\Delta T$; если внутри $\Delta T$ несколько прогнозов, сохраняется только первый.

Рисунок 4
Рисунок 4. Самовозбуждение функции интенсивности. По мере роста числа взаимодействий с LOB интенсивность растёт и новые взаимодействия становятся более вероятными; при малом числе взаимодействий — наоборот.

4.3. Модель continuous output error

По Chen et al. (2013) для прогноза знака будущей доходности применяется упрощённый refined instrumental variable method (SRIVC) для непрерывно-временных моделей. Предполагается COE-модель, связывающая BI и будущие доходности:

\[ R(t)=\frac{B_0(p)}{A_0(p)}\cdot \mathrm{BI}(t)+e(t), \]

где $p$ — оператор дифференцирования, $p^i F(t)=\dfrac{d^i F(t)}{dt^i}$,

\[ A_0(p)=p^{n_a}+a_1 p^{n_a-1}+\cdots+a_{n_a},\quad B_0(p)=b_0 p^{n_b}+b_1 p^{n_b-1}+\cdots+b_{n_b}, \]

при $n_a=2\ge n_b=1$, $e(t)$ — гауссовский шум. Параметры COE оцениваются как

\[ \theta^*_{\mathrm{COE}}=\arg\min_{\theta_{\mathrm{COE}}}\sum_{k=1}^{N}\zeta(t_k)\bigl(R_n(t_k)-\varphi^\top(t_k)\theta_{\mathrm{COE}}\bigr)^2, \]

где $\theta_{\mathrm{COE}}=[a_1,\ldots,a_{n_a},b_0,b_1,\ldots,b_{n_b}]^\top$,

\[ \varphi^\top(t_k)=[-R^{n_a-1}(t_k),\ldots,-R(t_k),\mathrm{BI}^{n_b}(t_k),\ldots,\mathrm{BI}(t_k)] \]

— инструментальная переменная. При известных BI и векторе времён событий LOB (в Busetto and Formentin, 2023 они известны; здесь прогнозируются Хоуксом) модель предсказывает знак доходности.

4.4. Прогноз доходности на базе Хоукса и COE

Полный алгоритм объединяет выход точечного процесса — hawkes-прогнозы $\hat t_{k+1}$ (уравнения (4)–(5)) — с COE-моделью (6). Для прогноза $\hat R_{k+1}$ (и знака) нужны не только $\hat t_{k+1}$, но и последний $\mathrm{BI}_k$ на момент прогноза. Эталонная доходность для сравнения — ближайшая по абсолютной временной дистанции: $R^{\mathrm{ref}}_{k+1}$ при минимальном $|t_{k+1}-\hat t_{k+1}|$.

Замечание. Перед использованием идентифицированной интенсивности для прогноза следующих событий LOB нужен период прогрева $T_{\mathrm{warm}}$, чтобы интенсивность «увидела» смоделированные события и на шаге прогноза не обязательно равнялась базовой $\mu$. Алгоритм 1 показывает процедуру на каждой итерации; для компактности обозначения см. таблицу 1.

Алгоритм 1. Hawkes-based COE Return Prediction

  1. Инициализировать $t_0$.
  2. Собрать обучающую выборку Хоукса $[t_0-T^{\mathrm{H}}_{\mathrm{train}}\cdot 60,\,t_0]$.
  3. Идентифицировать модель Хоукса $\theta^*$ по (3).
  4. Для $t=0,\ldots,T_{\mathrm{sim}}-1$:
    1. Вычислить $\lambda(t_0+t,\theta^*)$ по (2).
    2. Извлечь $x$ из $\mathrm{Exp}(1/\lambda(t_0+t,\theta^*))$.
    3. Предсказать $\hat t_{k+1}=t_0+t+x$.
    4. Обновить индекс события $k=k+1$.
  5. Собрать обучающую выборку COE $[t_0-T^{\mathrm{COE}}_{\mathrm{train}}\cdot 60,\,t_0]$.
  6. Идентифицировать COE $\theta^*_{\mathrm{COE}}$ по (7).
  7. Для $k=1,\ldots,K$:
    1. Вычислить $\mathrm{BI}_k$.
    2. Вычислить $\hat R_{k+1}$ по (6).

5. Численные симуляции и результаты

Оцениваем производительность архитектуры на 50 валидационных сценариях длительностью 2 минуты, извлечённых из доступного датасета. Сравниваем с тремя бенчмарками прогноза времени события (каждый интегрирован с одной и той же COE-моделью):

Каждый алгоритм прогноза времени события интегрирован с одной и той же COE-моделью для сравнения. Oracle в связке с COE воспроизводит процедуру Busetto and Formentin (2023), но на нашем датасете — по сути, с априорным знанием момента следующего события.

Таблица 3. Настройки симуляции — гиперпараметры $\Gamma$.
Settings / Hyperparameters $\Gamma$Значение
среднее максимальное расстояние между событиями$t_k-t_{k-1}\le 2{,}2$ с
минимальное расстояние$t_k-t_{k-1}\ge 1$ с
события с ненулевой доходностью$R_k\neq 0$
$T^{\mathrm{H}}_{\mathrm{train}}$20 мин
$T^{\mathrm{COE}}_{\mathrm{train}}$50 мин
$T_{\mathrm{warm}}$2,5 мин
$\Delta T$5 с
$T_{\mathrm{sim}}$2 мин
глубина LOB$i=8$

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

\[ \Gamma=\arg\min\frac{1}{K_v}\sum_{k=1}^{K_v}\bigl|t_k-\hat t_k(\Gamma)\bigr|, \]

где $\Gamma$ — набор гиперпараметров, $K_v$ — число событий на валидации. Гиперпараметры COE на валидации настраивались под точность прогноза доходности.

5.1. Точность знака доходности

Классы: TP, TN, FP, FN; положительный класс — $\mathrm{sign}(\hat R_{k+1})\gt 0$, отрицательный — $\mathrm{sign}(\hat R_{k+1})\lt 0$. Точность:

\[ \mathrm{Accuracy}=\frac{\mathrm{TP}+\mathrm{TN}}{\mathrm{TP}+\mathrm{TN}+\mathrm{FP}+\mathrm{FN}}. \]

На рисунке 5 — точность разных алгоритмов. Oracle лучший, как и ожидалось, поскольку знает точное время следующего события. За ним следует Хоукс — он превосходит Naive и MA благодаря машинному обучению прогноза времени следующего события.

Рисунок 5
Рисунок 5. Точность знака доходности на 50 валидационных сценариях.

5.2. Торговая симуляция

Предложенный алгоритм и бенчмарки вставляются в каркас торговой симуляции: при одной COE-модели величина прибыли зависит от качества прогноза момента следующего события. Правило: при положительном (отрицательном) прогнозе знака алгоритм покупает (шортит) USDT на 10 000 USD. Совпадение знака с фактическим даёт прибыль, ошибка — убыток. Комиссии не учитываются.

На рисунке 6 — суммарная прибыль [USD] на тех же 50 сценариях (сумма прибылей минус убытков). Ранжирование как на рис. 5: Oracle статистически даёт наибольшую прибыль — выше медиана и уже разброс между квантилями; Хоукс близок к идеалу, далее MA и Naive.

Рисунок 6
Рисунок 6. Суммарная прибыль на 50 валидационных сценариях.

На рисунке 7 — пример кумулятивной прибыли во времени для разных алгоритмов. Изначально все стратегии колеблются около нуля; затем резкое падение mid-price $P_k$ (нижняя панель) и более волатильный период позволяют более точным стратегиям заработать больше.

Рисунок 7
Рисунок 7. Верхняя панель: временной ряд прибыли в примере сценария. Нижняя панель: колебания mid-price $P_k$.

6. Ограничения, выводы и дальнейшая работа

Предложенный алгоритм снимает исходное допущение априорного знания времени нового события в LOB: процесс Хоукса обучается на исходном, неравномерно дискретизированном LOB-датасете. На 50 реальных валидационных сценариях методология превосходит бенчмарки по точности знака доходности и, как следствие, по прибыли. Работа подтверждает ценность base imbalance как регрессора на криптовалютных LOB-данных — с высокой корреляцией с доходностями на источниках, отличных от акционного рынка.

Ограничения для следующих шагов: мы отбрасываем события с нулевой доходностью, возможно теряя информацию; сравнение прогноза с ближайшей по абсолютному времени фактической доходностью — приближение (можно брать предыдущее или следующее событие); процедура не применима ко всему датасету — выборка должна удовлетворять ограничениям таблицы 3; комиссии не включены в итоговый баланс прибыли. Тем не менее результаты обнадеживают и ведут к расширенной валидации на криптоданных и сравнению с альтернативами точечным процессам.

Литература

Оригинал статьи: Cestari et al., «Hawkes-based cryptocurrency forecasting via Limit Order Book data», arXiv:2312.16190 · лицензия CC BY 4.0