Lab · estrutura cross-asset
Cubo de correlação rolante cross-asset
Um 3-tensor C[a, b, w] de correlações par-a-par rolantes em um universo de ativos, o substrato para detecção de mudança de regime.
A matemática
Seja R ∈ ℝK×T uma matriz de retornos multi-ativos: K ativos, T barras. Para um comprimento de janela fixo L, defina para cada índice de fim de janela w ∈ {L, L+1, …, T}
Padronize cada linha de R(w) dentro da janela (subtraia a média, divida pelo desvio-padrão amostral) para obter Z(w). A matriz de correlação amostral na janela w é
O cubo de correlação é o 3-tensor
Invariantes úteis
Compute escalares de resumo em cada slice de janela e os acompanhe como séries temporais.
- Correlação fora da diagonal média , indicador de regime escalar único.
- Autovalor líder , captura a força do maior fator comum.
- Posto efetivo , a entropia do espectro normalizado, suavemente entre 1 (um fator) e K (posto completo).
Regimes de crise são caracterizados por elevação simultânea de correlação fora da diagonal média e colapso do posto efetivo para um valor próximo de 1. A correção de viés de volatilidade de Forbes–Rigobon (2002) importa aqui: uma elevação aparente de correlação durante um regime de alta volatilidade é parcialmente mecânica (a variância entra tanto no numerador quanto no denominador). A biblioteca reporta tanto estimativas brutas quanto corrigidas pelo viés.
Trade-off de comprimento de janela
Em comprimento de janela L, o erro-padrão de qualquer correlação amostral é aproximadamente (1 − ρ²)/√L. Janelas curtas (L = 20) reagem rapidamente mas são ruidosas; janelas longas (L = 250) são estáveis mas defasam mudanças de regime em L/2. Para dados cripto de 30 minutos tipicamente rodamos L = 60 (uma semana de calendário de barras) e reportamos a série temporal da diagonal-fora média como o indicador de regime primário.
Exemplo trabalhado
Gere um universo de 6 ativos (BTC, ETH, SOL, XAU, EUR, JPY), T = 600 barras, com uma troca de regime em t = T/2. Na primeira metade cada ativo carrega em um de dois fatores de bloco com correlação intra-bloco 0,36. Na segunda metade todos os ativos carregam em um único fator global com intensidade τ ∈ [0, 0,95]; este é o regime de crise.
Correlações teóricas fora da diagonal média:
- Pré-crise: ≈ 0,36 dentro do bloco, ≈ 0 entre blocos, fora da diagonal média ≈ 0,36 · (2 · 3) / 15 = 0,144.
- Pós-crise com τ = 0,7: ≈ 0,7 entre todos os pares.
O demo abaixo renderiza esse experimento como um heatmap de um slice de janela e a série temporal da correlação fora da diagonal média entre todas as janelas. Observe a fora-da-diagonal subir abruptamente na troca de regime, esse é o indicador de regime que o pipeline de produção dispara.
Demo: Cross-asset rolling correlation cube
6 assets, T=600 bars. Block-correlated regime in the first half, single-factor crisis regime in the second. Rolling W-window correlation matrices form the cube.
Figuras
Por que isso importa para estratégias sistemáticas
Um portfólio sistemático diversificado aposta implicitamente que a matriz de correlação cross-asset é bem-condicionada, que existem várias direções efetivas de risco para espalhar a alocação. Quando o cubo de correlação colapsa para uma única direção, a diversificação desaparece mecanicamente. O cubo expõe esse colapso assim que ele começa, antes que o P&L confirme.
Operacionalmente alimentamos o cubo em M/04: a matriz de correlação é o parâmetro da cópula Gaussiana cujo χ é identicamente zero. Quando o χ empírico nos mesmos dados é significativamente positivo, a suposição da cópula Gaussiana subjacente à matriz de correlação está quebrada, e qualquer modelo de risco que use apenas correlações está mal-especificado.
Reprodutibilidade
DaruFinance / strategy-corrcube
Python · implementação de referência open-source
Invocação mínima
import numpy as np
from strategy_corrcube import rolling_corr_cube, mean_offdiag
# R: K x T multi-asset return matrix (rows = assets, cols = time)
cube = rolling_corr_cube(R, window=60) # shape: (K, K, T - window + 1)
mean_off = mean_offdiag(cube) # shape: (T - window + 1,)
# Track regime shifts:
crisis_mask = mean_off > 0.6
Referências
- [1]Engle, R. F. (2002). Dynamic conditional correlation: A simple class of multivariate GARCH models. Journal of Business & Economic Statistics 20(3), 339–350.
- [2]Pelletier, D. (2006). Regime switching for dynamic correlations. Journal of Econometrics 131, 445–473.
- [3]Forbes, K. J. & Rigobon, R. (2002). No contagion, only interdependence: measuring stock market comovements. Journal of Finance 57(5), 2223–2261.

