Retour à López de Prado

Revue de recherche · construction de portefeuille · étude 13

Construction de portefeuille : HRP, NCO et denoising de covariance face à Markowitz

Sur 44 actifs et 39 marchés de stratégies, la boîte à outils de López de Prado bat de façon fiable le mean-variance brut en out-of-sample, mais le résultat marquant est que la valeur du denoising est entièrement fonction de q = T/N

López de Prado soutient que l'optimisation mean-variance sur une covariance d'échantillon est un piège, la « malédiction de Markowitz », où des actifs plus corrélés donnent des poids optimaux plus instables et plus concentrés, et propose comme remède le denoising/detoning de covariance, le Hierarchical Risk Parity (HRP), la Nested Clustered Optimization (NCO) et la Theory-Implied Correlation (TIC). Cette étude reproduit les quatre méthodes et les compare en walk-forward aux contrôles à covariance brute, à l'inverse-variance et au naïf 1/N, sur de vraies données multimarchés, en posant la seule question qui compte : ces méthodes réduisent-elles réellement la variance out-of-sample réalisée, et survivent-elles à une correction de deflated-Sharpe, mieux que les contrôles ? L'explorateur ci-dessous vous permet de reproduire le mécanisme central, la dépendance de régime q = T/N du denoising, dans le navigateur.

source

Advances in Financial ML, chap. 16

López de Prado (2018) · HRP, NCO & denoising

Code et données

lopez-de-prado-work-review / projects / 13

the claim

Ce que dit López de Prado

  • L'optimisation mean-variance sur une covariance d'échantillon est un piège, la « malédiction de Markowitz » : plus les actifs sont corrélés, plus les poids optimaux deviennent instables et concentrés, et l'inversion de matrice échoue précisément lorsqu'on a le plus besoin de diversification.
  • Ses remèdes évitent ou stabilisent l'inversion : denoising/detoning de covariance via la loi de Marčenko–Pastur, Hierarchical Risk Parity (clustering + bissection récursive, sans inversion), Nested Clustered Optimization et Theory-Implied Correlation. Il soutient que ces méthodes battent le Markowitz brut en out-of-sample.

our result

Ce que nous avons trouvé

  • Sur l'objectif de variance, la boîte à outils fonctionne et la malédiction est réelle : le Markowitz brut est partout le pire allocateur, dernier dans 39/39 marchés de stratégies et avec une vol OOS environ 65 % supérieure à la meilleure méthode de LdP dans l'univers de 44 actifs, avec une concentration dégénérée.
  • Mais sur une base de risque comparable, la marge honnête est modeste : le HRP bat le Markowitz brut d'environ 15 % une fois les jambes à risque égal, et le meilleur deflated Sharpe revient souvent aux références robustes les plus simples (1/N, inverse-variance), et non aux méthodes élaborées.
  • Une nuance nette et pédagogique : la valeur du denoising est entièrement fonction de T/N, sans effet sur une covariance singulière (q<1), elle n'aide qu'une fois q > 1. Aucune des méthodes ne transforme un menu perdant en menu gagnant ; leur rôle est le contrôle du risque, pas l'alpha (DSR ≈ 0 dans l'univers de stratégies net perdant).

Le résultat en trois lignes

Markowitz dernier · 39/39 marchés

La boîte à outils gagne sur la variance, de façon fiable

Le Markowitz mean-variance / min-variance brut est le pire allocateur sur la variance out-of-sample réalisée dans l'ensemble des 39 marchés de stratégies et dans l'univers de 44 actifs, sous tout cadrage. HRP, NCO et inverse-variance réduisent la variance OOS et déconcentrent le portefeuille ; la malédiction de Markowitz est ici réelle et inconditionnelle.

Avantage sur 1/N ≈ 15 %

Mais la marge honnête est modeste

Une fois les jambes à risque égal, le HRP bat le min-variance brut dans 38/39 marchés avec une médiane de seulement ~15 % ; le titre non normalisé de ~50 % est en grande partie un artefact des magnitudes brutes en dollars. Sur une base de risque comparable, le vainqueur OOS honnête est souvent le simple 1/N / inverse-variance, le HRP suivant de près.

Denoising = f(q = T/N)

Le résultat marquant

La valeur du denoising de covariance est entièrement fonction de q = T/N. À N=300 / T=252 (q=0,84), la covariance d'échantillon est singulière, condition number ~1e17, et le denoising de Marčenko–Pastur est quasi sans effet. Divisez le menu par deux à N=150 (q=1,68) et il réduit le condition number d'environ 4× et ne trouve que 7 valeurs propres sur 150 comme signal.

