Paridade de Risco (ERC)
Implementação do portfólio de Equal Risk Contribution (ERC) de Maillard, Roncalli & Teïletche (2010, JPM) — “The Properties of Equally Weighted Risk Contribution Portfolios”. A ideia central: dada a fragilidade de μ̂ documentada em /ingenuo e /kahneman, por que tentar estimar retornos esperados? Use só Σ. Atribua peso a cada ativo de modo que cada um contribua igualmente para a variância da carteira — ninguém domina o risco, ninguém é desperdiçado.
Filosoficamente: 1/N de variância em vez de 1/N de dólares. O All-Weather de Bridgewater (Ray Dalio, ≈ 1996) é o exemplo mais famoso. A versão analítica para o caso multi-asset (não só estoque vs bond) foi formalizada por Roncalli (2013), Introduction to Risk Parity and Budgeting.
A variância de uma carteira é σ²_p = w⊤Σw. A contribuição de riscodo ativo i é a parcela dessa variância que pode ser atribuída a ele — o produto entre seu peso e seu “risco marginal” (Σw)_i:
A condição ERC (Equal Risk Contribution)exige que cada ativo contribua igualmente: cada ativo “paga o mesmo aluguel de risco”:
Maillard, Roncalli & Teïletche (2010) provam que esse vetor de pesos existe, é único, e é o minimizador de um problema convexo com solução em fórmula iterativa rápida — sem otimizador quadrático geral, sem busca por raízes:
O termo −ln(w_i) é uma barreira logarítmica: força w_i > 0 (não pode ir a zero, pois ln(0) = −∞) e empurra a solução para o interior do simplex. O gradiente é Σw − (1/N)·(1/w_i), que se anula exatamente quando w_i (Σw)_i = constante — a condição ERC.
Caso especial: quando Σ é diagonal (zero correlação entre os ativos), há uma fórmula fechada que dispensa o solver. É a chamada paridade de volatilidadeou “ERC do pobre”:
É essa fórmula que a maioria dos produtos “risk parity” comerciais implementa de fato — barata, transparente, mas cega a clusters de correlação (bancos brasileiros todos correlacionados com Selic, commodities todas correlacionadas com dólar). A ERC propriamente dita captura essas correlações.
A concentração de risco, finalmente, mede-se como HHI das contribuições de risco (não dos pesos):
Por que isso importa para o 1/N: no 1/N de dólares, ativos voláteis dominam a variância. Considere dois ativos com vols anualizadas de 24% e 38% (ordens de grandeza observadas no top-15 do IBOV, e.g. ITSA4 vs RENT3) e correlação zero. Com pesos 50/50, a contribuição de risco do ativo mais volátil é (0,5²·0,38²) / (0,5²·0,24² + 0,5²·0,38²) ≈ 0,71 — ou seja, 71% do risco no ativo de maior vol mesmo investindo metade do dinheiro em cada. ERC corrige isso reduzindo o peso dos ativos de alta vol até que cada um contribua exatamente 1/N para a variância total.
Σ estimada via Ledoit-Wolf. ERC resolvido por descida coordenada cíclica até max|RC_i − 1/N|< 10⁻⁹. Inv-vol é o caso fechado quando Σ é diagonal.
Quanto cada ativo contribui para σ²_p, em cada estratégia. A linha tracejada é a meta ERC (6,7% por ativo, = 1/N). Por construção, ERC bate exatamente na linha. 1/N (peso igual) concentra risco nos ativos mais voláteis — HHI de risco do 1/N = 0,07 vs HHI ERC = 0,07 (mínimo possível = 0,07).
Dólares investidos em cada ativo. 1/N é uma linha reta horizontal: cada ativo recebe a mesma fração. ERC tilta um pouco para baixar peso dos ativos de alta vol, masmenos que o inv-vol puro porque também leva em conta correlações. Markowitz é dramaticamente assimétrico.
Três números chave extraídos do seu universo atual, traduzidos em prosa. Toda interpretação usa os retornos amostrais shrinkados do tab Markowitz (para Sharpe) e a Σ Ledoit-Wolf (para RC).
A concentração escondida do 1/N
No 1/N de dólares, o ativo de maior volatilidade — B3SA3 — sozinho responde por 9,7% da variância total da carteira. Isso é 1,5× o que faria se a contribuição de risco fosse igual (1/N = 6,7%). O HHI de risco do 1/N é 0,07 — quase 1,1× o mínimo possível (0,07). Em outras palavras: o 1/N parece diversificado, mas diversificar dólares ≠ diversificar risco.
Onde a ERC fica no espectro
ERC atinge o HHI de risco mínimo: 0,07 ≈ 0,07 por construção (cada ativo contribui 1/N para a variância). Em vol ela fica 0,85% abaixo do 1/N e 4,24% abaixo do Markowitz. ERC ocupa o espaço entre os dois — diversificação superior ao 1/N sem o ruído de estimativa do Markowitz.
O Markowitz aposta tudo em quem — e o que isso custa
No Markowitz, o ativo de maior contribuição de risco é SBSP3 absorvendo 43,6% da variância — uma concentração de 6,5× o equilíbrio ERC. Markowitz aposta em quem μ̂ disse ter o melhor risco-retorno; se μ̂ estiver errado (e quase sempre está), a aposta gera vol idiossincrática significativa fora-da-amostra. O ganho de Sharpe da ERC sobre o 1/N (+0,01, positivo) é a parcela do prêmio que vem apenas da reorganização de risco — sem usar μ em momento nenhum.
Quando ERC supera Markowitz fora-da-amostra: em janelas em que μ̂ é particularmente ruim (todo período com regime shift, eleições, choques macro). Quando ERC perde para Markowitz: janelas em que o μ̂ realmente capturou um winner persistente. A aposta da paridade de risco é que a primeira situação é a regra, não a exceção — e os 30+ anos de evidência (Roncalli, 2013) lhe dão razão.
Contribuição de risco — o conceito central
A contribuição de risco do ativo i é RC_i = w_i · (Σw)_i / wTΣw. Geometricamente, RC_i é a fração da variância da carteira atribuível ao ativo i, ponderando peso próprio e co-movimento com os outros. A soma Σ_i RC_i = 1sempre — é uma decomposição exata da variância total. Surge naturalmente da derivação: ∂σ_p / ∂w_i = (Σw)_i / σ_p, então w_i · ∂σ_p/∂w_i é a contribuição euleriana — quanto o ativo “adiciona” ao σ_p se aumentarmos seu peso marginalmente.
Por que 1/N de dólares ≠ 1/N de risco
Considere dois ativos com vols 20% e 60% a.a., correlação zero. Com pesos 50/50, RC_1 = (0,5² × 0,04) / (0,5² × 0,04 + 0,5² × 0,36) = 0,04/0,40 = 10%; RC_2 =90%. A carteira parece diversificada (cada ativo é 50% do dinheiro), mas 90% do risco vive em um único ativo. Esse é o pecado oculto do 1/N. Para que 1/N seja também 1/N de risco, vols precisam ser idênticas— uma condição quase nunca satisfeita em equity brasileira.
ERC — cada ativo paga seu próprio aluguel de risco
Equal Risk Contribution força RC_i = 1/N para todo i. Cada ativo é igualmente responsávelpela variância total. Maillard, Roncalli & Teïletche (2010, JPM) provam três propriedades: (a) o portfólio existe e é único para Σ positivo-definido; (b) sua vol fica entre 1/N e min-var (sandwich theorem); (c) é o único minimizador da função convexa ½ wTΣw − (1/N)Σ ln(w_i) s.a. w ≥ 0. É uma família de portfólios mais geral: trocando o alvo 1/N por qualquer vetor que some 1, obtém-se risk budgetingarbitrário.
Inv-vol — o ERC do pobre
Se ignoramos correlações (Σ diagonal), a condição ERC reduz-se a w_i ∝ 1/σ_iem forma fechada. É o que a maior parte dos produtos comerciais risk parityimplementa de fato — mais barato, mais transparente, fora-de-amostra robusto. Funciona bem quando correlações são homogêneas; falha quando há clusters: no IBOV, todos os bancos respondem à Selic; commodities respondem ao dólar e à China. Inv-vol não vê isso — ERC propriamente dito sím.
O All-Weather de Bridgewater (Ray Dalio, ≈ 1996)
O conceito de paridade de risco é popularizado fora da academia pelo All-Weather, fundo de hedge da Bridgewater Associates lançado em 1996. A premissa: alocar igualmente em quatro “quadrantes” macro (crescimento alta/baixa × inflação alta/baixa), com pesos calibrados para que cada quadrante contribua igualmente para a vol da carteira. Em termos matemáticos: ERC sobre quadrantes, não sobre ativos individuais. Roncalli (2013), Introduction to Risk Parity and Budgeting documenta a formalização acadêmica posterior.
ERC vs 1/N — quando faz diferença
Três condições onde ERC e 1/N convergem: (a) vols idênticas; (b) correlações todas iguais; (c) universo muito grande com vols quase-iid. No IBOV nada disso é verdade. No top-15 atual, as vols anualizadas (5y) vão de aproximadamente 22% (ITSA4, ABEV3) a 38% (RENT3, B3SA3), e as correlações formam clusters (bancos correlacionados via Selic, commodities via dólar/China, utilities via Aneel). Resultado: a contribuição de risco no 1/N concentra-se nos ativos de maior vol — no painel acima, RENT3, B3SA3 e BPAC11 têm RC ≈ 9-10% cada (vs meta ERC de 6,7% = 1/15), enquanto ITSA4 fica em ≈5%. ERC equaliza esse perfil ao custo de uma vol total marginalmente menor.
ERC vs Markowitz — jogando fora μ
Markowitz maximiza (μ − rf) / σ. Sem confiança em μ̂, esse esforço é mostly noise. ERC ignora μ por completo — é um portfolio choice without expected returns (Roncalli, 2013). Resultado: vol e Sharpe ex-ante menoresque Markowitz, mas vol ex-post fica próxima da ex-ante (sem surpresas), e Sharpe ex-post frequentemente bate o Markowitz após custos. É o equivalente sofisticado do argumento DGU: 1/N é ERC sem correlações; ERC pleno é “1/N de variância” fazendo uso de Σ.
- • Σ — Ledoit-Wolf (2004): shrinkage toward constant correlation, intensidade ótima δ* data-driven, anualizada ×252. Janela de 1260dias úteis. Mesmo Σ exato usado nos tabs /markowitz e /black-litterman — coerência total entre páginas.
- • ERC — descida coordenada cíclica: a cada sweep, fixa w_jpara j ≠ i e resolve a quadrática em w_i que satisfaz RC_i = target_i exato (com target = 1/N para ERC simples). Renormaliza ao final de cada sweep para preservar Σw = 1. Converge em ≈ 20-50 sweeps para N ≤ 50, tolerância max|RC_i − target_i| < 10⁻⁹. Warm-start no inverso-vol. Implementação canônica seguindo Maillard et al. (2010, §3.1).
- • Alternativas testadas: SLSQP (scipy), Newton-Raphson no Lagrangiano (Spinu, 2013), ADMM. Para N ≤ 50 a coordenada cíclica é mais que rápida o suficiente — completa em <5 ms client-side em hardware moderno. SLSQP necessária apenas se quiser restrições lineares adicionais (e.g., grupo de ativos com peso máximo conjunto).
- • Custom risk budgets: a função
equalRiskContribution(sigma, target)aceita um vetor de orçamento de risco arbitrário (target deve somar 1). Exemplo: 50%/30%/20% para 3 ativos significa “ativo 1 carrega metade da variância, ativo 2 carrega 30%, ativo 3 carrega 20%”. Usado em prática para refletir visões macro: “quero 40% do risco em renda fixa, 40% em renda variável, 20% em ouro”. Não exposto na UI ainda, mas a lib está pronta. - • μ̂ para Sharpe: o cálculo do Sharpe ex-ante de cada estratégia usa o μ̂ shrinked do tab Markowitz (Jensen + ×252 + Jorion + macro-anchor). Crucial: ERC não usa μ para escolher pesos, só usa para reportarSharpe ex-ante esperada. Trocar μ̂ raw vs shrinked altera apenas a Sharpe exibida, não os pesos ERC.
- • HHI de risco: HHI_risco = Σ_i RC_i². Análogo do HHI clássico mas aplicado à decomposição de variância, não aos pesos. Mínimo 1/Natingido por definição pela ERC; máximo 1 (todo o risco em um único ativo). 1/N atinge HHI de pesos 1/N mas HHI de risco maiorque 1/N quando vols são heterogêneas — paradoxo central do tab.
- • Caso especial inv-vol: se Σ for diagonal, ERC reduz a w_i = (1/σ_i) / Σ_j (1/σ_j) — forma fechada, sem solver. Implementado em
inverseVolatilityWeights(sigma)como utility separada e usado como warm-start do solver ERC. - • Reprodutibilidade: código em
app/lib/riskparity.tscom 10 testes emriskparity.test.tscobrindo: (a) RC soma 1; (b) inv-vol vs ERC em Σ diagonal convergem; (c) ERC em Σ aleatório (PD) atinge 1/N de cada contribuição ate tolerância 10⁻³; (d) pesos não-negativos somando 1; (e) custom risk budgets respeitados.