Voltar para López de Prado

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.

fonte

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

Fig. 1:O denoising só ajuda quando q = T/N > 1. A lei de Marčenko–Pastur é indefinida para uma covariância amostral singular (q<1). Em N=300 com uma janela in-sample de 252 dias (q=0,84) o denoising mal move o condition number (1,2×); reduza o cardápio pela metade para N=150 (q=1,68) e o mesmo método o corta 4,1×; no universo de ativos (q=28) ele o corta 9,6×.

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.

universoNq = T/Ncond (bruta)cond (denoised)reduçãofatores de sinal
ativos928.08.6e39.0e29.6×1 / 9
estratégias N=3003000.844.3e173.5e171.2×300 / 300
estratégias N=1501501.682.1e35.0e24.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.

condition_number_deepening.csv
regime, por q = T/Nq = 0.84
q<1, singularq≫1, bem-posto
covariância amostral
singular (q<1)
condition number, bruta
4.3e17
condition number, denoised
3.5e17
redução do denoising
1.2×
autovalores mantidos como sinal
300 / 300
CONDITION NUMBER DA COVARIÂNCIA (log), 300 estratégias1e181e151e121e91e61e34.3e17cov bruta3.5e17denoised MPsingular / não invertível

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_assets
nco
0.068
melhor
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
pior
ingênuo (1/N, inv-var)Markowitz brutoHRPNCO / TIC

A 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.

Fig. 2:Universo de estratégias, com alvo de vol (pernas de risco igual), rank médio de vol OOS em 39 mercados (1 = melhor). O Markowitz mean-variance e min-variance bruto ficam em último tanto no regime singular (q=0,84, N=300) quanto no bem-posto (q=1,68, N=150). O vencedor honesto em base de risco comparável é o simples 1/N / inverse-variance, com o HRP em segundo bem próximo.

O universo de 44 ativos

O mesmo veredito em retornos reais entre ativos

Fig. 3:Universo de ativos (44 instrumentos, com alvo de vol de 10%/perna), volatilidade OOS anualizada realizada, quanto menor, melhor. HRP, NCO e TIC-NCO se agrupam na ponta de baixa variância; o Markowitz mean-variance bruto é o mais alto. A barra do detone-NCO lembra que o detoning troca condicionamento por qualidade de clusterização.

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.

alocadorvol OOSSharpe OOSDSRefetivo-Ncondition 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

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

Fig. 5:Variância anualizada OOS do HRP (e NCO) dividida pelo equal-weight (1/N), por tamanho de universo N, num painel de perp-cripto de 690 nomes com tratamento de survivorship (24 janelas walk-forward). Abaixo da linha pontilhada de paridade significa que o HRP entregou menor variância out-of-sample que o 1/N, e a diferença aumenta com a amplitude, de ~9% de redução de variância em N=25 para cerca de metade já em N=100+.

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.

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

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.

Fig. 4:Visão ajustada ao risco: Deflated Sharpe Ratio vs Sharpe OOS realizado, universo de ativos (DSR deflacionado contra o cardápio de nove alocadores). NCO denoise-detone e inverse-variance lideram; NCO bruto e min-variance bruto ficam para trás. Os métodos robustos e com poucos parâmetros são os que sobrevivem à deflação; os métodos brutos pesados em inversão são os que os dados punem.

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.