Le résultat marquant, quand le denoising aide-t-il réellement ?

La valeur du denoising de covariance est entièrement fonction de q = T/N

Fig. 1:Le denoising n'aide que lorsque q = T/N > 1. La loi de Marčenko–Pastur est indéfinie pour une covariance d'échantillon singulière (q<1). À N=300 avec une fenêtre in-sample de 252 jours (q=0,84), le denoising bouge à peine le condition number (1,2×) ; divisez le menu par deux à N=150 (q=1,68) et la même méthode le réduit de 4,1× ; dans l'univers d'actifs (q=28), elle le réduit de 9,6×.

C'est le résultat le plus net et le plus pédagogique de l'étude, et celui que la plupart des écrits sur HRP/NCO escamotent. La loi de Marčenko–Pastur qui alimente le denoising de covariance est indéfinie pour une covariance d'échantillon singulière, et vous avez une covariance singulière dès que vous avez plus de séries que de jours in-sample.

Avec N=300 stratégies et une fenêtre de 252 jours, q = 0,84 < 1 : la covariance d'échantillon est de rang déficient avec un condition number de ~1e17, et le denoising MP est quasi sans effet, il conserve les 300 valeurs propres comme « signal ». C'est précisément la motivation de López de Prado pour le HRP : quand on ne peut pas inverser la covariance du tout, les méthodes sans inversion sont les seules à ne pas exploser.

Divisez le menu par deux à N=150 (même fenêtre → q = 1,68) et la covariance bascule vers le bien posé : le denoising réduit désormais le condition number de 4,1× et ne trouve que 7 valeurs propres sur 150 comme signal, aplatissant les 143 autres en bruit. L'enseignement pratique le plus important : un praticien disposant d'environ 300 stratégies et d'un an de données quotidiennes se trouve dans le régime où le denoising ne peut pas aider et où HRP / inverse-variance sont indispensables.

universNq = T/Ncond (brute)cond (denoised)réductionfacteurs de signal
actifs928.08.6e39.0e29.6×1 / 9
stratégies N=3003000.844.3e173.5e171.2×300 / 300
stratégies N=1501501.682.1e35.0e24.1×7 / 150

Condition number médian par pli de la covariance fournie à l'allocateur. q est calculé sur le nombre d'instruments actifs par pli. Le detoning peut regonfler le conditionnement (il retire le vecteur propre de marché, laissant un résidu quasi singulier) : c'est donc une aide au clustering, pas une correction du conditionnement.

Démo, explorateur de la malédiction de Markowitz / denoising

Faites glisser entre les trois régimes walk-forward réels de l'étude et regardez le condition number de la covariance exploser à mesure que q = T/N tend vers 1, et le denoising de Marčenko–Pastur s'effondrer en quasi sans effet précisément là où la covariance d'échantillon devient singulière.

condition_number_deepening.csv
régime, par q = T/Nq = 0.84
q<1, singulièreq≫1, bien posée
covariance d'échantillon
singulière (q<1)
condition number, brute
4.3e17
condition number, denoised
3.5e17
réduction du denoising
1.2×
valeurs propres gardées comme signal
300 / 300
CONDITION NUMBER DE LA COVARIANCE (log), 300 stratégies1e181e151e121e91e61e34.3e17cov brute3.5e17denoised MPsingulière / non inversible

q = fenêtre in-sample de 252 jours ÷ N. Les barres sont le condition number médian par pli de la covariance fournie à l'allocateur.

À q = 0.84 < 1 il y a plus de stratégies (300) que de jours in-sample (252) : la covariance d'échantillon est de rang déficient avec un condition number proche de 4.3e17. La loi de Marčenko–Pastur est indéfinie ici, donc le denoising est quasi sans effet (seulement 1.2×, conservant l'ensemble des 300 valeurs propres comme « signal »). On ne peut pas inverser cette matrice, seules les méthodes sans inversion (HRP, inverse-variance) survivent.

Et le bénéfice : vol OOS annualisée réalisée par allocateur sur l'univers de 44 actifs (jambes à risque égal). Plus c'est bas, mieux c'est. Le Markowitz mean-variance brut est le pire ; HRP / NCO / inverse-variance en tête.

