Kahneman — a Sharpe é sorte?
Em 1984 Daniel Kahneman (Prêmio Nobel 2002) recebeu de uma firma de wealth management 25 anos de avaliações individuais dos seus 28 consultores. Esperando ver persistência de talento, calculou a correlação entre o ranking de retorno de cada consultor em pares de anos consecutivos. O número médio de 28×27/2 = 378 pares: 0,01. Em Thinking, Fast and Slow (2011) ele batizou o fato de The Illusion of Skill: a indústria financeira recompensa um talento que não existe. Performance ano-a-ano é indistinguível de sorte.
Este tab traduz essa tese numa imagem. Sorteamos milhares de carteiras long-onlyuniformemente no simplex (o “macaco atirando dardos” de Malkiel (1973)), avaliamos cada uma na janela de teste (out-of-sample), e desenhamos o histograma. Sobre esse histograma marcamos quatro carteiras nomeadas — a Sharpe que o otimizador Markowitz prometeu com base na janela de treino (ex-ante), a Sharpe que entregou ao usar os mesmos pesos no teste (ex-post), o 1/N (peso igual) e a mediana dos sorteios. Se a barra ex-ante mora no percentil 80 e a ex-post no percentil 50, a diferença é uma medida quantitativa da ilusão: o gestor parecia ter skill quando só teve sorte na amostra.
Complementa o tab /ingenuo (1/N vs Markowitz) — DeMiguel-Garlappi-Uppal mostra o problema matemático (erro de estimativa em μ̂ e Σ̂); aqui Kahneman documenta o problema comportamental (o gestor é remunerado como se tivesse skill, mas sua Sharpe ex-post vive na cauda da distribuição aleatória).
O índice de Sharpe de uma carteira w mede retorno excedente por unidade de risco. Dada uma matriz de covariância Σ e um vetor de retornos esperados μ:
Ex-ante (in-sample, o que o otimizador promete): dados estimadores μ̂_treino e Σ̂_treino, a tangência de Markowitz é o w* que maximiza a Sharpe. Sua Sharpe declarada é o valor da função-objetivo nesse máximo:
Ex-post (out-of-sample, o que ele entrega): os mesmos pesos w*, agora avaliados sob as estatísticas realizadas na janela de teste. Nada na fórmula muda exceto os dados sob os quaisμ e Σ são calculados:
A ilusão de skillé o gap esperado entre as duas. Kan & Smith (2008), formalizando Jobson & Korkie (1981), mostram que o viés cresce com a razão entre o número de ativos e o tamanho da amostra:
Para N = 30 ativos e T = 504 dias (≈ 2 anos), o viés de Sharpe ao quadrado é da ordem de 30/504 ≈ 0,06. Quanto isso se traduz em pontos de Sharpe linear depende do Sharpe verdadeiro: com Sharpe_true ≈ 0,5 o gap esperado é ≈ 0,2; com Sharpe_true ≈ 1,0, ≈ 0,1. É a ordem de grandeza que o histograma desta página mostra (gap ex-ante − ex-post tipicamente 0,1 a 0,5 em janelas curtas).
O percentil de Sharpe, finalmente, coloca esse gap em escala humana. Definindo a distribuição empírica das Sharpes de M carteiras w(m) sorteadas uniformemente no simplex (Dirichlet com α = 1):
Se a Sharpe ex-post do otimizador cair em F̂ ≈ 0,50, sua performance é estatisticamente indistinguível do macaco com dardos de Malkiel (1973). O famoso resultado de Kahneman com a firma de wealth management — correlação 0,01 entre rankings de consultores em anos consecutivos — é o equivalente longitudinal desta mesma observação.
Divide a janela coterminal em treino (otimização) e teste (avaliação). O histograma mostra a distribuição da Sharpe realizada de N carteiras long-only sorteadas uniformemente no simplex, no período de teste.
- Exp. 1 (a seguir) — viés de Kan-Smith em janela única: quanto a Sharpe declarada pelo otimizador (ex-ante) infla a Sharpe que efetivamente entrega (ex-post) numa janela específica? Mede a magnitude do viés in-sample, formalizado por Kan & Smith (2008). É um teste de otimismo amostral, não da tese de Kahneman propriamente dita.
- Exp. 2 (logo abaixo do Exp. 1) — persistência de Kahneman em janelas rolantes: a vantagem (ou desvantagem) da Markowitz numa janela prediz a vantagem na janela seguinte? Calcula a autocorrelação lag-1 do percentil da Markowitz através de várias janelas não-sobrepostas. É a versão portfolio do achado de Kahneman (1984/2011): correlação ano-a-ano ≈ 0,01 entre gestores ativos. Se a autocorrelação aqui ficar próxima de zero, é o mesmo resultado empírico: skill aparente em uma janela não se repete na próxima.
Os dois experimentos compartilham o mesmo universo, mesmo pipeline (Ledoit-Wolf + Jorion + macro-anchor), mesma fonte de rf. Diferem apenas no arranjo da janela.
Cada barra é uma faixa de Sharpe; a altura é o número de carteiras aleatórias (de um total de 5.000) que entregaram um Sharpe naquela faixa no período de teste. A banda sombreada marca o suporte da distribuição aleatória — o intervalo de Sharpe que alguma carteira sorteada efetivamente atingiu. As quatro linhas verticais são portfólios nomeados colocados na mesma escala de Sharpe para comparação. Linha fora da banda sombreada significa “Sharpe que nenhum sorteio alcançou”— Markowitz fica em “espaço vazio” quando sua tangência é tão otimista que escapa do que a aleatoriedade consegue produzir. A ilusão é o intervalo horizontal entre a linha vermelha (ex-ante, a promessa) e a linha azul (ex-post, a entrega).
Visão alternativa sem histograma. Cada portfólio nomeado é um ponto numa única escala de Sharpe. A banda sombreada marca o suporte da distribuição aleatória (o intervalo de Sharpe que as 5.000 carteiras sorteadas efetivamente cobriram no período de teste). Marcadores fora dessa banda mostram Sharpes que nenhum sorteio atingiu. O arco horizontal conecta a promessa à entrega: seu comprimento é a ilusão, em unidades de Sharpe.
O histograma acima compara Markowitz contra carteiras Dirichlet(1) diversificadas sobre 30 ativos — uma comparação estruturalmente enviesada porque Markowitz concentra ≈92% em apenas 4 ativos. Este painel mostra a comparação correta segundo Kahneman: sorteamos 5.000outras carteiras também concentradas em 4ativos (escolhidos aleatoriamente) e vemos onde a Markowitz cai nesta distribuição.
O veredito Kahneman: Markowitz no 94º percentil dos sorteios concentrados (vs 100º sob Dirichlet diversificada)
Delta entre os dois nulls: −5.7 p.p.. A Markowitz ficou acima da medianamesmo entre carteiras concentradas — sinal de algum conteúdo informacional na escolha do otimizador, ainda que o gap entre os dois nulls revele quanto da “skill” aparente era puramente estrutural.
Como esse painel deve mudar sua leitura do gráfico principal:o “p=100” da Markowitz no histograma Dirichlet acima compara peras (concentradas) com maçãs (diversificadas). O p=94º desta seção compara peras com peras — é o número que devemos citar quando perguntarmos “a Markowitz tem skill no sentido de Kahneman?”.
O histograma e a linha de Sharpe acima mostram quatro distâncias interpretáveis. Esta seção decompõe cada uma com os números deste experimento específico.
Linha vermelha (ex-ante = 1,19)
Sharpe que o otimizador prometeu com base na janela de treino — usando μ̂ amostral cru (sem Jorion, sem macro-anchor). Está FORA da banda sombreada: nenhum portfólio sorteado alcançou esse Sharpe no teste. A promessa é inalcançável na realidade dessa janela.
Linha azul (ex-post = 0,78)
Sharpe que os mesmos pesos entregaram quando aplicados aos retornos da janela de teste. Está FORA da banda sombreada à DIREITA: a Markowitz, mesmo com os pesos da promessa otimista, superou TODAS as 5.000 carteiras sorteadas. Skill real existiu — só não no tamanho da promessa.
Distância vermelha ↔ azul = 0,41 de Sharpe
É a ilusão de skill, medida em unidades de Sharpe. O otimizador promete a vermelha, entrega a azul, e a diferença é o que Kahneman (2011) descreve no capítulo “The Illusion of Stock-Picking Skill”: a indústria financeira é paga para entregar a vermelha e na média entrega algo próximo da mediana aleatória. Aqui o otimizador entregou algo melhor que a mediana, mas 0,41 unidades de Sharpe ABAIXO do que havia prometido.
Distância azul ↔ borda direita da banda = 0,16 de Sharpe
Não confunda esse gap com “skill” no sentido de Kahneman. Ele mede em quanto a entrega da Markowitz superou a MELHOR das 5.000 carteiras sorteadas — mas as carteiras sorteadas são Dirichlet(1), diversificadas sobre 30 ativos, enquanto a Markowitz aposta em 5. A comparação estruturalmente enviesa-se a favor de qualquer concentração 5-bet que se alinhar com a tendência do período de teste, e essa tendência frequentemente continua a do período de treino (persistência de regime). Para testar skill real no sentido de Kahneman (1984), seria preciso comparar a Markowitz contra outras 5.000 carteiras concentradas em 5 ativos, sorteadas aleatoriamente do universo. Esse teste mais rigoroso está previsto para a v2 deste experimento.
Resumo: as duas linhas vivem em “espaço vazio” do histograma, mas cada vazio significa uma coisa diferente. À direita da banda = “Sharpe que nem o melhor sorteio atingiu”. Entre vermelha e azul = “Sharpe que a promessa cobriu mas a entrega não”. Os dois vazios juntos contam toda a história da Markowitz nesta janela.
As linhas verticais no gráfico não suportam hover individual (limitação do Recharts); esta tabela documenta cada uma. Quando a linha está marcada como “fora do eixo”, o valor real está além do histograma — a linha é desenhada na borda do gráfico apenas para referência visual.
Sharpe da carteira-tangência sob μ̂ amostral cru (sem Jorion, sem macro-anchor). Reflete o que um usuário Markowitz ingênuo veria ao olhar a fronteira de treino — o tamanho do otimismo embutido na média histórica.
Sharpe dos mesmos pesos avaliados sobre os retornos realizados na janela de teste. É o que o investidor efetivamente recebeu. A diferença entre esta linha e a ex-ante é a ilusão, em unidades de Sharpe.
Sharpe da carteira ingênua avaliada na janela de teste. Benchmark de DeMiguel-Garlappi-Uppal (2009): se a Markowitz não bate este número, a otimização não está agregando valor além do ruído.
Sharpe do 2.500º portfólio em uma amostragem ordenada de 5.000 carteiras Dirichlet(1). É o "macaco com dardos médio" de Malkiel (1973). Sharpe ex-post abaixo deste valor é, por definição, indistinguível de sorte.
Promessa. O otimizador prometeu uma carteira com Sharpe = 1,19 (calculado sob μ̂ amostral cru, sem shrinkage defensivo). Esse valor ficou ACIMA de TODAS as 5.000 carteiras aleatórias avaliadas.
Entrega. Aplicados os mesmos pesos no período de teste, a Sharpe realizada foi 0,78. Esse valor ficou ACIMA de TODAS as 5.000 carteiras aleatórias avaliadas.
Tamanho da ilusão. A entrega ficou 0,41 unidades de Sharpe ABAIXO da promessa. O percentil saturou em 100º nos dois casos porque ambos os Sharpes excedem TODAS as carteiras sorteadas — o gap só é legível em unidades de Sharpe, não em percentil.
Markowitz superou os benchmarks? Sim, no teste a Markowitz superou o 1/N. Também superou a mediana aleatória — o gestor teve, em média, mais skill que sorte neste período.
O estudo original de Kahneman (1984)
Em 1984, Kahneman recebeu de uma firma de wealth management americana 25 anos de avaliações individuais dos seus 28 consultores. Os bônus anuais eram baseados em performance relativa: top-quartil ganhava grande, bottom-quartil recebía pouco — a firma operava sob a premissa de que alguns consultores têm skill. Kahneman calculou a correlação do ranking de retorno entre TODOS os pares de anos consecutivos (378 pares no total). Média: 0,01. Quando apresentou o resultado, os executivos da firma fingiram não entender — é o que Kahneman chama de illusion of validity: a recusa cognitiva em aceitar evidência que invalida a base do próprio negócio.
Por que é político chamar de “sorte”
Em qualquer população de gestores ativos, alguns terão Sharpes excepcionais. Sob hipótese nula de zero skill (mercado eficiente, Fama, Nobel 2013), Sharpe out-of-sample seria distribuída uniformemente no percentil. Com 1.000 gestores e ruído gaussiano, ≈ 10 estarão no top-1% por puro acaso — esse subconjunto vira “famoso”, escreve livros, comanda 2-and-20. A ilusão é sobrevivência + retrospectiva: ninguém lembra dos 99% que falharam.
O mecanismo formal — Kan & Smith (2008)
O viés estatístico do Sharpe in-sample é quantificável. Kan & Smith (2008, MgmtSci) derivam: E[Sharpe_in²] − Sharpe_true² ≈ N/T. Para N = 30 e T = 504 (≈ 2 anos), o viés é ≈ 0,06 em Sharpe² — equivalente a 0,3 em Sharpe linear quando o Sharpe verdadeiro é ≈ 0,5. Todaotimização in-sample é afetada; não é um erro de implementação, é uma propriedade estatística do estimador.
Distinção entre Kahneman e DGU
DGU (2009)é uma crítica matemática da otimização de Markowitz: o ganho teórico é menor que o erro de estimação em μ̂, então 1/N vence out-of-sample. Kahneman (2011)é uma crítica comportamental da gestão ativa: o setor financeiro é pago para entregar persistência que estatisticamente não existe. Os dois argumentos chegam à mesma conclusão prática (1/N ou índice supera tentar ser esperto) por caminhos ortogonais: DGU é um teorema sobre otimizadores, Kahneman é um teorema sobre humanos.
As quatro linhas e seus dois espaços vazios
Vermelha (ex-ante): Sharpe sob μ̂_train cru — promessa. Azul (ex-post): Sharpe dos mesmos pesos sob retornos realizados — entrega. Verde (1/N): Sharpe da carteira ingênua no teste — benchmark DGU. Cinza (mediana): o “macaco médio” de Malkiel. Dois espaços vazios importam: vermelha ↔ azulé a ilusão em unidades de Sharpe; azul ↔ borda direita do suporte mede a diferença entre a Markowitz e o melhor sorteio Dirichlet do período. NÃO confunda esse segundo gap com “skill”: o sorteio Dirichlet(1) gera carteiras diversificadassobre os 30 ativos, enquanto Markowitz aposta em 5; a comparação está estruturalmente enviesada a favor da concentração que se alinhar com a tendência do período. Pelo argumento de Kahneman, o teste correto seria amostrar outras carteiras concentradas em 5 ativose ver onde a Markowitz cai. Detalhe na seção “Notas metodológicas” abaixo.
- • Carteiras aleatórias: Dirichlet(α=1)— uniforme sobre o (N−1)-simplex. Cada carteira long-only com pesos somando 1 tem mesma densidade. É o sorteio mais ingênuo possível: nenhum viés para diversificação (α > 1) ou para concentração (α < 1). Implementação via gamma sampling com Marsaglia-Tsang.
- • Limitação estrutural do null (Dirichlet vs concentração Markowitz). Dirichlet(1) gera carteiras diversificadasem torno do peso médio 1/N (≈ 3,3% para N=30); a Markowitz, por outro lado, concentra ≈ 92% em 5 ativos. A comparação “Sharpe Markowitz vs distribuição Dirichlet” mistura duas coisas distintas: (a) o efeito da concentração em si; e (b) o sinal informacional do que o otimizador escolheu. Quando os 5 ativos sobreponderados pela Markowitz continuam a tendência da janela de treino (persistência de regime), a Markowitz vence quase mecanicamente, sem que isso prove skill no sentido de Kahneman (1984). Um teste rigorosamente Kahneman-friendly amostraria outras carteiras concentradas em 5 ativos (Dirichlet(α=0,2) ou subset aleatório de 5 do top-30) e compararia a Markowitz contra esse null reformulado. Implementação prevista para a v2 do experimento.
- • Sharpe realizada (eixo X): S = (252 · <r_p> − rf) / (√252 · σ(r_p)), onde <r_p> e σ(r_p) são média e desvio amostrais dos retornos diários da carteira NO PERÍODO DE TESTE. rf= média histórica do CDI (BCB SGS série 12), tipicamente ≈ 12,8% a.a.
- • Markowitz ex-ante: usa μ̂_train cru (Jensen-corrigido, anualizado ×252) semJorion shrinkage nem macro-anchor — isso é o que um usuário Markowitz ingênuo veria ao otimizar na fronteira de treino. Os pesos são escolhidos pelo pipeline defensivo completo do tab /markowitz (Ledoit-Wolf + Jorion + macro-anchor) — é a política que a plataforma efetivamente recomendaria. Só a Sharpe exibida usa μ̂ cru, para que o gap ex-ante − ex-post reflita o pleno otimismo do estimador amostral.
- • Janelas de treino e teste: divisão fixa (não rolante). Período de treino: primeiros trainYears × 252dias coterminais do universo. Período de teste: testYears × 252dias seguintes. A janela de teste é estritamente posterior à de treino — sem look-ahead. Para uma distribuição temporal robusta, use o tab /ingenuo que repete o exercício em janela rolante.
- • Determinismo: o RNG usa seed fixo
0xCAFEFEED(PRNG mulberry32). Recarregar a página produz o mesmo histograma exatamente — os 5.000 sorteios são reproduzíveis. Para amostragem fresca, troque universo, janela ou número de sorteios; cada combinação produz uma sequência determinística diferente. - • Limitações: (a) é uma única divisão treino/teste — diferentes períodos produzem diferentes ilusões; (b) μ̂ cru no ex-ante não é o que a plataforma realmente entrega ao usuário, é o que o usuário ingênuo veria; (c) o histograma de Dirichlet(1) é uma distribuição de referência teórica — gestores reais não sorteiam pesos uniformemente, então a distribuição empírica de Sharpes de gestores reais é um objeto diferente.
- • Reprodutibilidade: código da experiência em
app/lib/illusion.tscom 9 testes emillusion.test.ts(guards de input, monotonicidade dos sharpes ordenados, percentil em [0,1], pesos 1/N exatos, determinismo seed-fixo, viés ex-ante ≥ ex-post em IID sintético).