Кластерный анализ портфелей:
методы и практика
Группировка финансовых активов по схожим характеристикам — один из наиболее применимых случаев машинного обучения в количественных финансах. Алгоритмы кластеризации позволяют выявить скрытую структуру портфеля без заранее заданных меток. Подход работает с данными о доходности, волатильности и корреляционных зависимостях между активами.
Процесс кластеризации по шагам
Стандартный пайплайн включает четыре этапа, каждый из которых влияет на итоговое качество разбивки. Пропуск нормализации или неверный выбор метрики расстояния приведёт к смещённым кластерам, не отражающим реальную структуру портфеля.
Сбор и нормализация данных
Исходные данные — временные ряды котировок или дневной доходности активов за период не менее 2–3 лет. Перед кластеризацией значения масштабируют методом StandardScaler или MinMaxScaler. Без нормализации активы с высокой абсолютной ценой доминируют в метрике расстояния.
Снижение размерности
При работе с портфелем из 50+ активов признаковое пространство становится разреженным. PCA сохраняет 90–95% дисперсии при сокращении до 5–10 компонент. Для визуализации дополнительно применяют t-SNE, который лучше сохраняет локальную структуру данных.
Выбор алгоритма и построение кластеров
K-means работает быстро при известном числе кластеров, но чувствителен к выбросам. Иерархическая кластеризация с методом Уорда даёт стабильные результаты без фиксации числа групп заранее. DBSCAN полезен, когда часть активов не укладывается ни в один кластер и должна быть отмечена как аномальная.
Оценка и интерпретация результатов
Коэффициент силуэта показывает, насколько каждый актив «соответствует» своему кластеру — значения выше 0,5 считаются приемлемыми. Дендрограмма наглядно показывает расстояния слияния и помогает выбрать оптимальное число кластеров. Итоговые группы анализируют по составу секторов и корреляционной матрице.
Python-стек для кластерного анализа
Большинство задач решается комбинацией стандартных библиотек. Ниже — набор инструментов, покрывающий весь цикл от загрузки данных до визуализации дендрограммы и расчёта метрик качества.
Почему кластеризация сложнее, чем кажется
Финансовые данные имеют специфику: корреляции между активами нестабильны во времени, распределения доходности имеют «тяжёлые хвосты», а выбросы в кризисные периоды сильно смещают центроиды кластеров. Алгоритм k-means предполагает сферические кластеры одинакового размера — в реальных портфелях это допущение часто нарушается.
Как оценить результат без разметки
В задаче кластеризации нет «правильных» меток, поэтому качество оценивают косвенно. Коэффициент силуэта измеряет компактность кластеров относительно расстояния до соседних групп. Индекс Дэвиса–Болдина показывает среднее отношение внутрикластерного разброса к межкластерному расстоянию — меньшее значение означает лучшее разбиение.