Atualizado em 25/08/2026
Este mesmo vídeo está publicado no nosso Instagram, onde a gente publica todo dia sobre algotrading e mercado: ver no @invista.ja. Por lá também ficam os bastidores do portfólio que roda em conta real, com o saldo aberto.
Markowitz é a primeira coisa que se aprende sobre construção de carteira, e a fronteira eficiente é bonita de ver num gráfico. O problema é que, das dezenas de vezes que otimizei pesos ao longo dos anos, quase nenhuma sobreviveu ao contato com dados que o modelo nunca tinha visto. Este texto não é uma resenha da teoria. É o que a minha própria carteira respondeu quando coloquei a otimização de Markowitz para brigar com a divisão ingênua de capital, o famoso 1/N, medindo tudo fora da amostra e olhando a correlação real entre os robôs, não a que o backtest deixa você fingir que existe.
O que a pesquisa mostra: DeMiguel, Garlappi e Uppal compararam catorze modelos de otimização de carteira contra o 1/N puro em catorze bases de dados reais: nenhum bateu o 1/N de forma consistente fora da amostra. Para uma carteira de 25 ativos, seria necessária uma janela de estimativa da ordem de 3.000 meses (250 anos de dados estacionários) para a otimização de Markowitz superar o 1/N de forma confiável (DeMiguel, Garlappi e Uppal, 2009).
A promessa da fronteira eficiente esconde uma máquina de amplificar erro
Markowitz (1952) formalizou uma ideia poderosa: dado o retorno esperado de cada ativo, a volatilidade de cada um e a correlação entre eles, existe um conjunto de pesos que entrega o maior retorno para cada nível de risco. Essa curva é a fronteira eficiente. A matemática está correta. O problema está no que você alimenta nela.
A conta ótima, no fundo, pesa cada ativo de forma proporcional ao inverso da matriz de covariância multiplicado pelo vetor de retornos esperados. Traduzindo para o que importa na prática: você inverte uma matriz de correlações e multiplica pelos retornos que você estimou. Quando dois ativos são muito correlacionados, essa matriz fica quase singular, e o inverso dela explode. Um erro pequeno na estimativa de retorno de um ativo, e todo mundo erra o retorno esperado, vira um peso gigante ou negativo. Michaud (1989) batizou isso com o nome mais honesto que a área já produziu: o otimizador de média-variância é uma máquina de maximizar erro. Ele não busca o ativo com melhor retorno; busca o ativo cujo retorno você superestimou mais, porque é matematicamente atraído justamente para os cantos onde a sua estimativa está mais errada.
É por isso que a fronteira eficiente calculada em cima do passado quase nunca é eficiente no futuro. Ela é o ajuste perfeito a um ruído que não se repete. E carteira ajustada a ruído do passado é a mesma doença que ataca qualquer backtest garimpado demais, o que eu trato em detalhe no texto sobre Sharpe deflacionado e testes múltiplos.
O que aconteceu quando selecionei os melhores robôs pelo passado
Antes de otimizar pesos, testei uma pergunta mais básica: dado um pool de 62 robôs curados, vale a pena escolher os melhores? Medi quatro estratégias de seleção pela mesma régua, o retorno dividido pelo risco de cauda (Ret/CDaR) fora da amostra, no mesmo período de teste para todas. O resultado foi o oposto da intuição de todo mundo.
| Como montei a carteira | Retorno sobre risco de cauda (OOS) |
|---|---|
| Usar todos os 62, capital igual (1/N) | 23,4 |
| Remover redundância por correlação, capital igual | 17 a 18 |
| 15 robôs aleatórios, capital igual | 12,9 |
| Os 15 melhores por qualidade histórica | 5,2 |
Leia a tabela de baixo para cima. Escolher os quinze melhores pelo desempenho passado deu 5,2, quatro vezes pior que escolher quinze ao acaso, que deu 12,9. E o simples “use todos, divida igual” bateu tudo com 23,4. Selecionar por retorno passado destrói valor: você está ajustando a carteira ao ruído do período de amostra exatamente como o otimizador de Markowitz faz com os pesos. A diferença é que aqui o dano fica óbvio, porque não há uma matriz bonita disfarçando a fonte do estrago.
Rodei também uma busca evolutiva, um algoritmo genético procurando a melhor combinação de robôs e pesos. Ela achou carteiras lindas dentro da amostra e desabou fora dela, batendo o 1/N em apenas 1 de cada 6 janelas de validação honesta. Mais tempo de busca piorou o resultado fora da amostra, não melhorou. Quanto mais você procura a carteira perfeita no passado, mais garante que encontrou um fantasma.
O mínimo-variância rendeu mais no papel, e mesmo assim não usei
Aqui está a parte honesta, a que dói. A crítica de sempre ao Markowitz é que ele erra por estimar retorno esperado, que é a variável mais ruidosa que existe. A resposta clássica é: então otimize só a covariância, use mínima variância, que não precisa estimar retorno nenhum. Testei exatamente isso, com encolhimento de Ledoit-Wolf na matriz para estabilizar a estimativa, contra o meu 1/N, na validação cruzada honesta. E ele ganhou: +14% fora da amostra.
Por um dia inteiro achei que tinha encontrado a exceção, o caso onde otimizar valia a pena. Aí abri os pesos para ver de onde vinha o ganho. Metade dele vinha de subir o lote em pares cuja correlação diária era baixa, então o otimizador os tratava como diversificadores, mas que despencavam juntos nos poucos dias de estresse. A covariância mede como os ativos andam no centro da distribuição, no dia a dia normal. Ela é estruturalmente cega à cauda. O mínimo-variância, ao mirar só a covariância, concentrou risco exatamente onde eu não conseguia ver: em robôs que pareciam independentes em dia de sol e co-crasham no temporal.
Refiz o teste com uma trava de cauda, subindo lote só nos robôs que eram de fato independentes no crash, não só na média. O ganho limpo caiu para +6,5%, e ainda exigia uma maquinaria de quatro estágios com estimativas só moderadamente estáveis. A lição que tirei vale para qualquer carteira, não só a minha: controle de risco sem controle de cauda é troca de risco disfarçada de redução. O +14% era prêmio por carregar uma cauda escondida. Para dinheiro real, num único regime de dados de 2024 a 2026, +6,5% líquido não compra a complexidade nem o risco de estar errado sobre a estabilidade dos pesos. Guardei a otimização com trava de cauda para quando o histórico tiver mais regimes. No deploy, capital igual.
Por que o 1/N é tão difícil de bater, matematicamente
Isso é resultado consolidado na literatura. DeMiguel, Garlappi e Uppal (2009) compararam catorze modelos de otimização de carteira, incluindo Markowitz clássico, mínima variância e versões com encolhimento, contra o 1/N puro, em catorze bases de dados reais. Nenhum dos catorze modelos bateu o 1/N de forma consistente fora da amostra em Sharpe, retorno ou giro. Não porque a teoria esteja errada, mas porque o erro de estimação dos momentos amostrais engole o ganho teórico.
O número que mais me marcou desse paper é o de quanta história você precisaria para a otimização valer a pena. Para uma carteira de 25 ativos, seria necessária uma janela de estimativa da ordem de 3.000 meses, isto é, 250 anos de dados estacionários, para que a carteira ótima de Markowitz superasse o 1/N de forma confiável. Com 50 ativos, cerca de 500 anos. Ninguém tem isso, e mesmo que tivesse, o mercado de 250 anos atrás não é o mesmo de hoje. O ganho teórico da otimização existe, mas ele só se materializa num horizonte de dados que não existe na prática. Enquanto isso, o 1/N não estima nada, então não tem nada para errar. Toda a sua fragilidade é zero porque toda a sua ambição é zero.
Vale a matemática de por que dividir igual diversifica tanto. O ganho de diversificação depende de quantos fatores de risco de verdade independentes entre si você tem. No meu pool, a divisão igual entre os 62 mantinha alto o número efetivo de fatores de risco independentes; a seleção dos “melhores” colapsava isso, porque os melhores do período tendiam a ser variações do mesmo comportamento vencedor daquele período. Concentrar em cima do vencedor recente é o contrário de diversificar, ainda que o backtest sorria para você enquanto faz isso.
O que isso mudou na minha carteira, e o teste que me manteve humilde
Três decisões práticas saíram disso. Primeiro, o deploy é capital igual, lote fixo em todos os robôs, sem exceção por “qualidade”. Segundo, a curadoria que sobra é estrutural e humana, cortar clones e balancear comportamento, nunca ranquear por retorno passado. Terceiro, a otimização de pesos fica na gaveta até o histórico cobrir mais de um regime, e mesmo lá só entra com a trava de cauda explícita, não com a covariância sozinha.
E o teste que me impede de vender o 1/N como bala de prata: peguei esses mesmos 62 robôs, montados com dados de 2024 a 2026, e rodei em 2014 a 2018, uma era que eles nunca viram. O portfólio “ótimo” com Ret/CDaR de 23,4 na janela conhecida virou −$1.690 líquido, drawdown máximo de $3.334, Ret/CDaR de −0,1, negativo em três dos cinco anos. O 1/N venceu a seleção e venceu a otimização, mas venceu dentro da janela de dados. Nenhuma técnica de alocação salva um pool de robôs cuja vantagem simplesmente não existe no regime seguinte. A alocação decide como distribuir a vantagem que você tem; ela não cria vantagem que não existe. Essa distinção é a única que importa antes de discutir se o peso vai ser Markowitz ou 1/N.
Markowitz está errado?
A matemática de Markowitz está correta. O que falha é a entrada: a otimização exige estimar retornos, volatilidades e correlações futuras a partir do passado, e o erro dessas estimativas é amplificado pela inversão da matriz de covariância. O modelo é ótimo para os números que você digita e frágil para os números que o mercado vai realmente entregar. Por isso ele funciona no papel e decepciona fora da amostra.
Por que o 1/N (peso igual) é tão difícil de bater?
Porque ele não estima nada, então não tem nada para errar. DeMiguel, Garlappi e Uppal (2009) mostraram que nenhum de catorze modelos de otimização bateu o 1/N de forma consistente fora da amostra, e que seriam necessários séculos de dados estacionários para a otimização compensar o erro de estimação. Na prática, o ruído das estimativas engole o ganho teórico, e o 1/N leva.
Se mínima variância não estima retorno, ela não resolve o problema?
Resolve o problema do retorno esperado e cria outro. A mínima variância otimiza só a matriz de covariância, que descreve o comportamento no dia a dia normal e é cega à cauda. No meu teste, ela rendeu +14% fora da amostra, mas cerca de metade era concentração em ativos que co-crasham em eventos raros. Com trava de cauda explícita o ganho limpo caiu para +6,5%, insuficiente para justificar a complexidade num único regime de dados.
Referências
- Markowitz, H. (1952). Portfolio Selection. The Journal of Finance, 7(1), 77-91. jstor.org.
- DeMiguel, V.; Garlappi, L.; Uppal, R. (2009). Optimal Versus Naive Diversification: How Inefficient Is the 1/N Portfolio Strategy? The Review of Financial Studies, 22(5), 1915-1953. academic.oup.com.
- Michaud, R. O. (1989). The Markowitz Optimization Enigma: Is ‘Optimized’ Optimal? Financial Analysts Journal, 45(1), 31-42. tandfonline.com.
- Ledoit, O.; Wolf, M. (2004). Honey, I Shrunk the Sample Covariance Matrix. The Journal of Portfolio Management, 30(4), 110-119. pm-research.com.
- Anatomia de uma Estratégia Real: Keltner e Estocástico no EUR/USD, e a Degradação de Só 1%
- Diário de um Portfólio de Robôs (8): A Auditoria que Escondia Risco e Cortou o Portfólio de 60 para 34
- Diário de um Portfólio de Robôs (7): A Esteira, a Máquina que Monta o Portfólio em Seis Estações
- Diário de um Portfólio de Robôs (6): O Drawdown que Te Quebra é o das Posições Abertas
Presente para Leitores: Robô de Gradiente Linear Gratuito
Estou liberando o acesso ao meu setup pessoal de Gradiente Linear sem custo nenhum. É só clicar e me pedir o arquivo.
Quem escreve: Flávio Araújo
Trader algorítmico há mais de 13 anos, MBA em Mercado de Capitais e Derivativos. Mantém um laboratório próprio que já rodou mais de 20 milhões de backtests e analisou mais de 20 mil estratégias, e opera um portfólio de robôs acompanhado publicamente no blog. LinkedIn · Instagram · YouTube
