Дисбаланс меток в высокочастотной торговле

7/10

Zijian Zhao · Likelihood Lab; Sun Yat-sen University

Xuming Zhang · Likelihood Lab; Peking University

Jiayu Wen · Likelihood Lab; The London School of Economics and Political Science

Mingwen Liu · Likelihood Lab

Xiaoteng Ma · Likelihood Lab; Tsinghua University

21 марта 2025 · arXiv v3

Оригинал: Zhao, Z., Zhang, X., Wen, J., Liu, M. and Ma, X. «Label Unbalance in High-frequency Trading» — arxiv.org/abs/2503.09988 (PDF, 10 стр.).

Код: github.com/RS2002/Label-Unbalance-in-High-Frequency-Trading

Рис. 1–7 воспроизведены из оригинальной публикации.

Ключевые слова: High-frequency Trading, Deep Learning, Label Unbalance.

Классификация arXiv: cs.LG

Аннотация

В финансовой торговле прогноз доходности — один из фундаментов успешной торговой системы. Быстрое развитие глубокого обучения в графике, обработке естественного языка и других областях показало значительное преимущество и при работе с финансовыми данными. Однако успех DL опирается на огромное количество размеченных примеров: присвоение каждому моменту или событию метки «прибыльно» или «неприбыльно» с учётом транзакционных издержек, особенно в мире HFT, страдает от серьёзной проблемы дисбаланса меток. В настоящей работе мы применяем строгий end-to-end фреймворк глубокого обучения с комплексными методами коррекции дисбаланса меток и добиваемся успешного прогноза высокочастотной доходности на китайском фьючерсном рынке. Код метода открыт.

1. Введение

В высокочастотной торговле (HFT) сложные алгоритмы принимают решения за миллисекунды на основе больших объёмов финансовых данных. Эти решения часто опираются на прогнозные модели, выявляющие благоприятные торговые возможности. Существенная трудность при построении таких моделей — дисбаланс меток: некоторые исходы или события (метки) встречаются гораздо реже других. Например, прогноз редких событий вроде резких обвалов рынка или внезапных скачков цены критичен для HFT-трейдеров, но малая частота таких событий в исторических данных искажает распределение меток. Дисбаланс усложняет обучение: стандартные алгоритмы ML смещаются к более частым меткам, что ухудшает обобщение и повышает риск существенных финансовых потерь. Коррекция дисбаланса меток необходима для повышения робастности и надёжности прогнозных моделей в HFT, что в конечном счёте влияет на прибыльность и снижение риска в быстрых рыночных условиях.

Редкие события происходят значительно реже обычных. В data mining их обнаружение — типичная задача классификации. Из-за редкости и случайного характера редкие события трудно детектировать, а ошибочная классификация обходится дорого. Например, неверная метка доходности в HFT ведёт к неправильным решениям о покупке или продаже и к убыткам. Редкость делает задачу классификацией на несбалансированных данных. Несбалансированные данные — набор, в котором один или несколько классов имеют существенно больше примеров, чем остальные. Наиболее частый класс называют majority class, самый редкий — minority class, обычно представляющий интересующую концепцию. Хотя методы data mining широко применяются для построения классификаторов в бизнесе и управлении, классификация несбалансированных данных создаёт серьёзные трудности для традиционных моделей. Поскольку большинство стандартных алгоритмов (логистическая регрессия, SVM, деревья решений) рассчитаны на сбалансированные обучающие выборки, они могут давать субоптимальные модели: хорошо покрывают majority, но часто ошибаются на minority. Алгоритмы, хорошо работающие в стандартной постановке, не обязательно оптимальны для imbalanced datasets (Guo et al., 2017). Причины такого поведения (López et al., 2013):

  1. Использование глобальных метрик вроде accuracy смещает обучение к majority class.
  2. Правила, предсказывающие positive class, часто очень специфичны и имеют низкое покрытие; их вытесняют более общие правила для negative class.
  3. Очень малые кластеры minority могут быть приняты за шум и отброшены; наоборот, шум может быть ошибочно отнесён к minority как редкий паттерн.

Сообщество ML активно изучает imbalanced learning. За последнее десятилетие разработаны подходы на основе предобработки, cost-sensitive learning и ансамблей (Guo et al., 2017; López et al., 2013; Wang et al., 2021). Ниже — три направления.

2.1. Предобработка