portfolio_assets
nco
0.068
meilleur
hrp
0.071
min_var_raw
0.073
tic_nco
0.074
hrp_denoise
0.084
1/N
0.091
inv_var
0.091
mean_var_raw
0.100
nco_denoise_detone
0.111
pire
naïf (1/N, inv-var)Markowitz brutHRPNCO / TIC

La malédiction de Markowitz, mesurée

Le Markowitz brut est dernier dans 39/39 marchés de stratégies, sous tout cadrage

C'est le cas d'usage visé par López de Prado, répartir un budget de risque entre de nombreuses stratégies décorrélées, et la démonstration la plus nette de la malédiction. Le Markowitz mean-variance / min-variance brut est le pire allocateur sur la variance OOS dans les 39 marchés, dans les deux régimes de q et les deux conventions d'unité. La malédiction est ici réelle et inconditionnelle.

Mais la marge honnête compte. En unités brutes de PnL en dollars, le HRP bat le Markowitz brut d'une médiane d'environ 50 %, gonflée, car les poids du Markowitz à covariance singulière explosent sur quelques jambes à forte vol en dollars. Sur la base équitable, vol-targeted (chaque jambe à 10 % de risque annualisé), le HRP bat le min-variance brut dans 38/39 marchés avec une médiane de seulement ~15 %. Un avantage réel mais peu spectaculaire.

Deux nuances que le graphique rend évidentes : (i) sur une base de risque comparable, le vainqueur honnête est la méthode robuste la plus simple, le simple 1/N / inverse-variance, le HRP juste derrière ; les méthodes élaborées (NCO, detoning) sont classées pires que le 1/N dans ce panel net-bruité, une mise en garde contre la sur-ingénierie. (ii) Sous vol-targeting, l'inverse-variance se réduit exactement au 1/N, la vérification de cohérence attendue, que l'exécution reproduit.

Fig. 2:Univers de stratégies, vol-targeted (jambes à risque égal), rang moyen de vol OOS sur 39 marchés (1 = meilleur). Le Markowitz mean-variance et min-variance brut est dernier dans le régime singulier (q=0,84, N=300) comme dans le régime bien posé (q=1,68, N=150). Le vainqueur honnête sur une base de risque comparable est le simple 1/N / inverse-variance, le HRP suivant de près.

L'univers de 44 actifs

Même verdict sur de vrais rendements cross-asset

Fig. 3:Univers d'actifs (44 instruments, vol-targeted 10 %/jambe), volatilité OOS annualisée réalisée, plus c'est bas, mieux c'est. HRP, NCO et TIC-NCO se regroupent du côté basse variance ; le Markowitz mean-variance brut est le plus haut. La barre detone-NCO rappelle que le detoning échange du conditionnement contre de la qualité de clustering.

Sur les rendements quotidiens clôture-à-clôture de 44 instruments réels, perps crypto, ETF actions américaines et majors FX, le tableau tient. En unités de rendement brut (table), TIC-NCO et HRP livrent la plus basse vol OOS (0,146, 0,159) ; le mean-variance brut est le pire à 0,418, une vol OOS environ 65 % supérieure à la meilleure méthode de LdP, avec un N-effectif dégénéré de 2,6 (il mise le portefeuille sur une poignée de noms). Voilà la malédiction, mesurée.

Sur l'axe ajusté au risque, le vainqueur honnête est la méthode robuste la plus simple : le meilleur Deflated Sharpe revient à l' inverse-variance (0,64) et au NCO denoise-detone (0,75), pas au Markowitz fondé sur l'inversion, et pas toujours au HRP. L'avantage du HRP, c'est la réduction du risque et la déconcentration, pas l'alpha.

allocateurvol OOSSharpe OOSDSRN-effcondition number
tic_nco0.1460.100.343.81.5e4
hrp0.1590.150.434.91.9e16
hrp_denoise0.1620.160.444.83.6e4
inv_var0.1670.270.646.81.9e16
nco_denoise_detone0.1800.340.756.31.7e16
nco0.181−0.040.152.51.9e16
1/N0.2820.090.3218.21.9e16
min_var_raw0.292−0.030.172.11.9e16
mean_var_raw0.4180.160.442.61.9e16

Du meilleur au pire par vol OOS, en unités de rendement brut. Le condition number est la valeur médiane par pli de la covariance fournie à l'allocateur, notez que le HRP (1,9e16) ignore entièrement la covariance brute singulière, tandis que les méthodes TIC et denoised imposent une structure bien conditionnée (1,5e4, 3,6e4).

