M/03 · Analyse topologique de données
Codes-barres de persistance sur la structure de corrélation des stratégies
Homologie persistante H₀ sous une filtration de Vietoris–Rips à distance de corrélation : compter combien de clusters stables survivent dans une population de stratégies.
Les mathématiques
Prenez N stratégies avec des historiques de rendements ri ∈ ℝT. Définissez la distance de corrélation
qui est la distance euclidienne entre les représentants de norme unitaire des deux vecteurs de rendements ; c'est une véritable métrique (Mantegna 1999). À ε = 0 chaque stratégie est son propre cluster, N composantes connexes. À mesure que ε croît, nous ajoutons une arête pour chaque paire avec d(i, j) ≤ ε. Le complexe de Vietoris–Rips VRε est le complexe simplicial dont les k-simplexes sont les (k+1)-cliques de ce graphe ; pour H₀ nous n'avons besoin que de son 1-squelette (le graphe lui-même).
Les composantes connexes de VRε sont suivies par union-find. À mesure que ε augmente, nous obtenons une suite emboîtée de graphes
Chaque nouvelle arête soit (a) connecte deux sommets déjà dans la même composante (aucun changement à H₀), soit (b) fusionne deux composantes en une. Dans le cas (b), la composante la plus jeune « meurt » à ε. La persistance formalise cela : chaque composante a une naissance à ε = 0 et une mort au moment de la fusion. Le 0-ième diagramme de persistance est
c'est-à-dire N − 1 barres finies et une barre immortelle (la composante qui finit par tout englober). Le code-barres n'est que cet ensemble dessiné sous forme de segments horizontaux.
Décompte de clusters stables
Les barres longues correspondent à des clusters qui ont résisté à l'absorption sur une longue plage de ε, ce qui signifie que tout seuil raisonnable autour de la barre partitionnerait la population de la même façon. Une heuristique standard pour le « nombre de clusters stables » est
avec c autour de 1,5–2,0 ; le +1 tient compte de la barre immortelle. Des alternatives plus serrées incluent la distance de bottleneck à un code-barres perturbé sous rééchantillonnage par bootstrap, que nous rapportons dans le pipeline de production.
Exemple travaillé
Trois clusters plantés de 8 stratégies chacun, ρ intra-cluster = 0,6 sur T = 250 barres. Avec probabilité 1 à mesure que T croît, les corrélations empiriques au sein d'un cluster se concentrent autour de 0,6 (donc d ≈ √(2·0,4) ≈ 0,89) et les corrélations inter-clusters autour de 0 (d ≈ √2 ≈ 1,41). Code-barres attendu :
- 21 barres courtes mourant près de ε ≈ 0,89 (les 21 fusions intra-cluster).
- 2 barres longues mourant près de ε ≈ 1,41 (les deux fusions inter-clusters).
- 1 barre immortelle.
K* = 1 + 2 = 3, cohérent avec la vérité terrain. La démo ci-dessous reproduit cette expérience.
Demo: H0 persistence barcode
3 planted clusters of 8 strategies each. Pairwise correlation distance d(i,j)=√(2(1−ρ)). Barcode: when each connected component merges into a larger one.
Each horizontal bar is one connected component, born at ε=0 and dying when it merges with another component. Amber bars are persistent, they survive past 1.5× the median merge-distance. Their count + 1 (the immortal component) ≈ the number of stable clusters in the population.
Figures
Pourquoi c'est important pour les stratégies systématiques
Le décompte de clusters est un indicateur de régime sous-estimé. Dans un marché bénin, la population de stratégies se décompose en plusieurs clusters stables de styles orthogonaux, les barres longues sont fréquentes. Dans un régime stressé, les corrélations inter-clusters montent, les corrélations intra-cluster montent davantage, et le code-barres s'effondre à une ou deux barres longues : tout évolue de concert. L'entier K* dérivé du code-barres H₀ télégraphie cet effondrement avant qu'il n'apparaisse dans les statistiques de portefeuille principales.
Opérationnellement, nous exécutons M/03 aux côtés de M/01 (spectre de valeurs propres RMT). Le décompte de valeurs propres de signal MP fournit une borne supérieure sur le nombre de facteurs effectifs ; le décompte de clusters persistants H₀ fournit une borne inférieure sur le nombre de styles effectifs. Les deux devraient se suivre. Lorsqu'ils divergent, généralement parce qu'un seul facteur dirige tout, c'est une alerte.
Reproductibilité
DaruFinance / strategy-tda
Python · implémentation de référence open-source
Invocation minimale
import numpy as np
from strategy_tda import h0_barcode_from_returns
# X: N x T strategy returns matrix
bars = h0_barcode_from_returns(X)
# bars is an array of shape (N-1, 2): [birth, death] for each merge
# H0 is born at 0; long bars indicate stable clusters.
n_robust_clusters = sum(d > 1.5 * np.median(bars[:, 1]) for d in bars[:, 1]) + 1
Références
- [1]Edelsbrunner, H., Letscher, D. & Zomorodian, A. (2002). Topological persistence and simplification. Discrete & Computational Geometry 28, 511–533.
- [2]Carlsson, G. (2009). Topology and data. Bulletin of the AMS 46, 255–308.
- [3]Gidea, M. & Katz, Y. (2018). Topological data analysis of financial time series: landscapes of crashes. Physica A 491, 820–834.
- [4]Mantegna, R. N. (1999). Hierarchical structure in financial markets. European Physical Journal B 11, 193–197.