Предобработка выполняется до построения модели для улучшения качества входных данных. Две классические техники:

1) Ресемплинг. Методы ресемплинга перебалансируют пространство примеров для imbalanced datasets, смягчая влияние перекошенного распределения классов. Их делят на три группы (Guo et al., 2017):

Сравнительные исследования (Guo et al., 2017; Zhou, 2013; Loyola-González et al., 2016) показали: при сотнях minority-наблюдений under-sampling быстрее over-sampling; при десятках minority SMOTE предпочтительнее; при очень большой выборке — гибрид SMOTE + under-sampling; SMOTE чуть эффективнее при обнаружении выбросов.

2) Отбор и извлечение признаков. Отбор признаков выбирает подмножество из \(k\) признаков для оптимальной работы классификатора (filters, wrappers, embedded methods). Извлечение признаков — снижение размерности через преобразование (PCA, SVD, NMF); чаще для неструктурированных данных. Filter- и wrapper-методы наиболее распространены; отбор и извлечение часто применяются в диагностике болезней, sentiment analysis, fraud detection и других задачах редких событий (Guo et al., 2017).

2.2. Cost-sensitive обучение

Cost-sensitive learning учитывает различную стоимость ошибочной классификации разных классов. Матрицы стоимости \(C_{ij}\) — цена отнесения примера класса \(i\) к классу \(j\). В некоторых областях эксперты задают фиксированную матрицу; в потоках данных она может адаптироваться на каждом шаге (Guo et al., 2017; López et al., 2013; Ghazikhani et al., 2013). Пример фиксированной бинарной матрицы для классов \(\{0, 1\}\) — рис. 1: стоимость ошибочной классификации в класс 0 равна 10, в класс 1 — 5. Более высокая цена для класса 0 отражает интерес к minority, определённому как positive class (1).

Пример матрицы стоимости
Рис. 1. Пример матрицы стоимости.

Присвоив большую стоимость ошибкам на minority, cost-sensitive learning интегрируется на уровне данных (ресемплинг, отбор признаков) и алгоритмов. На алгоритмическом уровне misclassification costs встраиваются в обучение. На уровне данных — «предобработка» обучающих данных или «постобработка» выхода без изменения базового алгоритма (López et al., 2013). Две категории: thresholding и sampling.

Guo et al. (2017) обобщили cost-sensitive методы за десятилетие (табл. I). По сравнению с ресемплингом cost-sensitive learning вычислительно эффективнее и лучше подходит для больших потоков данных, но менее популярен: ресемплинг проще внедрить без модификации алгоритма.

Таблица I. Обзор cost-sensitive методов обучения.
МетодДетальная стратегия
Модификация обучающих данныхИзменение порогов решения или весов примеров при ресемплинге по cost matrix
Изменение процесса или цели обученияМодификация целевой функции SVM/ELM с весами; tree-building с минимизацией misclassification costs; cost factor в fuzzy rule-based системах; cost-sensitive error function для нейросетей; cost-sensitive boosting
Методы на основе теории решений БайесаВключение cost matrix в байесовскую границу решения

2.3. Ансамблевые методы

Ансамблевые классификаторы (multiple classifier systems) повышают качество за счёт комбинации нескольких базовых моделей. Они рассматриваются как решение imbalanced classification: гибриды ансамблей с предобработкой или cost-sensitive learning. При data-level подходе данные предобрабатываются перед обучением каждого классификатора; cost-sensitive ансамбли направляют минимизацию стоимости через алгоритм ансамбля, не меняя базовый классификатор. Таксономия Galar et al. (2011) — рис. 2: четыре семейства — cost-sensitive boosting и три семейства с встроенной предобработкой (boosting, bagging, hybrid). Авторы заключили, что ансамбли превосходят только предобработку перед классификатором.

Таксономия ансамблей Galar et al.
Рис. 2. Таксономия ансамблей для imbalanced classification (Galar et al., 2011).

3. Предварительные сведения

Даны входные данные \(X = \{x_1, x_2, \ldots, x_n\}\), где каждый \(x_i \in \mathbb{R}^d\) — вектор признаков состояния рынка в момент \(i\). Признаки могут включать изменения цены (\(\Delta P\)), объём (\(V\)), bid-ask spread (\(S\)), order book imbalance (OBI), волатильность (\(\sigma\)).