L'avantage du HRP passe-t-il à l'échelle ?

L'avantage du HRP sur 1/N croît avec l'ampleur de l'univers

Fig. 5:Variance annualisée OOS du HRP (et du NCO) divisée par l'équipondéré (1/N), par taille d'univers N, sur un panel de perp-crypto de 690 noms avec traitement du biais de survie (24 plis walk-forward). Sous la ligne pointillée de parité signifie que le HRP a délivré une variance out-of-sample plus faible que 1/N, et l'écart s'élargit avec l'ampleur, de ~9% de réduction de variance à N=25 à environ la moitié dès N=100+.

Le résultat sur 39/44 actifs ci-dessus, le HRP battant à peine 1/N en variance, se révèle être un artefact de petit univers. En réexécutant le même walk-forward sur un panel de perp-crypto de 690 noms avec traitement du biais de survie et en balayant la taille d'univers N, on voit que la diversification hiérarchique du HRP a besoin d'ampleur pour s'exprimer : le ratio de variance OOS face à 1/N chute de ~0,87 à N=25 (≈9% de réduction de variance) à ~0,48 à N=100 et au-delà (≈50% de réduction).

La réserve honnête : à grand N, le gain de variance n'est pas un gain de Sharpe. Le HRP se concentre à mesure que l'arbre s'approfondit, l'ampleur effective s'effondre (eff-N ≈ 4–5 à N=690 malgré des centaines de noms) et le turnover grimpe de 0,14 à 0,49. Un déploiement tenant compte des frais ne conserve donc qu'une partie de cet avantage de variance face aux coûts ; c'est une histoire de réduction du risque, pas d'alpha gratuit.

Nvar HRPvar 1/Nvar HRP/1NSharpe HRPSharpe 1/N
250.5180.5970.870.800.64
500.5940.6530.910.830.60
1000.3370.6760.500.870.58
2000.3070.6850.450.280.53
6900.3210.6690.480.190.52

Variance annualisée OOS et Sharpe par taille d'univers N (24 plis walk-forward, panel de perp-crypto de 690 noms). var HRP/1N < 1 = HRP à variance plus faible que l'équipondéré ; le ratio chute à mesure que N croît. Notez que les colonnes de Sharpe se croisent : 1/N dépasse le HRP à grand N à mesure que le HRP se concentre.

L'axe ajusté au risque

Une variance plus basse ne signifie pas plus de rendement. Deflater le Sharpe OOS réalisé de chaque allocateur face au menu de neuf allocateurs sépare les méthodes robustes des fragiles.

Fig. 4:Vue ajustée au risque : Deflated Sharpe Ratio vs Sharpe OOS réalisé, univers d'actifs (DSR deflaté face au menu de neuf allocateurs). NCO denoise-detone et inverse-variance en tête ; NCO brut et min-variance brut à la traîne. Les méthodes robustes et peu paramétrées sont celles qui survivent à la deflation ; les méthodes brutes lourdes en inversion sont celles que les données punissent.

L'affirmation spécifique la plus forte de López de Prado, selon laquelle le pipeline complet denoise → detone → NCO domine, n'est ici que partiellement étayée. Le NCO a besoin d'une entrée denoised et bien conditionnée pour bien se comporter : le NCO brut affiche un Sharpe OOS négatif et le pire DSR parmi les variantes de NCO. Le detoning échange du conditionnement contre de la qualité de clustering. Les méthodes robustes et peu paramétrées (HRP, inverse-variance, NCO denoised) sont celles qui survivent en out of sample.

Le négatif honnête

Les échantillons de stratégies décorrélées sont net perdants (médiane de Sharpe OOS ≈ −4,9 à N=300, vol-targeted). L'échantillonneur à décorrélation gloutonne tire délibérément des noms non corrélés d'un corpus dominé par des perdants, et aucun allocateur ne peut fabriquer du rendement à partir d'un menu perdant, le Deflated Sharpe est ≈ 0 partout dans l'univers de stratégies. Les méthodes de portefeuille contrôlent le risque, pas le signe. Nous le rapportons plutôt que de le cacher derrière un cherry-pick à rendement positif.

Verdict

