Lab · structure cross-asset
Cube de corrélation glissante cross-asset
Un 3-tenseur C[a, b, w] de corrélations par paires glissantes sur un univers d'actifs, le substrat pour la détection de changement de régime.
Les mathématiques
Soit R ∈ ℝK×T une matrice de rendements multi-actifs : K actifs, T barres. Pour une longueur de fenêtre fixe L, définissez pour chaque indice de fin de fenêtre w ∈ {L, L+1, …, T}
Standardisez chaque ligne de R(w) à l'intérieur de la fenêtre (soustrayez la moyenne, divisez par l'écart-type empirique) pour obtenir Z(w). La matrice de corrélation empirique à la fenêtre w est
Le cube de corrélation est le 3-tenseur
Invariants utiles
Calculez des scalaires de résumé à chaque tranche de fenêtre et suivez-les comme des séries temporelles.
- Corrélation hors diagonale moyenne , indicateur de régime scalaire unique.
- Valeur propre dominante , capture la force du plus grand facteur commun.
- Rang effectif , l'entropie du spectre normalisé, variant continûment entre 1 (un facteur) et K (rang plein).
Les régimes de crise se caractérisent par une élévation simultanée de la corrélation hors diagonale moyenne et un effondrement du rang effectif vers une valeur proche de 1. La correction du biais de volatilité de Forbes–Rigobon (2002) importe ici : une hausse apparente de corrélation durant un régime de haute volatilité est en partie mécanique (la variance entre à la fois au numérateur et au dénominateur). La bibliothèque reporte à la fois les estimations brutes et corrigées du biais.
Compromis de longueur de fenêtre
À une longueur de fenêtre L, l'erreur-type de toute corrélation empirique est approximativement (1 − ρ²)/√L. Les fenêtres courtes (L = 20) réagissent rapidement mais sont bruitées ; les fenêtres longues (L = 250) sont stables mais retardent les changements de régime de L/2. Pour des données crypto de 30 minutes nous exécutons typiquement L = 60 (une semaine calendaire de barres) et reportons la série temporelle de la hors-diagonale moyenne comme indicateur de régime primaire.
Exemple détaillé
Générez un univers de 6 actifs (BTC, ETH, SOL, XAU, EUR, JPY), T = 600 barres, avec un changement de régime à t = T/2. Dans la première moitié chaque actif charge sur l'un de deux facteurs de bloc avec corrélation intra-bloc 0,36. Dans la seconde moitié tous les actifs chargent sur un unique facteur global avec intensité τ ∈ [0, 0,95] ; c'est le régime de crise.
Corrélations hors diagonale moyennes théoriques :
- Pré-crise : ≈ 0,36 dans le bloc, ≈ 0 entre blocs, hors diagonale moyenne ≈ 0,36 · (2 · 3) / 15 = 0,144.
- Post-crise avec τ = 0,7 : ≈ 0,7 sur toutes les paires.
La démo ci-dessous restitue cette expérience sous forme de heatmap d'une tranche de fenêtre et de la série temporelle de la corrélation hors diagonale moyenne sur toutes les fenêtres. Observez la hors-diagonale s'élever brusquement au changement de régime, c'est l'indicateur de régime que le pipeline de production déclenche.
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.
Figures
Pourquoi cela compte pour les stratégies systématiques
Un portefeuille systématique diversifié parie implicitement que la matrice de corrélation cross-asset est bien conditionnée, qu'il existe plusieurs directions effectives de risque sur lesquelles répartir l'allocation. Quand le cube de corrélation s'effondre vers une unique direction, la diversification disparaît mécaniquement. Le cube expose cet effondrement dès qu'il commence, avant que le P&L ne le confirme.
Opérationnellement, nous alimentons le cube dans M/04 : la matrice de corrélation est le paramètre de la copule gaussienne dont le χ est identiquement nul. Quand le χ empirique sur les mêmes données est significativement positif, l' hypothèse de copule gaussienne sous-jacente à la matrice de corrélation est rompue, et tout modèle de risque qui n'utilise que des corrélations est mal spécifié.
Reproductibilité
DaruFinance / strategy-corrcube
Python · implémentation de référence open-source
Invocation minimale
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
Références
- [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.