Каждому \(x_i\) соответствует метка \(y_i \in \{1, 2, \ldots, K\}\), где \(K\) — число классов. При \(K=2\) — бинарная задача (цена вверх/вниз). Мы рассматриваем трёхклассовую классификацию на горизонте 1 мин:

\[ y_i = \begin{cases} 1 & \text{если } R_i > \mathrm{fee} \\ -1 & \text{если } R_i < -\mathrm{fee} \\ 0 & \text{если } |R_i| \le \mathrm{fee} \end{cases} \]

где \(R_i\) — forward 1-minute return для примера \(i\), \(\mathrm{fee}\) — комиссия за сделку.

Цель. Обучить функцию классификации \(f: \mathbb{R}^d \to \{1, 2, \ldots, K\}\), отображающую \(x_i\) в \(y_i\). Функция \(f\) параметризуется моделью \(\theta\) (логистическая регрессия, нейросеть и т.д.).

На коротком горизонте (1 мин) большинство доходностей не покрывает комиссию, поэтому большинство меток \(y_i = 0\) — сильный дисбаланс меток.

4. Методология

4.1. Обзор

Как показано на рис. 3, метод состоит из трёх фаз обучения: обработка данных, обучение и валидация.

Workflow предложенного метода
Рис. 3. Workflow предложенного метода.

(1) Обработка данных. Признаки — 13-мерный вектор на каждую секунду; используем предшествующие 60 секунд для прогноза текущей доходности, размеченной классами \(-1\), \(0\), \(+1\). Обнаружен сильный дисбаланс: ~80% примеров — класс 0, классы \(+1\) и \(-1\) — по ~10%. Применены стратегии борьбы с long-tail распределением. Разбиение train/validation/test — 8:1:1 хронологически (без случайного перемешивания, чтобы избежать утечки). Опциональная нормализация каждого образца:

\[ \mu^{(j)} = \frac{1}{60}\sum_{i=1}^{60} x_i^{(j)}, \quad \sigma^{(j)} = \sqrt{\frac{1}{60}\sum_{i=1}^{60}\left(x_i^{(j)} - \mu^{(j)}\right)^2}, \quad \mathrm{Norm}(x_i^{(j)}) = \frac{x_i^{(j)} - \mu^{(j)}}{\sigma^{(j)}} \]

где \(x_i^{(j)}\) — \(j\)-я координата \(i\)-й позиции в образце. Нормализация смягчает covariate shift (Sugiyama et al., 2007; Zhao et al., 2024), но в наших экспериментах эффект неоднозначен и зависит от архитектуры сети и метода коррекции дисбаланса.

(2) Обучение. Нейросеть обучается на train set с методами коррекции дисбаланса меток (разделы 4.3–4.4).

(3) Валидация. Early stopping по accuracy на validation set: обучение прекращается, если accuracy не улучшается несколько эпох подряд.

4.2. Базовые модели

1) Multilayer Perceptron (MLP). MLP — сеть с входным, скрытыми и выходным слоями из узлов-перцептронов. Активация \(j\) в слое \(d+1\):

\[ A_j^{(d+1)} = h_j^{(d+1)} + \sum_i w_{ji}^{(d+1)} A_i^{(d)} \]

где \(A_i^{(d)}\) — активации предыдущего слоя, \(w\) — веса. На выходе для категориального ответа — sigmoid или softmax (James et al., 2013). Рис. 4 — MLP с двумя скрытыми слоями. В реализации LeakyReLU в скрытых и выходном слоях:

\[ \mathrm{LeakyReLU}(x) = \begin{cases} x & \text{если } x \ge 0 \\ \text{negative slope} \times x & \text{иначе} \end{cases} \]
Multilayer Perceptron
Рис. 4. Multilayer Perceptron (MLP) с двумя скрытыми слоями.

2) Long Short-Term Memory (LSTM). RNN обрабатывают последовательные данные. Для входа \(X = \{X_1, \ldots, X_T\}\), \(X_t \in \mathbb{R}^p\), скрытый слой с \(K\) единицами:

\[ A_{tk} = g\left(w_{k0} + \sum_{j=1}^{p} w_{kj} X_{tj} + \sum_{s=1}^{K} u_{ks} A_{t-1,s}\right), \quad O_t = \beta_0 + \sum_{k=1}^{K} \beta_k A_{tk} \]

Классические RNN плохо улавливают long-term dependencies из-за vanishing gradients. LSTM решает это memory cells с тремя воротами (рис. 5):

