Статистический арбитраж в мультипарной торговой стратегии на основе алгоритмов кластеризации графов на рынке акций США
Adam Korniejczuk · Faculty of Economic Sciences, University of Warsaw, ul. Długa 44/50, 00-241, Warsaw, Poland · a.korniejczu@student.uw.edu.pl (corresponding author)
Robert Ślepaczuk · Quantitative Finance Research Group, Department of Quantitative Finance, Faculty of Economic Sciences, University of Warsaw · rslepaczuk@wne.uw.edu.pl
15 июня 2024 · ORCID: 0000-0001-5227-2014
Оригинал: Korniejczuk, A. and Ślepaczuk, R. «Statistical arbitrage in multi-pair trading strategy based on graph clustering algorithms in US equities market», v1 — arxiv.org/abs/2406.10695 (PDF, 33 стр.).
Рис. 1–16 воспроизведены из оригинальной публикации.
Ключевые слова: Statistical Arbitrage, Graph Clustering, Machine Learning, Kelly Criterion, S&P 500.
Классификация arXiv: q-fin.PM
Аннотация
Исследование направлено на разработку эффективной стратегии в рамках нового подхода к статистическому арбитражу на основе алгоритмов кластеризации графов. Для улучшения доходности с поправкой на риск и повышения устойчивости к транзакционным издержкам по сравнению с существующими методами использованы количественные и машинно-обучающие техники, включая критерий Кelly и ансамбль классификаторов. Работа предлагает интегрированный подход к оптимальному обнаружению сигналов и управлению риском. В рамках этого подхода предложены и протестированы новые способы оптимизации функций take profit и stop loss для дневных торговых стратегий. Все протестированные подходы превзошли соответствующие бенчмарки. Лучшие комбинации техник и параметров показали значительно лучшие метрики производительности, чем релевантные бенчмарки. Результаты получены при реалистичных транзакционных издержках, но чувствительны к изменению некоторых ключевых параметров.
1. Введение
Цель исследования — разработать эффективную алгоритмическую торговую стратегию на основе нового фреймворка статистического арбитража с алгоритмами кластеризации графов. Задача важна, поскольку работа вносит вклад в растущий корпус исследований применения теории графов в алгоритмическом трейдинге. Детальный анализ производительности стратегии позволит точно оценить сильные и слабые стороны нового подхода. В исследовании классификаторы машинного обучения используются для повышения средней прибыльности исполняемых сделок. Кроме того, в ходе реализации стратегии протестировано множество оптимизаций. Вокруг этого сформулированы четыре исследовательских вопроса:
- RQ1: Улучшают ли классификаторы качества сигналов работу стратегии на основе кластеризации графов?
- RQ2: В какой мере меры транзакционного и риск-менеджмента влияют на производительность стратегии?
- RQ3: Насколько стратегия чувствительна к изменению транзакционных издержек?
- RQ4: В какой мере изменение весов в ансамбле классификаторов влияет на производительность стратегии?
Исследование основано на дневных данных составляющих S&P 500 с 1 января 2000 по 31 декабря 2022. Для ответа на сформулированные вопросы предложен подход с ансамблевым классификатором качества сигналов, генерируемых графовой стратегией. Отдельные классификаторы обучаются и оптимизируются grid search с кросс-валидацией, затем объединяются в взвешенный ансамбль по результатам на валидационной выборке. Наконец, стратегия с классификаторами, критерием Kelly и новыми функциями stop loss и take profit тестируется на out-of-sample тестовой выборке.
В работе присутствует несколько новшеств. Во-первых, классификаторы ML применяются для фильтрации потенциально прибыльных сигналов, генерируемых другой стратегией — насколько известно, такой подход ранее не реализовывался в алгоритмическом трейдинге, где классификационные модели обычно используют для прогноза направления цен. Во-вторых, введены и протестированы новые зависящие от времени функции stop loss и take profit. Кроме того, модификация этих функций сочетается с масштабированием take profit и stop loss по силе сигнала — нетипичный подход. Исследование изучает потенциал emerging graph-based подхода. Технологический прогресс повысил конкуренцию в количественном трейдинге, усложнив устойчивое получение аномальной доходности и создав потребность в новых сложных методах.
Структура статьи: раздел 1 — введение; раздел 2 — обзор литературы (теория графов и алгоритмический трейдинг, инструменты стратегии); раздел 3 — методология (данные, мотивация, feature engineering, ансамбль классификаторов, оптимизации решений и риск-менеджмента); раздел 4 — метрики и оценка стратегии против бенчмарков с equity curves; раздел 5 — анализ чувствительности; раздел 6 — выводы и направления дальнейших исследований.
2. Обзор литературы
Использование информации о связях между акциями при построении инвестиционных портфелей или алгоритмических стратегий имеет давнюю историю. Логика проста: компании и цены их акций не существуют в вакууме; при неидеальной эффективности рынка информация об одной бумаге может быть полезна при торговле связанными. Влиятельная ранняя работа — Markowitz (1952), заложившая основу современной портфельной теории: корреляция вместе с дисперсией используется для поиска оптимального портфеля с максимальной доходностью при заданном риске.
С тех пор появилось множество стратегий, использующих связи между активами. Простейший подход — группировка по секторам экономики и обобщение поведения секторов. Fama and French (1997) сгруппировали акции в 48 групп по стандартизированным отраслевым кодам для дальнейшего анализа свойств.
Более продвинутые стратегии — pair trading и statistical arbitrage: капитализация на краткосрочном отклонении от установленной связи цен. Для идентификации пар или групп связанных активов применяли коинтеграцию (Kim, 2011), корреляцию (Chen et al., 2019), евклидово расстояние (Gatev et al., 2006), показатель Hurst (Bui and Ślepaczuk, 2022) и их комбинации (Miao, 2014). Однако Bredthauer and Stübinger (2017), протестировав множество комбинаций pair trading из литературы, показали ухудшение производительности большинства стратегий в последнее время — вероятно из-за распространения таких техник. Аналогичные выводы у Do and Faff (2012) и Gatev et al. (2006): арбитражные возможности труднее эксплуатировать, что создаёт потребность в новых сложных подходах.
Среди стратегий на попарных связях быстро растёт и показывает успех graph-based подход. Графы — удобный инструмент дискретной математики для представления отношений между объектами: вершины (nodes) и рёбра (edges). Различают направленный граф — упорядоченную пару \((V, E)\), где \(E \subset V \times V\), — и ненаправленный, где рёбра — подмножество неупорядоченных пар вершин (Zawadowski 2020). Графы могут быть взвешенными (сила связи на ребре) и знаковыми (положительные и отрицательные связи). Важное свойство вершины — степень (degree): сумма весов рёбер, инцидентных вершине. Распространённое представление — матрица смежности: для ненаправленного графа симметричная матрица \(A\) хранит вес ребра между вершинами \(m\) и \(n\) в элементах \(A_{m,n}\) и \(A_{n,m}\). Это согласуется со структурой корреляционной матрицы, поэтому корреляционную матрицу (например, доходностей) можно анализировать graph-based инструментами. Растёт число исследователей, применяющих теорию графов к инвестициям и алгоритмическому трейдингу.
Zhan et al. (2015) показали на neighbor net, что корреляционная кластеризация эффективна для снижения риска при создании портфеля. Li et al. (2022) представили гетерогенный набор (новости, графические индикаторы, транзакции) в виде взвешенного графа и обучили GNN для прогноза волатильности — точность на 14% выше аналогов. Cheng et al. (2022) применили multi-modality GNN для прогноза временных рядов на новостях и рыночных данных с направленными и ненаправленными рёбрами; модель превзошла LSTM-бенчмарки. Yin et al. (2022) использовали Graph Attention LSTM (GALSTM) для прогноза цен акций, достигнув 44,71% годовой доходности и 0,42% дневного стандартного отклонения, хотя система была сильно оптимизирована под китайский рынок A-share и тестировалась лишь 13 недель.
Важное новое исследование graph techniques в алгоритмическом трейдинге — Cartea, Cucuringu and Jin (2023) «Correlation Matrix Clustering for Statistical Arbitrage Portfolios»: первое применение graph clustering для построения стат-арбитражных портфелей. Акции US market — вершины ненаправленного знакового взвешенного графа; корреляции остаточных доходностей за последние 60 дней — веса рёбер; корреляционная матрица — матрица смежности. Тестировались Spectral clustering (Ng et al., 2002), два варианта Signed Laplacian Clustering (Kunegis et al., 2010) и SPONGE (Cucuringu et al., 2019). Три метода выбора числа кластеров: фиксированные 30; минимальное число собственных векторов, объясняющих 90% дисперсии; асимптотика распределения Marchenko–Pastur и теория случайных матриц.
Лучше всего работали варианты со вторым или третьим подходом к числу кластеров и симметричная версия SPONGE — SPONGEsym. Алгоритм SPONGEsym (Cartea et al. 2023) разлагает матрицу смежности \(A\) на \(A^+\) и \(A^-\) (только положительные и отрицательные элементы), вычисляет лапласианы \(L^+ = A^+ - D^+\) и \(L^- = A^- - D^-\), где \(D\) — диагональная матрица степеней. Затем \(L^+_{\mathrm{sym}} = (D^+)^{-\frac{1}{2}} L^+ (D^+)^{-\frac{1}{2}}\) и аналогично \(L^-_{\mathrm{sym}}\). Алгоритм находит \(k\) наименьших обобщённых собственных векторов \((L^+_{\mathrm{sym}} + \tau I, L^-_{\mathrm{sym}} + \tau I)\) и применяет k-means++ в индуцированном \(k\)-мерном евклидовом пространстве.
SPONGEsym превзошёл стратегию с фиксированными кластерами Fama–French по секторам и buy-and-hold: годовая доходность 12,2%, Sharpe 1,1, Sortino 2,01. Реализация стат-арбитража проста — фокус на тесте graph clustering. После кластеризации вычисляется среднее доходностей за последние пять дней по каждому кластеру; long/short открываются на активах с доходностью ниже/выше среднего кластера; процедура повторяется каждые три дня. Оптимизация аллокации и транзакционные издержки в статье не обсуждались. Оптимизация этой стратегии и дальнейшее исследование graph clustering — основной фокус настоящей работы.
Значительный корпус литературы применяет ML-классификаторы для прогноза направления изменения цены. Yangru and Zhang (1997) и Chen et al. (2000) показали, что прогноз направления может быть эффективнее прогноза уровня индексов. Успехи Borovkova (2019), Dixon (2017), Kryńska and Ślepaczuk (2023) подтверждают подход. Bieganowski and Ślepaczuk (2024) продемонстрировали преимущество классификации над регрессией на высокочастотных данных; лучшие результаты — supervised autoencoders с triple barrier labeling.
Worasucheep (2021) показал, что ансамбль ML-классификаторов (ANN, SVM, RF, XGBoost, LightGBM) превосходит и buy-and-hold, и отдельные модели по доходности и Sharpe. Zelenkov (2017) превзошёл бенчмарки ансамблем с взвешенным голосованием, веса оптимизированы генетическим алгоритмом.
Подход с классификаторами для улучшения качества сигналов другой стратегии кажется новым: классификаторы обычно решают buy/sell задачи. Преимущество — возможность risk-weighted решений и построения портфеля через вероятностные оценки модели, например критерий Kelly.
Критерий Kelly (Kelly, 1956) максимизирует ожидаемое значение логарифма богатства; при достаточных допущениях капитал, управляемый по формуле, с вероятностью 1 превзойдёт альтернативы. Thorp (1969) применил Kelly к Blackjack, Roulette и фондовому рынку. Anderson and Faff (2004), Bronakowska et al. (2021), Hagman (2014) показывают улучшение прибыльности; Chen et al. (2021), Li et al. (2020) — успешное применение в алготрейдинге. Есть и противоречивые результаты (Lähteenmäki, 2023).
В заключение: связи между акциями — классический инструмент алготрейдинга; стат-арбитраж и pair trading на корреляции/коинтеграции стали распространённее и менее прибыльны. Graph-based исследования часто показывают отличные результаты, но с сложной архитектурой (GNN, multimodal графы). Cartea et al. (2023) предложили новый graph clustering фреймворк — база настоящего исследования. Фильтрация сигналов по качеству через классификаторы — новшество; ансамбли показали перспективу; история успешного применения Kelly — аргумент для оптимизации стратегии этим инструментом.
3. Методология
3.1. Используемые данные
Данные — из базы Yahoo Finance. Для реалистичности использованы исторические составляющие S&P 500: при бэктесте позиции открывались только на акциях, присутствовавших в индексе на данную дату. История состава — из GitHub-репозитория с изменениями S&P 500 (Farrell 2024). Из-за доступности данных вселенная иногда была меньше 500 бумаг, но на каждый торговый день представлено большинство акций. Для открытия и закрытия позиций использовались скорректированные цены закрытия.
3.2. Метрики производительности
Для детальной оценки стратегии используется полный набор метрик из Cartea et al. (2023) и Bieganowski and Ślepaczuk (2024).
Annualized Return Compounded (ARC) — годовая доходность с реинвестированием:
\[ \mathrm{ARC} = \left(\frac{V_{t_n}}{V_{t_0}}\right)^{\frac{1}{(t_n - t_0)}} - 1 \]где \((t_n - t_0)\) — длительность инвестирования в годах, \(V_{t_0}\) — начальный капитал, \(V_{t_n}\) — конечный капитал.
Annualized Standard Deviation (ASD) — годовая волатильность как стандартное отклонение дневных доходностей, умноженное на \(\sqrt{252}\):
\[ \mathrm{ASD} = \frac{\sqrt{\sum_{t=1}^{N}(R_t - \hat{R})^2}}{\sqrt{N-1}} \cdot \sqrt{n_{\mathrm{days}}} \]Information Ratio* (IR*) — для market-neutral стратегии без risk-free rate, с compounded доходностями:
\[ \mathrm{IR}^* = \frac{\mathrm{ARC}}{\mathrm{ASD}} \]Sortino Ratio (ST) — модифицированный Sharpe с учётом только downside deviation; risk-free rate = 0:
\[ \mathrm{Sortino} = \frac{\mathrm{ARC} - \mathrm{RiskFreeRate}}{\mathrm{Downside\ deviation}} \]Max Drawdown (MDD) — максимальное падение стоимости портфеля от локального максимума:
\[ \mathrm{MDD} = \max_{\tau \in [0,T]} \left(\max_{t \in [0,\tau]} \frac{V_t - V_\tau}{V_t}\right) \cdot 100\% \]Max Loss Duration (MLD) — наибольший период (в годах), когда стоимость портфеля ниже любого предыдущего локального максимума: \(\mathrm{MLD} = (t_j - t_i) / n_{\mathrm{obs}}\).
Calmar Ratio (CR): \(\mathrm{CR} = \mathrm{ARC} / \mathrm{MDD}\).
Information Ratio** (IR**) (Kość et al. 2019) — синтетическая мера:
\[ \mathrm{IR}^{**} = \frac{\mathrm{ARC}^2 \cdot \mathrm{sign}(\mathrm{ARC})}{\mathrm{ASD} \cdot \mathrm{MDD}} \]3.3. Исследование фреймворка — постановка задачи
Исследование основано на стратегии Cartea et al. (2023). Из-за других источников данных и вселенной акций возможны расхождения даже при зеркальной реализации. Для оценки масштаба стратегия протестирована на данных раздела 3.1: собственная реализация на Python 3 повторяет все шаги и параметры. Выбран вариант с SPONGEsym и числом собственных векторов, объясняющих 90% дисперсии. Результаты сгенерированы при транзакционных издержках 0 и 0,05%.
| Метрика | Original | Own-no-TC | Own-0.05%-TC | SPY |
|---|---|---|---|---|
| AR | 12,20 | 10,24 | 2,44 | 6,48 |
| SHARPE | 1,10 | 1,17 | 0,28 | 0,33 |
| SORTINO | 2,01 | 2,09 | 0,49 | 0,51 |
Original — результаты авторов; Own-no-TC — собственная реализация без издержек; Own-0.05%-TC — с издержками 0,05%; SPY — ETF SPY.
Без транзакционных издержек Sharpe, Sortino и годовая доходность близки к Cartea et al. (2023); расхождения могут быть из-за вселенной акций или конвенции расчёта метрик. При издержках 0,05% влияние существенно. Рис. 1–2 показывают equity curves.
Стратегия очень чувствительна к транзакционным издержкам: периоды слабого роста превращаются в убытки и стагнацию. На рис. 3 сумма издержек в четыре раза превышает чистую прибыль стратегии (рис. 2).
Фундаментальное решение — снизить объём торгов. Начальная модификация: ребаланс каждые 10 торговых дней вместо 3; окно lookback для кластеризации увеличено с 5 до 30 дней.
Более глубокое решение: снижение частоты ребаланса уменьшает издержки, но вторична абсолютная величина costs. Значительное падение производительности связано с периодами, когда издержки превышали доход стратегии, создавая многолетние нисходящие тренды. Такие периоды сильнее всего бьют по ARC, downside risk и drawdown — для восстановления от падения на \(x\%\) нужна доходность выше \(x\%\). Решение — улучшить среднее качество сигнала: маргинальные улучшения могут устранить длительные просадки. Поэтому ML-классификаторы идентифицируют сигналы с высокой вероятностью прибыльности, и позиции открываются только при достаточной уверенности.
3.4. Извлечение и инженерия признаков
Для обучения классификаторов нужен датасет, репрезентативный для разных рыночных условий. Первые 1500 торговых дней с 2000 года — train; остальное — out-of-sample test. Признаки основаны на свойствах графа и стандартном ценовом поведении. Активно торгуемый набор акций S&P 500 в данный день — «граф»; выделенный кластер — «подграф».
3.4.1. Признаки на основе графа
Локальная степень вершины: \(\displaystyle\frac{\sum_{n=1}^{S} e_{i,n} - 1}{S - 1}\), где \(e_{i,n}\) — вес \(n\)-го ребра из вершины \(i\), \(S\) — размер подграфа.
Глобальная степень вершины: \(\displaystyle\frac{\sum_{n=1}^{G} e_{i,n} - 1}{G - 1}\), \(G\) — размер графа.
Плотность графа: \(\displaystyle\frac{\sum_{i=1}^{S}\left(\sum_{n=1}^{S} e_{i,n} - 1\right)}{(S-1)S}\).
Размер кластера: \(|v_j| / G\), где \(|v_j|\) — число вершин в \(j\)-м кластере.
Число кластеров: число кластеров (подграфов), делённое на размер графа.
Все graph-based признаки нормированы делением на размер графа или кластера для сопоставимости между кластерами и учёта того, что вселенная не всегда равна 500.
3.4.2. Классические признаки
- Кумулятивное отклонение доходности от доходности кластера за последние пять дней
- Знак отклонения от среднего кластера (тип позиции — long/short)
- Средняя доходность кластера за последние 10 дней
- Средняя доходность акции за последние 10 дней
Датасет создан бэктестом модифицированной стратегии (раздел 3.3) на первых 1500 днях (in-sample, не используется в разделах 4–5). Для каждого сигнала сохранялась запись с признаками и бинарной меткой прибыльности. Два условия прибыльности: (1) кумулятивная доходность к концу торгового дня с последнего ребаланса превышает порог \(T\); (2) к моменту ребаланса кумулятивная доходность превышает транзакционные издержки (нет убытка на позиции).
Выбор \(T\) критичен. Рис. 4 показывает долю сигналов по типам при разных порогах take profit.
С ростом \(T\) доля «прибыльных» сигналов медленно сходится к 0,5; наблюдается миграция из condition 1 в condition 2. Для ML близкий к равному баланс классов — благоприятный выбор; слишком высокий \(T\) снижает способность распознавать менее стабильные, но прибыльные сигналы. Выбрано \(T = 4\%\) — близкий к равному split и значительное большинство прибыльных сигналов.
После выбора \(T\) выполнен бэктест с параметрами раздела 3.3. Каждое наблюдение — 14 признаков и бинарная метка прибыльности. Датасет масштабирован MinMax Scaler (sklearn).
3.5. Ансамбль классификаторов качества сигналов
Для максимизации качества классификации обучены пять моделей, затем построен ансамбль. Датасет разделён случайно: 80% train, 20% validation. Grid search cross-validation (GridSearchCV, sklearn); метрика настройки — Brier score loss (качество вероятностных оценок).
Multi-layer Perceptron (MLP) — нативная нейросеть sklearn с softmax; гиперпараметры в табл. 2 (лучшие выделены жирным: 64,32 hidden; tanh; alpha 0,0001; adaptive; batch 100; adam).
| Hidden layers | Activation | Alpha | Learning rate | Batch | Solver |
|---|---|---|---|---|---|
| 64,64 / 64,32 / 64 / 32,16 | tanh / relu / sigmoid | 0,1 … 1e-7 | constant / adaptive | 50 / 100 / 200 | sgd / adam |
AdaBoost — последовательность слабых классификаторов с перевзвешиванием ошибочных примеров (Freund and Schapire, 1995). Табл. 3: лучшие — 100 estimators, learning rate 0,001.
| n_estimators | learning_rate |
|---|---|
| 3 / 5 / 10 / 20 / 50 / 100 | 0,001 / 0,01 / 0,1 / 1 / 10 |
HistGradientBoosting — gradient-boosted trees sklearn (LightGBM-подобный). Табл. 4: лучшие параметры выделены в оригинале.
| learning_rate | early_stopping | max_iter | warm_start |
|---|---|---|---|
| 0,01 / 0,1 / 0,5 / 1 / 5 | auto / False | 50 … 500 | 0 / 1 |
Stochastic Gradient Descent (SGD) — линейный классификатор с convex loss. Табл. 5.
| Loss | Penalty | Alpha | Max iter | Early stopping | Learning rate | Warm start |
|---|---|---|---|---|---|---|
| modified Huber / log / hinge | l2 / l1 / elastic net | 0,5 … 0,0011 | 200 / 1000 / 10000 | 1 / 0 | constant / optimal / adaptive / invscaling | 1 / 0 |
Logistic regression — табл. 6.
| C | Penalty | Solver | Max iter | Class weight | Warm start |
|---|---|---|---|---|---|
| 0,1 … 20 | l2 / l1 / elastic net | lbfgs / liblinear / newton-cholesky | 50 … 500 | Balanced / None | 1 / 0 |
После настройки оценена производительность по Brier Score и precision (табл. 7). HistGradientBoosting лучший по обеим метрикам. Все модели с Brier < 0,25 и precision > 0,541 (prevalence положительного класса) превосходят случайный уровень.
| Classifier | Brier Score | Precision |
|---|---|---|
| MLP | 0,243 | 0,568 |
| AdaBoost | 0,247 | 0,544 |
| HistGradientBoosting | 0,218 | 0,653 |
| SGD | 0,247 | 0,547 |
| Logistic Regression | 0,249 | 0,580 |
Ансамбль всех пяти моделей — soft voting: HistGradientBoosting с удвоенным весом (вероятности делятся на 3 для HGB и на 6 для остальных, затем суммируются). В анализе чувствительности сравниваются равные веса, утроенный вес лучшей модели и только HistGradientBoosting.
Критичен порог вероятности для принятия сигнала. Наивный 0,5 почти не ограничивает число сделок (рис. 5). Литература предполагает 30–40 акций для диверсификации (Statman 1987); порог, при котором торгуется ~10% сигналов, даёт достаточный портфель. Выбран фиксированный порог \(P_2\): только сигналы с вероятностью выше \(P_2\). 90-й перцентиль распределения на validation для взвешенного ансамбля — 0,602, округлено до 0,6 (рис. 5–6). Для равного ансамбля 90-й перцентиль 60,08%, также 0,6. Для одного HistGradientBoosting распределение смещено вправо; 90-й перцентиль 0,679, \(P_2 = 0,68\) (рис. 7).
3.6. Реализация и настройка
Все тесты — собственный бэктест. Equity curve строится от 1000 долларов с реинвестированием. Допущения: дробные акции; для short не требуется залог (zero cost arbitrage at inception). Если не указано иное — транзакционные издержки 0,05% при открытии и закрытии.
3.7. Оптимизации риск-менеджмента
3.7.1. Зависящие от времени функции take profit
Классификация качества сигнала основана на достижении фиксированного profit target. Экспериментальный подход снижает порог с каждым днём после открытия позиции:
\[ \mathrm{Threshold}_{tp} = \mathrm{THR} \cdot \frac{10 - TD}{10} \]где \(TD\) — число дней с последнего ребаланса, \(\mathrm{THR}\) — масштабирующий фактор. Для согласованности с классификаторами \(\mathrm{THR} = 8\%\): ожидаемое значение \(\mathrm{Threshold}_{tp}\) за 9 дней равно порогу обучения (4%). Take profit учитывает только adjusted close в дни без ребаланса; реализованная прибыль может быть выше.
3.7.2. Функции stop loss
Stop loss предотвращает аномальные убытки при рыночных спадах. Аналогичная time-variant схема с масштабом 5% (другие значения — в анализе чувствительности):
\[ \mathrm{Threshold}_{sl} = 0{,}05 \cdot \frac{10 - TD}{10} \]3.8. Решения с учётом вероятности
3.8.1. Позиции с весами Kelly
Применена упрощённая версия Kelly для каждой акции отдельно; доли масштабируются так, чтобы суммы long и short сигналов равнялись 1. При вероятности прибыльности \(P\), симметричных выигрышах/проигрышах с фактором \(\lambda\), капитал после \(n\) шагов:
\[ W_n = W_0 \cdot (1 - \lambda f)^L (1 + \lambda f)^W \]Средняя геометрическая доходность \(R = (1-\lambda f)^{L/n}(1+\lambda f)^{W/n}\). Максимизация \(\log R\) при \(W/n = P\), \(L/n = 1-P\):
\[ \log R = (1-P)\log(1-\lambda f) + P\log(1+\lambda f) \] \[ \frac{dR}{df} = \frac{2P - 1 - \lambda f}{1 - (\lambda f)^2} = 0 \quad\Rightarrow\quad f = \frac{2P-1}{\lambda} \]При масштабировании долей и равном \(\lambda\) для всех сигналов: \(f = 2P - 1\). Сравнивается с равновзвешенными позициями.
3.8.2. Risk-weighted stop/take profit
Вероятности классификатора умножают пороги take profit и stop loss — для более рискованных сигналов порог закрытия ниже:
\[ \mathrm{Threshold}_{RW} = \mathrm{Threshold} \cdot P \]4. Эмпирические результаты
4.1. Производительность портфелей
Предложенное решение сравнивается с репликациями Cartea et al. (2023) с издержками и без, а также с ETF SPY как прокси рынка. Out-of-sample период: 03.2006–12.2022.
| Metric | Strategy | Benchmark | Benchmark W/o tc | SPY |
|---|---|---|---|---|
| ARC | 49,33% | 1,13% | 9,01% | 9,12% |
| ASD | 38,01% | 9,16% | 9,14% | 20,11% |
| IR* | 1,30 | 0,14 | 0,96 | 0,45 |
| SORTINO | 3,38 | 0,29 | 1,77 | 0,70 |
| MDD | 31,98% | 34,30% | 20,68% | 55,19% |
| MLD | 2,10 years | 2,59 years | 1,54 years | 4,85 years |
| CR | 1,54 | 0,04 | 0,44 | 0,17 |
| IR** | 2,00 | 0,01 | 0,42 | 0,08 |
Strategy — предложенный подход (взвешенный ансамбль, модификации stop/take profit, Kelly). Benchmark — Cartea et al. с 0,05% издержками; Benchmark W/o tc — без издержек; SPY — ETF.
Стратегия характеризуется высокой доходностью и волатильностью, но рост ARC непропорционально выше роста ASD — IR* почти в 10 раз выше benchmark при тех же издержках. Sortino ещё выгоднее — downside volatility меньше общей. Одновременно drawdown ниже, чем у benchmark и SPY. Calmar и IR** существенно выше.
Для значимости проведён t-test IR* стратегии против SPY (\(\alpha = 0{,}01\), по Bieganowski & Ślepaczuk 2024):
\[ t = \frac{\mathrm{IR}^*_s - \mathrm{IR}^*_b}{\sigma / \sqrt{n}} \]| IR*-Strategy | IR*-SPY | SE | df | t | p-value |
|---|---|---|---|---|---|
| 1,30 | 0,45 | 0,0004 | 4225 | 2118,84 | < 0,00001 |
H₀: IR* стратегии не больше IR* SPY — отвергается на уровне 1%.
Стратегия генерирует существенно более высокую доходность; темп роста замедлился около 2016 года. Причины: (1) базовая стратегия Cartea et al. тоже показывает спад в тот же период; (2) высокая доходность 2010–2016 связана с ограниченным числом очень прибыльных сделок — «ступенчатая» equity curve. Основной вклад — акция Emporium Petroleum (EP); реже — Ocean Thermal Energy Corp (CPWR). Обе входили в S&P 500, но с высокой волатильностью и низким/умеренным объёмом. Производительность без EP и CPWR проверена в анализе чувствительности. Это указывает на потенциал на более волатильных бумагах (Russell 2000 и т.п.), но и на риск зависимости от отдельных экстремальных движений.
5. Анализ чувствительности
5.1. Модификации stop/take profit и критерий Kelly
Base case сравнивается с flat base case with Kelly (без time-variant и probability-weighted модификаций stop/take profit) и flat base case (без Kelly).
| Metric | Base case | Flat Base Case Kelly | Flat Base Case | SPY |
|---|---|---|---|---|
| ARC | 49,33% | 52,63% | 50,33% | 9,12% |
| ASD | 38,01% | 40,29% | 38,95% | 20,11% |
| IR* | 1,30 | 1,31 | 1,29 | 0,45 |
| SORTINO | 3,38 | 3,25 | 3,26 | 0,70 |
| MDD | 31,98% | 36,05% | 33,94% | 55,19% |
| MLD | 2,10 years | 2,82 years | 1,99 years | 4,85 years |
| CR | 1,54 | 1,46 | 1,48 | 0,17 |
| IR** | 2,00 | 1,91 | 1,90 | 0,08 |
IR* различается не более чем на 2%. Kelly повышает доходность ценой волатильности и более длинного MLD. Time-variant и probability-weighted stop/take profit снижают доходность и волатильность примерно пропорционально, но улучшают MDD и downside risk — base case чуть лучше по Calmar, Sortino и IR**. Различия маргинальны; стратегия не чувствительна к удалению этих модификаций.
5.2. Построение ансамбля
Табл. 11: веса base case оптимальны; альтернативные веса почти uniformly хуже, но обе альтернативы лучше SPY. Равный ансамбль — выше волатильность (рис. 10). Только HistGradientBoosting — относительно стабильная кривая, но просадка около 2017. Без округления порога — небольшое отличие от base case.
| Metric | Base Case | HistGradientBoosting | equally weighted | W/t rounding | SPY |
|---|---|---|---|---|---|
| ARC | 49,33% | 31,58% | 28,91% | 47,15% | 9,12% |
| ASD | 38,01% | 34,82% | 38,22% | 38,99% | 20,11% |
| IR* | 1,30 | 0,91 | 0,76 | 1,21 | 0,45 |
| SORTINO | 3,38 | 1,89 | 1,54 | 3,11 | 0,70 |
| MDD | 31,98% | 50,7% | 63,95% | 38,83% | 55,19% |
| MLD | 2,10 years | 3,01 years | 2,63 years | 3,22 years | 4,85 years |
| CR | 1,54 | 0,62 | 0,45 | 1,38 | 0,17 |
| IR** | 2,00 | 0,56 | 0,34 | 1,67 | 0,08 |
5.3. Транзакционные издержки
Base case устойчив к изменению ставки издержек: при росте costs производительность монотонно хуже, но при 0,1% всё ещё значительно лучше SPY (табл. 12, рис. 11).
| Metric | 0% | Base Case | 0,075% | 0,1% | SPY |
|---|---|---|---|---|---|
| ARC | 54,55% | 49,33% | 46,78% | 44,27% | 9,12% |
| ASD | 38,02% | 38,01% | 38,02% | 38,02% | 20,11% |
| IR* | 1,43 | 1,30 | 1,23 | 1,16 | 0,45 |
| SORTINO | 3,74 | 3,38 | 3,20 | 3,03 | 0,70 |
| MDD | 31,72% | 31,98% | 32,11% | 32,24% | 55,19% |
| MLD | 1,98 years | 2,10 years | 2,14 years | 2,17 years | 4,85 years |
| CR | 1,72 | 1,54 | 1,46 | 1,37 | 0,17 |
| IR** | 2,46 | 2,00 | 1,80 | 1,59 | 0,08 |
5.4. Порог stop loss
Снижение и повышение порога stop loss умеренно ухудшают результат (табл. 13, рис. 12). Слишком низкий порог — преждевременное закрытие mean-reverting позиций; слишком высокий — недостаточное снижение downside risk. Стратегия умеренно чувствительна.
| Metric | 1% | 3% | base case | 10% | SPY |
|---|---|---|---|---|---|
| ARC | 41,54% | 41,93% | 49,33% | 46,00% | 9,12% |
| ASD | 35,29% | 35,75% | 38,01% | 39,12% | 20,11% |
| IR* | 1,18 | 1,17 | 1,30 | 1,18 | 0,45 |
| SORTINO | 3,21 | 3,14 | 3,38 | 2,84 | 0,70 |
| MDD | 32,08% | 28,58% | 31,98% | 41,05% | 55,19% |
| MLD | 3,01 years | 3,75 years | 2,10 years | 3,28 years | 4,85 years |
| CR | 1,30 | 1,52 | 1,54 | 1,12 | 0,17 |
| IR** | 1,53 | 1,78 | 2,00 | 1,32 | 0,08 |
5.5. Исключение сверхприбыльных акций
Исключение лучших акций резко снижает производительность (табл. 14, рис. 13) — base case в значительной степени капитализирует экстремальные движения цен. Тем не менее все варианты без EP/CPWR превосходят benchmark Cartea с издержками и SPY по Calmar, Sortino и information ratios — улучшение от классификаторов качества сигналов сохраняется. Высокая чувствительность к волатильным «драйверам» прибыли указывает и на риски масштабирования, и на возможности на более волатильных рынках.
| Metric | Base case | Benchmark | W/o EP & CPWR | W/o EP | W/o CPWR | SPY |
|---|---|---|---|---|---|---|
| ARC | 49,33% | 1,13% | 10,73% | 17,78% | 26,65% | 9,12% |
| ASD | 38,01% | 9,16% | 19,71% | 22,72% | 33,38% | 20,11% |
| IR* | 1,30 | 0,14 | 0,54 | 0,78 | 0,80 | 0,45 |
| SORTINO | 3,38 | 0,29 | 0,83 | 2,09 | 1,57 | 0,70 |
| MDD | 31,98% | 34,30% | 51,44% | 24,95% | 50,51% | 55,19% |
| MLD | 2,10 years | 2,59 years | 9,38 years | 1,67 years | 2,10 years | 4,85 years |
| CR | 1,54 | 0,04 | 0,21 | 0,71 | 0,53 | 0,17 |
| IR** | 2,00 | 0,01 | 0,11 | 0,55 | 0,42 | 0,08 |
5.6. Порог take profit
Удвоение и halving масштабирующего фактора take profit меняет IR* и Sortino менее чем на 10%; при факторе 0,16 MDD растёт ~50% (табл. 15, рис. 14). Стратегия не очень чувствительна к этому параметру.
| Metric | Base Case | Benchmark | 0,04 | 0,16 | SPY |
|---|---|---|---|---|---|
| ARC | 49,33% | 1,13% | 45,99% | 49,86% | 9,12% |
| ASD | 38,01% | 9,16% | 36,91% | 39,46% | 20,11% |
| IR* | 1,30 | 0,14 | 1,24 | 1,26 | 0,45 |
| SORTINO | 3,38 | 0,29 | 3,32 | 3,10 | 0,70 |
| MDD | 31,98% | 34,30% | 31,75% | 48,43% | 55,19% |
| MLD | 2,10 years | 2,59 years | 3,72 years | 3,37 years | 4,85 years |
| CR | 1,54 | 0,04 | 1,45 | 1,02 | 0,17 |
| IR** | 2,00 | 0,01 | 1,80 | 1,23 | 0,08 |
5.7. Порог при построении in-sample датасета
Изменение порога \(T\) при labeling in-sample данных существенно влияет на результат (табл. 16, рис. 15): IR* падает, MDD более чем удваивается при \(T = 0{,}08\). Стратегия чувствительна к этому параметру.
| Metric | Base Case | Benchmark | 0,02 | 0,08 | SPY |
|---|---|---|---|---|---|
| ARC | 49,33% | 1,13% | 34,47% | 30,57% | 9,12% |
| ASD | 38,01% | 9,16% | 37,88% | 43,33% | 20,11% |
| IR* | 1,30 | 0,14 | 0,91 | 0,71 | 0,45 |
| SORTINO | 3,38 | 0,29 | 2,05 | 1,32 | 0,70 |
| MDD | 31,98% | 34,30% | 45,70% | 68,40% | 55,19% |
| MLD | 2,10 years | 3,56 years | 3,72 years | 2,92 years | 4,85 years |
| CR | 1,54 | 0,04 | 0,75 | 0,45 | 0,17 |
| IR** | 2,00 | 0,01 | 0,68 | 0,32 | 0,08 |
5.8. Частота ребаланса и длина lookback окна кластеризации
Для проверки допущений раздела 3.3 исследована чувствительность к частоте ребаланса и числу дней для корреляционной матрицы (SPONGEsym). Обозначение \(a\&b\): \(a\) — частота ребаланса, \(b\) — длина lookback. При \(a \neq 10\) порог in-sample масштабирован линейно на \(a/10\).
| Metric | Base Case | Benchmark | 3&5 | 10&5 | 15&30 | 10&45 | SPY |
|---|---|---|---|---|---|---|---|
| ARC | 49,33% | 1,13% | −100% | 16,78% | 9,54% | 37,34% | 9,12% |
| ASD | 38,01% | 9,16% | 35,11% | 33,48% | 46,83% | 59,92% | 20,11% |
| IR* | 1,30 | 0,14 | −2,85 | 0,50 | 0,20 | 0,62 | 0,45 |
| SORTINO | 3,38 | 0,29 | −3,18 | 0,94 | 0,95 | 1,42 | 0,70 |
| MDD | 31,98% | 34,30% | 100% | 54,02% | 37,67% | 67,02% | 55,19% |
| MLD | 2,10 yrs. | 3,56 yrs. | 11,17 yrs. | 2,92 yrs. | 4,99 yrs. | 4,79 yrs. | 4,85 yrs. |
| CR | 1,54 | 0,04 | −1 | 0,31 | 0,25 | 0,58 | 0,17 |
| IR** | 2,00 | 0,01 | −2,85 | 0,16 | 0,05 | 0,35 | 0,08 |
Base case: \(a=10\), \(b=30\). Стратегия очень чувствительна к обоим параметрам; изменение в любую сторону ухудшает результат. Частота ребаланса влияет сильнее; уменьшение обоих параметров сильнее бьёт по IR*, IR**, CR и Sortino. Возможная причина — признаки «средняя доходность кластера/акции за 10 дней» не оптимальны для других частот (особенно ребаланс каждые 3 дня). При других \(a,b\) нужно переопределять признаки. Стратегия 3&5 привела к банкротству портфеля — классификаторы, вероятно, учат шум (рис. 16).
5.9. Сводка анализа чувствительности
Табл. 18 — число метрик, по которым данный вариант был лучшим в соответствующем блоке анализа. Base case лидирует по большинству параметров — подход существенно чувствителен к настройке.
| Параметр | Варианты (число лучших метрик) |
|---|---|
| Stop loss / take profit / Kelly | No time-variant, no Kelly: 1; No time variant, Kelly: 2; Time variant & Kelly (Base Case): 5 |
| Ensemble weights | Equally Weighted: 0; HGB weight doubled (Base Case): 7; Only HistGradientBoosting: 1 |
| Transaction costs | 0%: 7; 0,05% (Base Case): 1; 0,075%: 0; 0,1%: 0 |
| Rebalance & lookback | 3&5: 0; 10&5: 0; 10&30 (Base Case): 7; 10&45: 0; 15&30: 1 |
| Take profit threshold | 0,04: 2; 0,08 (Base Case): 5; 0,16: 1 |
| In-sample threshold | 0,02: 1; 0,04 (Base Case): 7; 0,08: 0 |
| Stop loss threshold | 1%: 1; 3%: 1; 5% (Base Case): 6; 10%: 0 |
| Overperforming stocks | With EP & CPWR (Base Case): 5; Without EP & CPWR: 1; Without EP: 2; Without CPWR: 0 |
6. Выводы и дальнейшие исследования
Исследована алгоритмическая стратегия, в которой ансамбль ML-классификаторов фильтрует сигналы стат-арбитражного фреймворка на graph clustering. Данные — исторические составляющие S&P 500 (Yahoo Finance). Стратегия Cartea et al. (2023) модифицирована снижением частоты торгов. In-sample датасет из первых 1500 торговых дней содержит сигналы и их исходы. Train/validation split; обучены и настроены MLP, HistGradientBoosting, AdaBoost, логистическая регрессия и SGD (Brier и precision на validation). Out-of-sample тест с фильтрацией сигналов. Добавлены Kelly, time-variant stop loss/take profit и likelihood-weighted позиции. Все варианты с классификаторами превзошли исходную graph clustering стратегию и buy-and-hold SPY при реалистичных транзакционных издержках.
Ответы на исследовательские вопросы:
- RQ1: Классификаторы качества сигналов улучшают стратегию — выше Calmar, Sortino и модифицированные information ratios у версий с классификаторами vs без них. Улучшение связано со снижением объёма убыточных сигналов. Лучший результат — weighted soft voting ансамбль.
- RQ2: Влияние оптимизаций риск-менеджмента ограничено. Kelly не повысил IR*; модификации stop/take profit умеренно снижают downside и tail risk. Умножение stop-функций на предсказанную вероятность и time-variant фактор заслуживают дальнейшего изучения. Слабое влияние Kelly — из-за упрощённой реализации.
- RQ3: Изменение транзакционных издержек ограниченно влияет на результат; удвоение ставки снижает IR* лишь на ~10% — стратегия робастна к этому параметру.
- RQ4: Веса ансамбля существенно влияют: равные веса и только лучший классификатор хуже, чем ансамбль с повышенным весом HistGradientBoosting.
Ограничения: качество данных Yahoo Finance не идеально; пропуски увеличивают неопределённость бэктеста. Slippage не учитывался — либeralное допущение при значительной прибыли от волатильных акций. Precision и Brier на validation невысоки — вероятно из-за неоптимального feature engineering и отсутствия отбора признаков.
Направления дальнейших исследований: тест на крипторынке и других высоковолатильных средах; multilabel классификация (profitable long / profitable short / unprofitable); более высокие частоты данных, типичные для stat arb.
Литература
- [1] Bieganowski, B., & Slepaczuk, R. (2024). Supervised Autoencoder MLP for Financial Time Series Forecasting. arXiv preprint arXiv:2404.01866.
- [2] Bui Q., Ślepaczuk R., (2022), Applying Hurst Exponent in Pair Trading Strategies on Nasdaq 100 index, Physica A: Statistical Mechanics and its Applications 592, p.126784, ISSN = 0378-4371, https://doi.org/10.1016/j.physa.2021.126784
- [3] Bronakowska, K., Naumowicz, P., & Ślepaczuk, R. (2021). Various Approaches to Algorithmic Investment Strategies on Equity Indices and Stocks Markets, ArchaeGraph, ISBN: 978-83-67074-34-6
- [4] Borovkova, S., & Tsiamas, I. (2019). An ensemble of LSTM neural networks for high-frequency stock market classification. Journal of Forecasting, 38(6), 600-619.
- [5] Cartea, Á., Jin, Q., & Cucuringu, M. (2023). Correlation Matrix Clustering for Statistical Arbitrage Portfolios. In Proceedings of the Fourth ACM International Conference on AI in Finance (pp. 557-564), Available at SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4560455
- [6] Chen, H., Chen, S., Chen, Z., & Li, F. (2019). Empirical investigation of an equity pairs trading strategy. Management Science, 65(1), 370-389.
- [7] Chen, L., Sun, L., Chen, C. M., Wu, M. E., & Wu, J. M. T. (2021). Stock trading system based on machine learning and kelly criterion in internet of things. Wireless Communications and Mobile Computing, 2021, 1-9.
- [8] Cheng, D., Yang, F., Xiang, S., & Liu, J. (2022). Financial time series forecasting with multi-modality graph neural network. Pattern Recognition, 121, 108218.
- [9] Cucuringu, M., Davies, P., Glielmo, A., & Tyagi, H. (2019). SPONGE: A generalized eigenproblem for clustering signed networks. ArXiv, abs/1904.08575.
- [10] Dixon, M., Klabjan, D., & Bang, J. H. (2017). Classification-based financial markets prediction using deep neural networks. Algorithmic Finance, 6(3-4), 67-77.
- [11] Do, B., & Faff, R. (2011). Are Pairs Trading Profits Robust to Trading Costs?. Journal of Financial Research, 35.
- [12] Faff, R., & Anderson, J. (2004). Maximizing futures returns using fixed fraction asset allocation. Applied Financial Economics, 14, 1067-1073.
- [13] Fama, E. F., & French, K. R. (1997). Industry costs of equity. Journal of financial economics, 43(2), 153-193.
- [14] Farrell J. A. "SP500" (2024). available at: https://github.com/fja05680/sp500?tab=MIT-1-ov-file, last accessed 17.04.2024
- [15] Freund, Y., & Schapire, R. E. (1997). A decision-theoretic generalization of on-line learning and an application to boosting. Journal of computer and system sciences, 55(1), 119-139.
- [16] Gatev, E., Goetzmann, W. N., & Rouwenhorst, K. G. (2006). Pairs trading: Performance of a relative-value arbitrage rule. The Review of Financial Studies, 19(3), 797-827.
- [17] Hastie, T., Tibshirani, R., Friedman, J. H., & Friedman, J. H. (2009). The elements of statistical learning: data mining, inference, and prediction (Vol. 2, pp. 1-758). New York: springer.
- [18] Kelly, J. L. (1956). A new interpretation of information rate. the bell system technical journal, 35(4), 917-926.
- [19] Kim, K. (2011). Performance Analysis of Pairs Trading Strategy Utilizing High Frequency Data with an Application to KOSPI 100 Equities. SSRN Electronic Journal.
- [20] Kosc, K., Sakowski, P., & Ślepaczuk, R. (2019). Momentum and contrarian effects on the cryptocurrency market. Physica A: Statistical Mechanics and its Applications, 523, 691-701.
- [21] Kryńska, K., & Ślepaczuk, R. (2023). Daily and intraday application of various architectures of the LSTM model in algorithmic investment strategies on Bitcoin and the S&P 500 Index. Available at SSRN 4628806.
- [22] Leung, M. T., Daouk, H., & Chen, A. S. (2000). Forecasting stock indices: a comparison of classification and level estimation models. International Journal of forecasting, 16(2), 173-190.
- [23] Li, X., Wang, J., Tan, J., Ji, S., & Jia, H. (2022). A graph neural network-based stock forecasting method utilizing multi-source heterogeneous data fusion. Multimedia tools and applications, 81(30), 43753-43775.
- [24] Li, B., Xie, K., Lu, S., Lin, J., & Wang, Z. (2020, July). LSTM-Based quantitative trading using dynamic K-Top and Kelly criterion. In 2020 International Joint Conference on Neural Networks (IJCNN) (pp. 1-8). IEEE.
- [25] Markowitz, H. (1952). Portfolio Selection. The Journal of Finance, 7(1), 77–91. https://doi.org/10.2307/2975974
- [26] Miao, G. J. (2014). High frequency and dynamic pairs trading based on statistical arbitrage using a two-stage correlation and cointegration approach. International Journal of Economics and Finance, 6(3), 96-110.
- [27] Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., & others (2011). Scikit-learn: Machine learning in Python. the Journal of machine Learning research, 12, 2825–2830.
- [28] Statman, M. (1987). How Many Stocks Make a Diversified Portfolio? The Journal of Financial and Quantitative Analysis, 22(3), 353–363. https://doi.org/10.2307/2330969
- [29] Stübinger, J., & Bredthauer, J. (2017). Statistical arbitrage pairs trading with high-frequency data. International Journal of Economics and Financial Issues, 7(4), 650-662.
- [30] Thorp, E. O. (1969). Optimal gambling systems for favorable games. Revue de l'Institut International de Statistique, 273-293.
- [31] Worasucheep, C. (2022). Ensemble classifier for stock trading recommendation. Applied Artificial Intelligence, 36(1), 2001178.
- [32] Yangru, W., & Zhang, H. (1997). Forward premiums as unbiased predictors of future currency depreciation: A non-parametric analysis. Journal of International Money and Finance, 16(4), 609-623.
- [33] Yin, T., Liu, C., Ding, F., Feng, Z., Yuan, B., & Zhang, N. (2022). Graph-based stock correlation and prediction for high-frequency trading systems. Pattern Recognition, 122, 108209.
- [34] Zawadowski M., (2020), Wykład ze Wstępu do Informatyki (Język C), Available at: https://tinyurl.com/2526ct5v
- [35] Zelenkov, Y. (2017). Parallel heterogeneous multi-classifier system for decision making in algorithmic trading. In Supercomputing: Third Russian Supercomputing Days, RuSCDays 2017, Moscow, Russia, September 25–26, 2017, Revised Selected Papers 3 (pp. 251-265). Springer International Publishing.
- [36] Zhan, H. C. J., Rea, W., & Rea, A. (2015). An application of correlation clustering to portfolio diversification. arXiv preprint arXiv:1511.07945.