M/05 · Variété des stratégies
Géométrie PCA + UMAP de la population de stratégies
Plonger 100 000 stratégies en fenêtre glissante d'un espace métrique 90-D vers 2-D, puis se demander si la robustesse est une région contiguë ou une constellation d'îlots isolés.
Les mathématiques
Chaque stratégie est un point x ∈ ℝᵈ dans un espace de features de haute dimension dont les composantes sont (Sharpe, PF, MaxDD) par fenêtre sur les 6 dernières fenêtres glissantes, évaluées sous la suite de perturbations propriétaire de Daru Finance. Avec N = 100 000 stratégies, nous avons une matrice N × d X. Nous demandons : dans cet espace, les stratégies robustes se regroupent-elles en cluster, et si oui le cluster forme-t-il une unique région connexe ou de nombreux îlots isolés ?
Projection en composantes principales
Centrez les colonnes de X et prenez la décomposition en valeurs singulières :
est la projection linéaire sur les deux directions principales dominantes. Sur le corpus de production, PC1 explique 16,6 % de la variance et PC2 explique 10,0 %, c'est-à-dire que le plongement est intrinsèquement de basse dimension ; deux coordonnées capturent déjà environ un quart du signal sur 90.
UMAP comme lentille non-linéaire
Le PCA préserve la géométrie globale mais ignore les voisinages. UMAP (McInnes & Healy 2018) ajuste un ensemble simplicial flou μ dans l'espace d'entrée (chaque arête k-NN pondérée par une métrique riemannienne locale) et un ensemble correspondant ν en 2-D, puis minimise leur entropie croisée
Sous des hypothèses de continuité sur une variété riemannienne uniforme, ceci préserve la topologie locale tout en déchirant la géométrie globale. Le résultat est une disposition qui fait ressortir les voisinages serrés que le PCA aplatit.
Connectivité et modularité
Construisez le graphe k-NN (k = 15) sur le plongement 2-D. Soit A sa matrice d'adjacence, k_i le degré du nœud i, m le nombre d'arêtes, et c_i un label dans {robuste, fragile}. La modularité de Newman
mesure à quel point la densité d'arêtes à l'intérieur de chaque label dépasse le modèle nul de configuration. Nous utilisons un proxy peu coûteux Q̃ = fraction d'arêtes dont les extrémités partagent un label. La ligne de base aléatoire est r̄² + (1−r̄)² ; avec r̄ = 0,0687 cela donne 0,872. La valeur empirique sur le plongement de production est Q̃ ≈ 0,903, un gain réel mais faible par rapport au hasard, cohérent avec un clustering faible.
Exemple détaillé
- 10 actifs au WFO le plus profond, sous-échantillonnage stratifié de 100 000 stratégies, feature de métriques sur 6 fenêtres.
- Taux de robustesse
r̄= 6,87 % → 6 869 robustes vs 93 131 fragiles. - Proxy de modularité UMAP 0,903 (vs ligne de base 0,872) ; proxy PCA 0,911.
- Nombre de composantes connexes dans le sous-graphe k-NN robustes-uniquement : 1 229 pour UMAP et 938 pour PCA. Moyenne ≈ 5,6 stratégies robustes par îlot.
La démo interactive ci-dessous recalcule la statistique de connectivité chaque fois que vous déplacez le curseur τ, descendez-le et l'ensemble robuste fusionne ; montez-le et il vole en éclats.
Demo: synthetic strategy manifold
N points sampled from one diffuse fragile cloud + K tight robust islands. Sweep the robustness threshold τ; watch how the robust subset partitions.
Amber: r ≥ τ (robust). Grey: r < τ (fragile). Connectivity is computed on an 8-NN graph over the amber subset using union-find. Lift over baseline = +0.027. With the production corpus (N=100,000, real metrics) the analogous numbers are 6,869 robust points, ~1,229 components, Q̃ ≈ 0.903.
Figures
Pourquoi cela compte pour les stratégies systématiques
De nombreuses procédures de recherche sur l'espace des stratégies, montée de gradient sur un score lissé, croisement évolutionnaire, optimisation bayésienne, supposent implicitement que la région robuste est localement convexe : que de petites perturbations d'une stratégie robuste restent robustes. L'analyse de connectivité contredit directement cette hypothèse. La population robuste n'est pas une unique variété connexe à toute échelle que nous avons vérifiée ; c'est une constellation d'îlots de ~5–8 stratégies séparés par des brèches fragiles.
Opérationnellement, deux conséquences. Premièrement, l'edge ne peut pas être atteint de manière fiable en perturbant une stratégie connue comme bonne, les voisins d'une stratégie robuste sont fragiles avec une forte probabilité. Deuxièmement, le sous-ensemble robuste doit être énuméré combinatoirement sur la grille indicateur/transformation/confluence, et non récupéré par recherche locale. Le pipeline que les modèles en aval consomment respecte déjà ceci : les candidats sont générés combinatoirement puis seulement filtrés, jamais optimisés vers une cible.
Reproductibilité
DaruFinance / strategy-manifold
Python · implémentation de référence open-source
Invocation minimale
import numpy as np
from sklearn.decomposition import PCA
from sklearn.neighbors import kneighbors_graph
import umap
# X: N x d feature matrix (rows = strategies, cols = per-window metrics).
# r: length-N {0,1} vector, 1 = passed the proprietary robustness funnel.
N, d = X.shape
# 1) Linear baseline.
pca = PCA(n_components=2).fit(X)
T_pca = pca.transform(X)
print("PC1 var:", pca.explained_variance_ratio_[0])
# 2) Non-linear embedding.
emb = umap.UMAP(n_neighbors=15, min_dist=0.1, random_state=0).fit_transform(X)
# 3) Connectivity of the robust subset under the 15-NN graph.
A = kneighbors_graph(emb, n_neighbors=15, mode="connectivity")
A_robust = A[r == 1][:, r == 1]
from scipy.sparse.csgraph import connected_components
n_components, _ = connected_components(A_robust, directed=False)
print("robust components:", n_components)
Références
- [1]Pearson, K. (1901). On Lines and Planes of Closest Fit to Systems of Points in Space. Philosophical Magazine 2(11), 559–572.
- [2]McInnes, L., Healy, J., & Melville, J. (2018). UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv:1802.03426.
- [3]Newman, M. E. J. (2006). Modularity and community structure in networks. PNAS 103(23), 8577–8582.

