Разработка системы корреляционного анализа криптовалют
Корреляционный анализ в крипте — критически важный инструмент для управления портфелем, поиска арбитражных пар и понимания рыночной структуры. Система автоматически отслеживает корреляции между сотнями активов и выявляет значимые изменения.
Типы корреляции
Pearson correlation: линейная зависимость между returns двух активов. Наиболее распространена.
import pandas as pd
import numpy as np
def calculate_rolling_correlation(price_data, window=30):
"""
price_data: DataFrame с ценами (columns = symbols)
"""
returns = price_data.pct_change().dropna()
rolling_corr = {}
for i in range(window, len(returns)):
window_returns = returns.iloc[i-window:i]
corr_matrix = window_returns.corr()
rolling_corr[returns.index[i]] = corr_matrix
return rolling_corr
def get_correlation_timeseries(price_data, sym1, sym2, window=30):
"""Временной ряд корреляции между двумя активами"""
returns = price_data[[sym1, sym2]].pct_change().dropna()
return returns[sym1].rolling(window).corr(returns[sym2])
Spearman rank correlation: менее чувствительна к выбросам. Предпочтительна для крипто returns с fat tails.
DCC-GARCH (Dynamic Conditional Correlation): учитывает временну́ю зависимость волатильности. Более точно для краткосрочных корреляций.
Практические применения
Диверсификация портфеля: выбираем активы с низкими взаимными корреляциями. Correlation heatmap визуально показывает кластеры сильно коррелированных активов.
Поиск cointegrated пар для stat arb: пары с устойчивой корреляцией > 0.85 — кандидаты для проверки на коинтеграцию.
Risk management: если все позиции коррелированы > 0.7 — портфель фактически не диверсифицирован. Система алертов при повышении средней корреляции.
Correlation matrix visualization
Heatmap матрицы корреляций с цветовой кодировкой (красный = -1, белый = 0, синий = +1). Кластеризация активов по корреляции помогает визуально видеть группы (DeFi токены, L1, memes).
Rolling correlation chart: график изменения корреляции BTC/ETH во времени наглядно показывает как кризисы увеличивают корреляцию (март 2020, ноябрь 2022).
Correlation regime detection
Нормальный рынок: среднерыночная корреляция 0.4–0.6. Кризисный режим: > 0.8. При входе в кризисный режим система рекомендует снижение позиций.
Стек: Python (pandas, scipy, arch для DCC-GARCH), PostgreSQL для хранения матриц, React + D3.js для интерактивных heatmap. Данные обновляются ежедневно, realtime rolling correlation — каждый час.