\[ i_t = \sigma(Wx_t + Uh_{t-1}), \quad f_t = \sigma(Wx_t + Uh_{t-1}), \quad o_t = \sigma(Wx_t + Uh_{t-1}) \] \[ c_t = f_t \odot c_{t-1} + i_t \odot \tanh(Wx_t + Uh_{t-1}), \quad h_t = o_t \odot \tanh(c_t) \]
LSTM cell
Рис. 5. Ячейка Long Short-Term Memory (LSTM).

3) Mamba. После RNN, GRU и LSTM Transformer (Vaswani et al., 2017) применяют attention для связей между любыми позициями последовательности, но спорна эффективность для временных рядов (Zeng et al., 2023). Mamba (Gu and Dao, 2023) на базе structured State Space Models (SSMs) (Gu et al., 2021; Gu et al., 2021b) использует selection mechanism: параметры \(A, B, C\) зависят от входа через нейросеть, аналогично attention. Классический SSM:

\[ h'(t) = Ah(t) + Bx(t), \quad y(t) = Ch(t) \]

Mamba быстрее Transformer на inference и хорошо работает на sequence-level задачах (аудио, NLP).

4.3. Недостаточная выборка (under-sampling)

Прямое обучение на полном наборе даёт плохие результаты из-за дисбаланса: модель фокусируется на majority class. Пропорции классов \(-1\), \(0\), \(+1\) примерно 1:8:1. В каждой эпохе случайно удаляем \(\frac{7}{8}\) примеров класса 0.

4.4. Cost-sensitive обучение

1) Фиксированная cost matrix. Прямое взвешивание потерь:

\[ L = \sum_{c=1}^{C} w_c l_c \]

где \(l_c\) — потери для класса \(c\), \(w_c\) — вес. Для классов \(-1\), \(0\), \(1\) веса 8.0, 1.0, 8.0 — аналог ресемплинга.

Также веса согласованы с размерами классов по Castro and Braga (2013):

\[ L = \sum_{c=1}^{C} \frac{N_{-c}}{(C-1) \cdot N} (1 - p_c)^2 l_c \]

где \(N_{-c}\) — число примеров не класса \(c\), \(p_c\) — вероятность класса \(c\); нормировка \(\sum_c \frac{N_{-c}}{(C-1) \cdot N} = 1\) привязывает cost к истинному распределению меток.

2) Адаптивная cost matrix. Focal loss (Lin, 2017) — динамическая cost matrix на пример:

\[ \mathrm{FocalLoss}(p, y) = -\sum_{c=1}^{C} (1 - p_c)^\lambda \log(p_c) \cdot \mathbf{1}\{y = c\} \]

по сравнению с cross-entropy:

\[ \mathrm{CrossentropyLoss}(p, y) = -\sum_{c=1}^{C} \log(p_c) \cdot \mathbf{1}\{y = c\} \]

Focal loss даёт больший вес примерам с низкой уверенностью модели в правильном классе; \((1-p_c)^\lambda\) — адаптивная стоимость ошибки. Это особенно полезно при imbalanced labels.

Также используется loss с весами по средней accuracy классов (Zhao, 2024):

\[ w_c = \frac{1/a_c}{\sum_{c=1}^{C} 1/a_c}, \quad L = \sum_{c=1}^{C} w_c l_c \]

где \(a_c\) — средняя accuracy класса \(c\).

5. Эксперимент

5.1. Описание данных

Данные: 4 мая — 29 мая 2023, 20 торговых дней высокочастотных фьючерсов с частотой 0,5 с. Шесть контрактов: rebar (rb2310), silver (ag2308), fuel oil (fu2309), nickel (ni2306), tin (sn2306), gold (au2308). Разные торговые часы → разный размер выборки; silver и gold больше, rebar и fuel oil меньше.

Исходные поля: время, OHLC, last price, кумулятивные сумма и объём, bid/ask цены и объёмы на 5 уровней. Построено 13 переменных:

\[ \mathrm{midPrice} = \frac{\mathrm{bidPrice}_1 + \mathrm{askPrice}_1}{2}, \quad \mathrm{diffBidPrice}_i = \mathrm{bidPrice}_i - \mathrm{midPrice}, \quad \mathrm{diffAskPrice}_i = \mathrm{askPrice}_i - \mathrm{midPrice} \] \[ \mathrm{diffLastPrice} = \mathrm{lastPrice} - \mathrm{midPrice}, \quad \mathrm{logVolume} = \begin{cases} \log(\mathrm{volume}) & \mathrm{volume} > 0 \\ 0 & \mathrm{volume} = 0 \end{cases} \]

