Lab

M/08 · Construction robuste de portefeuille

Saturation d'univers des portefeuilles à variance minimale

Comment la volatilité hors échantillon, le MaxDD et la CVaR-95 d'un portefeuille à variance minimale évoluent avec la taille de l'univers de stratégies N, entre les estimateurs Ledoit–Wolf, Huber-robuste et covariance empirique.

Les mathématiques

Étant donné une matrice N × T de rendements de stratégies R (chaque colonne une barre, chaque ligne une stratégie) sur une fenêtre d'entraînement, le portefeuille à variance minimale avec investissement total est

À grand N, le conditionnement de Σ̂ domine le comportement du portefeuille sur des données non vues : les plus petites valeurs propres de la covariance empirique sont biaisées vers le bas (distorsion de Marchenko–Pastur à q = N/T), donc Σ̂⁻¹ amplifie les directions correspondantes et le w* résultant poursuit le bruit. Trois remèdes sont comparés ici.

Shrinkage Ledoit–Wolf

F est une cible à faible nombre de paramètres (corrélation constante ou identité scalaire) ; la forme close de Ledoit–Wolf 2004 fournit un estimateur consistant de α* à partir des données elles-mêmes.

M-estimateur robuste de style Huber

avec ψ la fonction d'influence bornée de Huber. L'estimateur est itéré jusqu'à convergence ; sur des rendements approximativement gaussiens centrés, il coïncide numériquement avec la covariance empirique, ce qui explique pourquoi les courbes LW et Huber ci-dessous sont visuellement indiscernables.

Saturation

Sous indépendance, la variance hors échantillon du portefeuille évolue en O(N⁻¹). Avec une structure de facteurs corrélée, le taux est plus lent et un nombre effectif de directions indépendantes plafonne le gain. Le point de saturation empirique N* est la taille d'univers à laquelle ajouter des stratégies cesse de déplacer matériellement la métrique hors échantillon.

Configuration empirique

Nous menons une analyse en fenêtre glissante profonde sur 10 paires crypto USDT en résolution de 30 minutes. Le plus grand univers est AVAX avec N = 49 068 stratégies candidates sur T_train = 1 240 barres (q = N/T ≈ 39,6, bien au-dessus du régime de Marchenko–Pastur). Pour chaque ancre N ∈ {25, 100, 500, 2 000} nous échantillonnons N stratégies, ajustons chaque estimateur sur la fenêtre d'entraînement, construisons w*, et évaluons vol_oos, MaxDD_oos et CVaR-95_oos sur la fenêtre de holdout.

Concrètement, sur AVAX (LW) la volatilité hors échantillon chute de σ ≈ 149,5 à N = 25 à σ ≈ 116,7 à N = 100, σ ≈ 84,5 à N = 500 et σ ≈ 70,4 à N = 2 000, une réduction de 53 % dont deux tiers capturés par N = 500. La CVaR-95 suit la même forme, chutant de −18,8 à −7,1. Sur BTC (LW) la courbe est encore plus raide : σ passe de 87,0 (N = 25) à 25,6 (N = 2 000).

Loading saturation curves…

Comparaison des méthodes

À petit N, les trois estimateurs diffèrent visiblement : la covariance empirique a une volatilité hors échantillon plus basse (p. ex. AVAX N = 500 : σ_sample ≈ 73,0 vs σ_LW ≈ 84,5), parce que le rang plein étant encore atteignable, l'estimation empirique non biaisée bat la version rétrécie. À mesure que N croît, q = N/T franchit le seuil de conditionnement et l' inverse empirique devient instable ; LW et Huber prennent le dessus sur chaque actif pour N ≳ 5 000. Le MaxDD est plus idiosyncratique : l'empirique gagne parfois en MaxDD même à grand N (AVAX N = 2 000 : MaxDD_sample ≈ −222 vs MaxDD_LW ≈ −311), ce que nous attribuons au portefeuille empirique se concentrant sur quelques directions propres bien conditionnées durant la fenêtre de test.

Fig. 1:Volatilité hors échantillon du portefeuille vs N pour les trois estimateurs. Le coude autour de N ≈ 500–1 000 est cohérent entre actifs ; doubler l'univers au-delà de N = 5 000 produit des améliorations infra-pourcentuelles en vol_oos.
Fig. 2:Saturation de CVaR-95 hors échantillon. Le même plateau N* ≈ 500 apparaît : la réduction du risque de queue suit la réduction de vol une fois que le portefeuille a assez d'ampleur pour diversifier.
Fig. 3:Comparaison des méthodes. LW et Huber se superposent presque exactement sur tout N ; l'empirique diverge à petit N (vol plus basse) et reste marginalement meilleur en MaxDD sur un sous-ensemble d'actifs.
Fig. 4:Courbes de saturation superposées pour les 10 partitions WFO profondes du corpus de 30 actifs. Le coude N* est spécifique à l'actif (BTC sature plus tôt, AVAX/ETH plus tard) mais la forme qualitative est universelle sur toute autre partition que la firme a examinée.

Pourquoi cela compte

L'enseignement pratique est de budgétiser votre effort de minage de stratégies face aux rendements décroissants. Au-delà du N* d'un actif, des stratégies supplémentaires ajoutent un coût opérationnel sans acheter de réduction de risque hors échantillon ; en deçà, le portefeuille est inefficient en volatilité. Les courbes exportées permettent à un desk de choisir le plus petit univers compatible avec sa cible de risque, et la convergence LW/Huber signifie que l'estimateur de shrinkage peu coûteux suffit, le lourd pipeline robuste justifie rarement son budget de calcul sur ces données.

Reproductibilité

DaruFinance / strategy-robust-portfolio

Python · implémentation de référence open-source

Invocation minimale

import json
from strategy_robust_portfolio import build_min_variance, sweep_universe

# returns_train: T x N strategy returns matrix (in-sample)
# returns_test:  T' x N strategy returns matrix (out-of-sample)
weights = build_min_variance(
    returns_train,
    method="lw",        # one of {"lw", "robust", "sample"}
    rho=1e-3,           # correlation regulariser added to the diagonal
)

# Saturation sweep over universe size N
curve = sweep_universe(
    returns_train, returns_test,
    n_grid=[25, 100, 500, 2000, 10000, 49068],
    methods=["lw", "robust", "sample"],
    seed=0,
)
print(json.dumps(curve.summary(), indent=2))

Références

  1. [1]Ledoit, O. & Wolf, M. (2004). A well-conditioned estimator for large-dimensional covariance matrices. Journal of Multivariate Analysis 88(2), 365–411.
  2. [2]Maronna, R. A. (1976). Robust M-estimators of multivariate location and scatter. The Annals of Statistics 4(1), 51–67.
  3. [3]Rockafellar, R. T. & Uryasev, S. (2000). Optimization of conditional value-at-risk. Journal of Risk 2(3), 21–41.
  4. [4]Bun, J., Bouchaud, J.-P. & Potters, M. (2017). Cleaning large correlation matrices: tools from random matrix theory. Physics Reports 666, 1–109.