Revisão de pesquisa · construção de portfólio · estudo 13
Construção de Portfólio: HRP, NCO e Denoising de Covariância vs Markowitz
Em 44 ativos e 39 mercados de estratégias, o conjunto de ferramentas de López de Prado supera de forma confiável o mean-variance bruto out-of-sample, mas o achado de destaque é que o valor do denoising é inteiramente uma função de q = T/N
López de Prado argumenta que a otimização mean-variance sobre uma covariância amostral é uma armadilha, a “maldição de Markowitz”, em que ativos mais correlacionados produzem pesos ótimos mais instáveis e mais concentrados, e propõe como solução o denoising/detoning de covariância, o Hierarchical Risk Parity (HRP), a Nested Clustered Optimization (NCO) e a Theory-Implied Correlation (TIC). Este estudo reproduz os quatro métodos e os compara em walk-forward contra os controles de covariância bruta, o inverse-variance e o ingênuo 1/N, sobre dados reais multimercado, fazendo a única pergunta que importa: os métodos de fato reduzem a variância out-of-sample realizada, e sobrevivem a uma correção de deflated-Sharpe, mais do que os controles? O explorador abaixo permite reproduzir o mecanismo central, a dependência de regime q = T/N do denoising, no próprio navegador.
Advances in Financial ML, Cap. 16
López de Prado (2018) · HRP, NCO & denoising
Código e dados
lopez-de-prado-work-review / projects / 13
the claim
O que diz López de Prado
- A otimização mean-variance sobre uma covariância amostral é uma armadilha, a "maldição de Markowitz": quanto mais correlacionados os ativos, mais instáveis e concentrados ficam os pesos ótimos, e a inversão de matriz falha exatamente quando você mais precisa de diversificação.
- Suas soluções evitam ou estabilizam a inversão: denoising/detoning de covariância via a lei de Marčenko–Pastur, Hierarchical Risk Parity (clusterização + bisseção recursiva, sem inversão), Nested Clustered Optimization e Theory-Implied Correlation. Ele argumenta que esses métodos superam o Markowitz bruto out-of-sample.
our result
O que encontramos
- No objetivo de variância o conjunto de ferramentas funciona e a maldição é real: o Markowitz bruto é o pior alocador em toda parte, último em 39/39 mercados de estratégias e com vol OOS ~65% maior que o melhor método de LdP no universo de 44 ativos, com concentração degenerada.
- Mas em base de risco comparável a margem honesta é modesta: o HRP supera o Markowitz bruto em ~15% quando as pernas têm risco igual, e o melhor deflated Sharpe muitas vezes pertence aos baselines robustos mais simples (1/N, inverse-variance), não aos métodos elaborados.
- Uma nuance limpa e didática: o valor do denoising é inteiramente uma função de T/N, é inócuo sobre uma covariância singular (q<1) e só ajuda quando q > 1. Nenhum dos métodos transforma um cardápio perdedor em vencedor; o trabalho deles é controle de risco, não alpha (DSR ≈ 0 no universo de estratégias líquido-perdedor).
O resultado em três linhas
Markowitz em último · 39/39 mercados
O conjunto de ferramentas vence na variância, de forma confiável
O Markowitz mean-variance / min-variance bruto é o pior alocador na variância out-of-sample realizada em todos os 39 mercados de estratégias e no universo de 44 ativos, em qualquer enquadramento. HRP, NCO e inverse-variance reduzem a variância OOS e desconcentram a carteira; a maldição de Markowitz é real e incondicional aqui.
Vantagem sobre 1/N ≈ 15%
Mas a margem honesta é modesta
Quando as pernas entram com risco igual, o HRP supera o min-variance bruto em 38/39 mercados por uma mediana de apenas ~15%; o título não normalizado de ~50% é, em grande parte, um artefato das magnitudes brutas em dólares. Em base de risco comparável, o vencedor OOS honesto é frequentemente o simples 1/N / inverse-variance, com o HRP em segundo bem próximo.
Denoising = f(q = T/N)
O resultado de destaque
O valor do denoising de covariância é inteiramente uma função de q = T/N. Em N=300 / T=252 (q=0,84) a covariância amostral é singular, condition number ~1e17, e o denoising de Marčenko–Pastur é praticamente inócuo. Reduza o cardápio pela metade para N=150 (q=1,68) e ele corta o condition number ~4× e descobre que apenas 7 de 150 autovalores são sinal.
O achado de destaque, quando o denoising realmente ajuda?
O valor do denoising de covariância é inteiramente uma função de q = T/N
Este é o resultado mais limpo e mais didático do estudo, e o que a maioria dos textos sobre HRP/NCO ignora. A lei de Marčenko–Pastur que sustenta o denoising de covariância é indefinida para uma covariância amostral singular, e você tem uma covariância singular sempre que tem mais séries do que dias in-sample.
Com N=300 estratégias e uma janela de 252 dias, q = 0,84 < 1: a covariância amostral é deficiente de posto com um condition number de ~1e17, e o denoising MP é praticamente inócuo, mantém todos os 300 autovalores como “sinal”. Essa é exatamente a motivação de López de Prado para o HRP: quando você não consegue inverter a covariância de forma alguma, os métodos sem inversão são os únicos que não explodem.
Reduza o cardápio pela metade para N=150 (mesma janela → q = 1,68) e a covariância passa a ser bem-posta: o denoising agora corta o condition number 4,1× e descobre que apenas 7 de 150 autovalores são sinal, achatando os outros 143 como ruído. A conclusão prática mais importante: um praticante com ~300 estratégias e um ano de dados diários está no regime em que o denoising não pode ajudar e o HRP / inverse-variance são obrigatórios.
| universo | N | q = T/N | cond (bruta) | cond (denoised) | redução | fatores de sinal |
|---|---|---|---|---|---|---|
| ativos | 9 | 28.0 | 8.6e3 | 9.0e2 | 9.6× | 1 / 9 |
| estratégias N=300 | 300 | 0.84 | 4.3e17 | 3.5e17 | 1.2× | 300 / 300 |
| estratégias N=150 | 150 | 1.68 | 2.1e3 | 5.0e2 | 4.1× | 7 / 150 |
Condition number mediano por janela da covariância fornecida ao alocador. q é calculado sobre a contagem de instrumentos ativos por janela. O detoning pode reinflar o condicionamento (remove o autovetor de mercado, deixando um resíduo quase singular), portanto é um auxílio à clusterização, não uma correção de condicionamento.
Demo, explorador da maldição de Markowitz / denoising
Deslize pelos três regimes walk-forward reais do estudo e veja o condition number da covariância explodir à medida que q = T/N cai em direção a 1, e o denoising de Marčenko–Pastur desabar para algo praticamente inócuo exatamente onde a covariância amostral se torna singular.
q = janela in-sample de 252 dias ÷ N. As barras são o condition number mediano por janela da covariância fornecida ao alocador.
Em q = 0.84 < 1 há mais estratégias (300) do que dias in-sample (252): a covariância amostral é deficiente de posto com um condition number próximo de 4.3e17. A lei de Marčenko–Pastur é indefinida aqui, então o denoising é praticamente inócuo (apenas 1.2×, mantendo todos os 300 autovalores como "sinal"). Você não consegue inverter essa matriz, só os métodos sem inversão (HRP, inverse-variance) sobrevivem.
E o resultado prático: vol OOS anualizada realizada por alocador no universo de 44 ativos (pernas de risco igual). Quanto menor, melhor. O Markowitz mean-variance bruto é o pior; HRP / NCO / inverse-variance lideram.
portfolio_assetsA maldição de Markowitz, medida
O Markowitz bruto fica em último em 39/39 mercados de estratégias, em qualquer enquadramento
Este é o caso de uso pretendido por López de Prado, alocar um orçamento de risco entre muitas estratégias descorrelacionadas, e a demonstração mais limpa da maldição. O Markowitz mean-variance / min-variance bruto é o pior alocador na variância OOS em todos os 39 mercados, em ambos os regimes de q e em ambas as convenções de unidade. A maldição é real e incondicional aqui.
Mas a margem honesta importa. Em unidades brutas de PnL em dólares o HRP supera o Markowitz bruto por uma mediana de ~50%, inflada, porque os pesos do Markowitz de covariância singular explodem em algumas pernas de alta vol em dólares. Na base justa, com alvo de vol (cada perna a 10% de risco anualizado), o HRP supera o min-variance bruto em 38/39 mercados por uma mediana de apenas ~15%. Uma vantagem real, mas pouco espetacular.
Duas nuances que o gráfico deixa claras: (i) em base de risco comparável o vencedor honesto é o método robusto mais simples, o simples 1/N / inverse-variance, com o HRP logo atrás; os métodos elaborados (NCO, detoning) ficam piores que o 1/N neste painel líquido-ruidoso, um alerta contra o excesso de engenharia. (ii) Sob alvo de vol o inverse-variance se reduz exatamente ao 1/N, a verificação de consistência esperada, que a execução reproduz.
O universo de 44 ativos
O mesmo veredito em retornos reais entre ativos
Sobre retornos diários fechamento-a-fechamento de 44 instrumentos reais, perps de cripto, ETFs de ações dos EUA e majors de FX, o quadro se sustenta. Em unidades de retorno bruto (tabela) o TIC-NCO e o HRP entregam a menor vol OOS (0,146, 0,159); o mean-variance bruto é o pior, em 0,418, vol OOS ~65% maior que o melhor método de LdP, com um efetivo-N degenerado de 2,6 (aposta a carteira em um punhado de nomes). Essa é a maldição, medida.
No eixo ajustado ao risco o vencedor honesto é o método robusto mais simples: o melhor Deflated Sharpe pertence ao inverse-variance (0,64) e ao NCO denoise-detone (0,75), não ao Markowitz baseado em inversão, e nem sempre ao HRP. A vantagem do HRP é redução de risco e desconcentração, não alpha.
| alocador | vol OOS | Sharpe OOS | DSR | efetivo-N | condition number |
|---|---|---|---|---|---|
| tic_nco | 0.146 | 0.10 | 0.34 | 3.8 | 1.5e4 |
| hrp | 0.159 | 0.15 | 0.43 | 4.9 | 1.9e16 |
| hrp_denoise | 0.162 | 0.16 | 0.44 | 4.8 | 3.6e4 |
| inv_var | 0.167 | 0.27 | 0.64 | 6.8 | 1.9e16 |
| nco_denoise_detone | 0.180 | 0.34 | 0.75 | 6.3 | 1.7e16 |
| nco | 0.181 | −0.04 | 0.15 | 2.5 | 1.9e16 |
| 1/N | 0.282 | 0.09 | 0.32 | 18.2 | 1.9e16 |
| min_var_raw | 0.292 | −0.03 | 0.17 | 2.1 | 1.9e16 |
| mean_var_raw | 0.418 | 0.16 | 0.44 | 2.6 | 1.9e16 |
Do melhor → pior por vol OOS, em unidades de retorno bruto. O condition number é o valor mediano por janela da covariância fornecida ao alocador, note que o HRP (1,9e16) ignora inteiramente a covariância bruta singular, enquanto os métodos TIC e denoised impõem uma estrutura bem condicionada (1,5e4, 3,6e4).
A vantagem do HRP escala?
A vantagem do HRP sobre 1/N cresce com a amplitude do universo
O resultado de 39/44 ativos acima, o HRP mal superando o 1/N em variância, revela-se um artefato de universo pequeno. Re-executando o mesmo walk-forward num painel de perp-cripto de 690 nomes com tratamento de survivorship e varrendo o tamanho do universo N, vê-se que a diversificação hierárquica do HRP precisa de amplitude para se manifestar: a razão de variância OOS frente ao 1/N cai de ~0,87 em N=25 (≈9% de redução de variância) para ~0,48 em N=100 e além (≈50% de redução).
A ressalva honesta: em N grande o ganho de variância não é um ganho de Sharpe. O HRP concentra à medida que a árvore se aprofunda, a amplitude efetiva colapsa (eff-N ≈ 4–5 em N=690 apesar de centenas de nomes) e o turnover sobe de 0,14 para 0,49. Assim, uma implementação consciente de custos retém apenas parte dessa vantagem de variância frente aos custos; é uma história de redução de risco, não de alfa grátis.
| N | var HRP | var 1/N | var HRP/1N | Sharpe HRP | Sharpe 1/N |
|---|---|---|---|---|---|
| 25 | 0.518 | 0.597 | 0.87 | 0.80 | 0.64 |
| 50 | 0.594 | 0.653 | 0.91 | 0.83 | 0.60 |
| 100 | 0.337 | 0.676 | 0.50 | 0.87 | 0.58 |
| 200 | 0.307 | 0.685 | 0.45 | 0.28 | 0.53 |
| 690 | 0.321 | 0.669 | 0.48 | 0.19 | 0.52 |
Variância anualizada OOS e Sharpe por tamanho de universo N (24 janelas walk-forward, painel de perp-cripto de 690 nomes). var HRP/1N < 1 = HRP com variância menor que o equal-weight; a razão cai conforme N cresce. Note que as colunas de Sharpe se cruzam: o 1/N ultrapassa o HRP em N grande à medida que o HRP concentra.
O eixo ajustado ao risco
Menor variância não significa mais retorno. Deflacionar o Sharpe OOS realizado de cada alocador contra o cardápio de nove alocadores separa os métodos robustos dos frágeis.
A afirmação específica mais forte de López de Prado, de que o pipeline completo denoise → detone → NCO domina, só é parcialmente sustentada aqui. O NCO precisa de entrada denoised e bem condicionada para se comportar: o NCO bruto registra um Sharpe OOS negativo e o pior DSR entre as variantes do NCO. O detoning troca condicionamento por qualidade de clusterização. Os métodos robustos e com poucos parâmetros (HRP, inverse-variance, NCO denoised) são os que sobrevivem out of sample.
O negativo honesto
As amostras de estratégias descorrelacionadas são líquido-perdedoras (mediana de Sharpe OOS ≈ −4,9 em N=300, com alvo de vol). O amostrador de descorrelação gulosa deliberadamente puxa nomes não correlacionados de um corpus dominado por perdedores, e nenhum alocador consegue fabricar retorno a partir de um cardápio perdedor, o Deflated Sharpe é ≈ 0 em todo o universo de estratégias. Os métodos de portfólio controlam risco, não o sinal. Relatamos isso em vez de escondê-lo atrás de uma escolha seletiva de retorno positivo.
Veredito
HRP / NCO / denoising superam o Markowitz bruto no controle da variância out-of-sample, de forma reprodutível (Markowitz em último em 39/39 mercados de estratégias e o pior no universo de 44 ativos). Mas em base de risco comparável a vantagem sobre os baselines robustos mais simples (1/N, inverse-variance) é modesta (~15% no universo de estratégias), esses baselines são frequentemente o vencedor OOS honesto, e nenhum dos métodos transforma um cardápio perdedor em vencedor. Uma confirmação fiel e sem adornos do espírito do trabalho, a inversão de matriz sobre uma covariância amostral ruidosa ou singular é o inimigo; estrutura e shrinkage ajudam, sem supervalorizar a magnitude da vantagem do HRP.
Método
- Apenas dados reais, multimercado: retornos diários fechamento-a-fechamento de 44 instrumentos (perps de cripto, ETFs de ações dos EUA, majors de FX), mais até 300 séries de PnL diário por estratégia, descorrelacionadas de forma gulosa, em 39 mercados, o caso de uso de López de Prado.
- Walk-forward, causal: os pesos são estimados em uma janela in-sample de 252 dias, mantidos pela janela out-of-sample seguinte de 63 dias e então rolados em 63 dias. Os pesos nunca são avaliados sobre os dados que os construíram.
- Nove alocadores comparados: 1/N, inverse-variance, Markowitz min-variance e mean-variance brutos, HRP, HRP-sobre-denoised, NCO, NCO denoise-detone e TIC-NCO.
- A métrica principal é a volatilidade anualizada OOS realizada (quanto menor, melhor), com o Deflated Sharpe Ratio do fluxo realizado de cada alocador deflacionado contra o cardápio de nove alocadores (False Strategy Theorem).
- Diagnósticos: concentração de pesos (efetivo-N, HHI) e o condition number da covariância de fato fornecida ao alocador, a medida direta da maldição. Um escalonador de vol por perna, causal e apenas in-sample, coloca cada perna em um risco anualizado comum de 10% para que a comparação entre métodos seja justa.
- O kernel HRP em Numba é verificado como bit-idêntico à referência em numpy (máx |Δw| ≤ 5,6e-17) em N ∈ {8, 17, 40, 120} a cada execução.
Notas e limitações
Duas convenções de unidade são reportadas porque medem coisas diferentes: o ranking de vol OOS é invariante de escala e robusto, mas a magnitude da vantagem do HRP depende de como as pernas são escalonadas, o número não normalizado de ~50% é em parte um artefato das magnitudes brutas em dólares, e o ~15% com alvo de vol é a comparação justa. O corpus de estratégias é líquido-perdedor, então a história do Sharpe é contida por construção, e os próprios métodos são de López de Prado, não novos. A contribuição é a auditoria empírica, multimercado e walk-forward, em especial a dependência de regime q = T/N do denoising.
Reprodutibilidade
O motor (alocadores, denoise/detone MP, HRP/NCO/TIC, walk-forward, DSR, o kernel HRP em Numba testado por identidade de bits), as figuras e as tabelas estão reunidos no projeto 13 de lopez-de-prado-work-review. O explorador desta página é autocontido: os regimes de condition number e os números de vol OOS por alocador estão codificados a partir das tabelas do estudo, de modo que o mecanismo que ele ilustra se reproduz exatamente a cada carregamento.
Citar
Referências
As fontes primárias do aparato revisado aqui:
- 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. (Cap. 16, HRP.)
- López de Prado, M. (2020). Machine Learning for Asset Managers. Cambridge University Press. (Denoising de covariância, detoning e 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).
Veja também
O estudo complementar sobre disciplina de seleção e o Deflated Sharpe Ratio está em Backtest Overfitting & the Deflated Sharpe Ratio, e o corpo de trabalho mais amplo está em Research.