Доходность — изменение midPrice за интервал 29,5 с (59 точек по 0,5 с). Пропуски заполнены forward fill; топ-59 доходностей каждого торгового сегмента (23:00, 9:00, 10:30, 13:30) помечены как missing.

Дополнительно построены факторы (табл. II) для проверки качества данных. Накопленная сумма факторов × доходность — рис. 7; значимые и нестабильные различия между факторами показывают необходимость моделей для лучшего прогноза.

Таблица II. Построение факторов.
ФакторОписание
mid price meanсреднее mid price за 30 с
mid price stdстандартное отклонение mid price за 30 с
mid price skewасимметрия mid price за 30 с
mid price kurtэксцесс mid price за 30 с
volume pctобъём за 30 с / объём за 5 мин
prop quoted spread(lowest ask − highest bid) / mid price
betaнаклон регрессии доходности на объём
illiquidity|доходность| / объём
Накопленная сумма факторов × доходность
Рис. 7. Накопленная сумма «фактор × доходность» для 8 факторов. Разные цвета — 6 фьючерсных контрактов.

5.2. Настройка эксперимента

Конфигурация — табл. III. Оборудование: Intel Xeon Silver 4210R @ 2,40 GHz, два NVIDIA RTX 4090. Архитектуры — табл. IV.

Таблица III. Конфигурация эксперимента.
ПараметрЗначение
Размерность образца60 × 13
Число классов3
Batch size512
ОптимизаторAdam
Learning rate0,0001
Early stop (эпох)10
Таблица IV. Конфигурация моделей.
МодельМасштабСлоиКлючевые параметрыGPU
MLP54K4structure=[780,64,64,3]2,82 G
LSTM26K4hidden dim=643,66 G
Mamba339K4state size=44,73 G

5.3. Результаты и анализ

Результаты — рис. 6. Модель склонна к переобучению при обучении на одном контракте — вероятно, из-за шума и малого объёма данных. Использованы все шесть контрактов; оценка — по каждому отдельно.

Экспериментальные результаты для 6 контрактов
Рис. 6. Результаты для 6 контрактов: цвет — метод коррекции дисбаланса меток; стиль линии — backbone (сплошная — Mamba, штрих — LSTM, точки — MLP). Подграфики: (a) Au, (b) Ag, (c) Fu, (d) Ni, (e) Rb, (f) Sn.

Среди backbone LSTM и Mamba обычно превосходят MLP благодаря учёту временной структуры. Обучение Mamba существенно дольше — нет параллелизма по последовательности; больше параметров, уменьшение масштаба затруднено.

Для дисбаланса меток sensitive loss (формула 10) и loss weighting (формула 9) показали лучшие результаты. Ресемплинг и focal loss (формула 11) иногда хуже baseline без специальной коррекции — причины требуют дальнейшего исследования.

6. Обсуждение и направления будущей работы

Работа демонстрирует эффективность ML в HFT с дисбалансом меток. Ниже — проблемы и вызовы для последующих исследований.

6.1. Шум в данных

Финансовые данные содержат значительный шум, усложняющий обучение. Нормализация (формула 1) дала минимальный прирост. Возможные пути: улучшение архитектуры (Piovesan et al., 2023 — гауссово распределение для регрессии вместо точечного прогноза) и feature engineering (эффективные признаки на рис. 7).

6.2. Domain shift

Ошибочное использование mean/std всего набора вместо скользящего окна 1 мин заметно улучшило метрики — тестовые данные существенно отличаются от обучающих; домен постепенно меняется во времени. Перспективны cross-domain методы (Zhao et al., 2024a; Zhao et al., 2024b).

6.3. Ограничения

7. Заключение

Мы обучаем прогноз forward 1 min return на китайском фьючерсном рынке, преодолевая вызовы HFT и дисбаланса меток с помощью подходящих backbone-моделей и методов коррекции дисбаланса. End-to-end фреймворк с under-sampling, взвешиванием потерь, cost-sensitive и focal loss даёт практически применимые прогнозы на реальных высокочастотных данных стакана.

Литература

Оригинал статьи: Zhao et al., «Label Unbalance in High-frequency Trading», arXiv:2503.09988