HRP / NCO / denoising battent le Markowitz brut pour le contrôle de la variance out-of-sample, de façon reproductible (Markowitz dernier dans 39/39 marchés de stratégies et pire dans l'univers de 44 actifs). Mais sur une base de risque comparable, l'avantage sur les références robustes les plus simples (1/N, inverse-variance) est modeste (~15 % dans l'univers de stratégies), ces références sont souvent le vainqueur OOS honnête, et aucune des méthodes ne transforme un menu perdant en menu gagnant. Une confirmation fidèle et sans fard de l'esprit du travail, l'inversion de matrice sur une covariance d'échantillon bruitée ou singulière est l'ennemie ; la structure et le shrinkage aident, sans survendre l'ampleur de l'avantage du HRP.

Méthode

  • Données réelles uniquement, multimarché : rendements quotidiens clôture-à-clôture de 44 instruments (perps crypto, ETF actions américaines, majors FX), plus jusqu'à 300 séries de PnL quotidien par stratégie, décorrélées de façon gloutonne, sur 39 marchés, le cas d'usage de López de Prado.
  • Walk-forward, causal : les poids sont estimés sur une fenêtre in-sample de 252 jours, maintenus sur la fenêtre out-of-sample suivante de 63 jours, puis roulés de 63 jours. Les poids ne sont jamais évalués sur les données qui les ont construits.
  • Neuf allocateurs comparés : 1/N, inverse-variance, Markowitz min-variance et mean-variance bruts, HRP, HRP-sur-denoised, NCO, NCO denoise-detone et TIC-NCO.
  • La métrique principale est la volatilité annualisée OOS réalisée (plus c'est bas, mieux c'est), avec le Deflated Sharpe Ratio du flux réalisé de chaque allocateur deflaté face au menu de neuf allocateurs (False Strategy Theorem).
  • Diagnostics : concentration des poids (N-effectif, HHI) et condition number de la covariance effectivement fournie à l'allocateur, la mesure directe de la malédiction. Un scaleur de vol par jambe, causal et purement in-sample, place chaque jambe à un risque annualisé commun de 10 % pour une comparaison inter-méthodes équitable.
  • Le kernel HRP en Numba est vérifié comme identique au bit près à la référence numpy (max |Δw| ≤ 5,6e-17) sur N ∈ {8, 17, 40, 120} à chaque exécution.

Notes et limites

Deux conventions d'unité sont rapportées car elles mesurent des choses différentes : le classement de vol OOS est invariant d'échelle et robuste, mais l'ampleur de l'avantage du HRP dépend de la façon dont les jambes sont mises à l'échelle, le chiffre non normalisé de ~50 % est en partie un artefact des magnitudes brutes en dollars, et le ~15 % vol-targeted est la comparaison équitable. Le corpus de stratégies est net perdant, de sorte que l'histoire du Sharpe est atténuée par construction, et les méthodes elles-mêmes sont celles de López de Prado, non inédites. La contribution est l'audit empirique, multimarché et walk-forward, en particulier la dépendance de régime q = T/N du denoising.

Reproductibilité

Le moteur (allocateurs, denoise/detone MP, HRP/NCO/TIC, walk-forward, DSR, le kernel HRP en Numba testé pour l'identité au bit près), les figures et les tables sont rassemblés dans le projet 13 de lopez-de-prado-work-review. L'explorateur de cette page est autonome : les régimes de condition number et les chiffres de vol OOS par allocateur sont encodés à partir des tables de l'étude, de sorte que le mécanisme qu'il illustre se reproduit exactement à chaque chargement.

Citer

Références

Les sources primaires de l'appareil examiné ici :

  • López de Prado, M. (2016). Building Diversified Portfolios that Outperform Out of Sample. Journal of Portfolio Management, 42(4). (Hierarchical Risk Parity.)
  • López de Prado, M. (2018). Advances in Financial Machine Learning. Wiley. (Ch. 16, HRP.)
  • López de Prado, M. (2020). Machine Learning for Asset Managers. Cambridge University Press. (Denoising de covariance, detoning et Nested Clustered Optimization.)
  • López de Prado, M., & Lewis, M. J. (2019). Detection of False Investment Strategies Using Unsupervised Learning Methods, and the Theory-Implied Correlation matrix. Quantitative Finance.
  • Bailey, D. H., & López de Prado, M. (2014). The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality. Journal of Portfolio Management, 40(5).

Voir aussi

L'étude complémentaire sur la discipline de sélection et le Deflated Sharpe Ratio se trouve à Backtest Overfitting & the Deflated Sharpe Ratio, et l'ensemble plus large des travaux est à Research.