Módulo 08 AdmTech · Aula 05 · 01/12/2026 · Semana 8 · Sprint 4

Material de apoio: Validação e Robustez do Modelo

A Aula 04 deixou prontas as carteiras de variância mínima e de máximo Sharpe e a fronteira de 50 pontos, calculadas num notebook. Esta aula testa as duas carteiras num período que o otimizador não viu, mede quanto os pesos mudam de uma janela de dados para outra e qual estimativa mais mexe neles. A seção 1 é o preparo antes do encontro.

1. Preparação

O encontro abre com uma votação sobre o conteúdo desta seção. Faça as três partes antes da aula, nesta ordem.

Trilha mínima. Para acompanhar o encontro, o indispensável é o primeiro autoestudo (70 min), as duas animações e a autoverificação. O restante é aprofundamento, para depois do encontro. Os tempos dos autoestudos são os da Adalove.

PrioridadeItemTempo declarado
IndispensávelAutoestudo 1: Os limites do otimizador (1.1)70 min
IndispensávelDuas animações do conceito central (1.2)até 60 segundos cada (ADR-005)
IndispensávelAutoverificação de cinco perguntas, sem nota (1.3)sem duração declarada
AprofundamentoSeções 2 a 8 deste material e o notebook da aulasem duração declarada
AprofundamentoCapítulo 6 de Bodie, Kane e Marcus (seção 9)sem duração declarada

A Atividade Ponderada 2 (120 min na Adalove) é avaliação individual da semana, de 3 pontos, e fica fora da trilha de preparo: o encontro não pressupõe que ela esteja feita.

1.1 Autoestudos da semana, na Adalove

  1. Os limites do otimizador: premissas, sensibilidade e risco de modelo (70 min): por que uma carteira ótima no papel pode falhar na prática, com atenção às premissas e à sensibilidade das soluções de otimização, e um vídeo sobre como medir a perda máxima de uma estratégia.
  2. Atividade Ponderada 2: A carteira ótima sobrevive fora da amostra? (120 min): a atividade individual desta semana. O enunciado e o barema estão na Adalove.

1.2 Duas animações do conceito central

A curva de drawdown no teste. As duas carteiras ótimas de 2023 e 2024 aplicadas em 2025, pregão a pregão, ao lado do CDI. Observe qual delas termina o ano acima do CDI e em que mês cada uma atinge a maior queda desde um pico.

A janela de treino deslizando. A janela de 24 meses anda um mês por vez, e cada janela acrescenta uma barra com os pesos da carteira de máximo Sharpe otimizada nela. Observe se o ativo de maior peso na primeira janela continua no topo até a última, e compare o Sharpe prometido com o entregue na legenda.

1.3 Autoverificação, sem nota

Responda antes de abrir a resposta comentada.

  1. Na animação do drawdown, qual das duas carteiras termina 2025 abaixo do CDI?
    Resposta comentada

    A de máximo Sharpe. Ela acumulou 10,96% em 2025, contra 14,26% do CDI no mesmo período, e a de variância mínima acumulou 22,83%. A carteira de maior Sharpe prometido no treino foi a de menor retorno no teste.

  2. O drawdown máximo do máximo Sharpe em 2025 foi de -8,49%. A carteira perdeu 8,49% no ano?
    Resposta comentada

    Não. Ela terminou o ano com 10,96% de ganho. O drawdown mede a maior queda do patrimônio desde um pico anterior, e esse fundo aconteceu em 08/04/2025. É a perda que quem entrou no pico teria visto no pior momento, e é a medida que um cliente sente.

  3. Na animação da janela deslizante, o ativo de maior peso na primeira janela continua no topo até a última?
    Resposta comentada

    Não. A PETR4 tem 76,52% da carteira na primeira janela, de 2021 e 2022, e vai perdendo espaço para BBAS3, GOLD11 e IVVB11 conforme a janela anda. A legenda final mostra que, em 25 das 33 janelas, o Sharpe entregue ficou abaixo do prometido. Essas janelas se sobrepõem, e a seção 6 mostra a mesma medida em anos de teste disjuntos.

  4. Por que o período de teste precisa vir depois do período de treino, em vez de ser sorteado entre os pregões?
    Resposta comentada

    Porque o comitê vai aplicar a carteira no futuro, sem conhecer os retornos que ainda não aconteceram. Sorteando pregões, o treino enxerga dias posteriores ao teste, e o resultado medido fica melhor do que o que a carteira consegue entregar de fato.

  5. O autoestudo trata da sensibilidade da solução ótima aos parâmetros do problema. Qual parâmetro do otimizador de Markowitz é estimado com mais erro, o retorno esperado ou a covariância?
    Resposta comentada

    O retorno esperado. A média de dois anos de retornos diários tem erro padrão da ordem da volatilidade dividida pela raiz do número de anos, e na cesta a mediana desse erro é de 17,63% ao ano (seção 7). A covariância usa as mesmas observações com mais eficiência. A carteira de máximo Sharpe usa o retorno esperado e por isso herda esse erro; a de variância mínima só usa a covariância.

2. A amostra desta aula

A aula usa o tratamento de ausência único do módulo, registrado na ADR-009: lacuna isolada é preenchida com o último preço, nada é preenchido antes da primeira cotação de um ativo, e a análise conjunta usa a janela comum dos ativos envolvidos. Com os 15 ativos da cesta de referência, essa janela começa em 14/12/2020, primeiro retorno depois da primeira cotação do GOLD11, e é a mesma que a Aula 04 usa. Aqui o estudo começa em 04/01/2021, primeiro pregão de 2021, para que as janelas de treino e de teste caiam em anos e meses civis inteiros.

Dentro do período há uma lacuna, 24/10/2025, em que BOVA11, IVVB11 e GOLD11 ficaram sem cotação (Aula 01). O preço do dia anterior é repetido: o retorno desses três ETFs é zero nesse dia, e o pregão seguinte leva a variação dos dois dias. O pregão fica na amostra, e são 1.412 retornos diários, de 04/01/2021 a 31/08/2026; o primeiro mede a variação desde o último pregão de 2020.

Para o ADR do grupo. A janela de dados é uma decisão com impacto numérico, e esta aula mostra quanto: a mesma cesta, otimizada em 2021 e 2022 ou em 2023 e 2024, produz carteiras de máximo Sharpe com 82,60% da carteira diferente (seção 6).

3. Treino e teste no tempo

O otimizador da Aula 04 recebe retorno esperado, covariância e CDI estimados numa janela de dados e devolve os pesos que seriam ótimos se o futuro repetisse aquela janela. Para saber se o resultado vale fora dela, a amostra é dividida em duas partes, na ordem do tempo:

PeríodoDatasPregõesUso
Treino02/01/2023 a 30/12/2024499estimar e otimizar
Teste02/01/2025 a 30/12/2025250aplicar os pesos congelados e medir

No teste, os pesos não mudam: a carteira rende, a cada pregão, a soma dos retornos dos ativos ponderada pelos pesos do treino. Essa conta supõe rebalanceamento diário de volta aos pesos originais, sem custo de transação, que é a mesma premissa do retorno esperado do otimizador. Retorno e volatilidade do teste são anualizados por 252, como no treino, para que esperado e realizado sejam comparáveis. O custo de trocar a carteira a cada reotimização entra na seção 6.2.

Vazamento temporal. Sortear 30% dos pregões de 2023 a 2025 para o teste parece mais "estatístico", mas faz o treino conhecer dias posteriores aos do teste. O otimizador aprende, por exemplo, a alta de um ativo que aconteceu em 2025 e é avaliado em dias de 2024. O resultado medido no notebook fica acima do que o comitê vai ver na prática.

4. Esperado contra realizado

CarteiraRetornoVolatilidadeSharpeAcumulado em 2025
Máximo Sharpe, esperado no treino32,05%9,51%2,11
Máximo Sharpe, realizado em 202511,02%10,35%-0,3210,96%
Variância mínima, esperado no treino20,77%7,46%1,17
Variância mínima, realizado em 202521,12%8,81%0,7722,83%

Três leituras saem da tabela.

  1. No máximo Sharpe, a volatilidade errou menos que o retorno. 9,51% prevista contra 10,35% realizada. Na variância mínima a volatilidade subiu de 7,46% para 8,81%, mais do que o erro de retorno dela. O retorno de 2025 nesta tabela é a média diária anualizada por 252; o acumulado no ano está na última coluna.
  2. O retorno previsto do máximo Sharpe erra muito. 32,05% esperados contra 11,02% realizados. O otimizador escolhe os ativos com maior retorno médio no treino, e parte desse retorno era acaso daquela janela. Michaud (1989) chamou o otimizador de média e variância de "maximizador de erro de estimação" por esse motivo.
  3. O CDI subiu. A taxa livre de risco foi de 12,00% ao ano no treino e de 14,32% ao ano no teste. Como o Sharpe é o retorno menos o CDI dividido pela volatilidade, o mesmo retorno vale menos Sharpe quando o CDI sobe. O máximo Sharpe rendeu menos que o CDI e por isso tem Sharpe negativo.

A variância mínima não usa o retorno esperado. Ela prometeu menos e entregou um retorno praticamente igual ao esperado, 21,12% contra 20,77%; o Sharpe caiu de 1,17 para 0,77 pela volatilidade um pouco maior e pelo CDI mais alto.

5. Drawdown

Volatilidade mede a dispersão dos retornos diários e trata alta e queda do mesmo jeito. Quem decide alocar o caixa de uma empresa pergunta outra coisa: quanto o patrimônio chegou a cair desde o melhor momento. Essa é a medida de drawdown.

patrimonio = (1 + diario).cumprod()          # começa em 1 no primeiro pregão do teste
queda = patrimonio / patrimonio.cummax() - 1  # 0 nos picos, negativo abaixo deles
drawdown_maximo = queda.min()                 # a pior queda desde um pico
data_do_fundo = queda.idxmin()

Em 2025, o máximo Sharpe teve drawdown máximo de -8,49%, com fundo em 08/04/2025, e a variância mínima, de -4,75%, com fundo em 13/08/2025. As duas terminaram o ano no positivo. O drawdown mede a pior perda que alguém que entrou num pico teria visto antes da recuperação, o que pode acontecer num ano que termina com ganho.

Leitura para o comitê. O drawdown responde se a carteira cabe no perfil do cliente. Um cliente que precisa do caixa em data marcada se importa com quanto pode estar abaixo do pico no dia do resgate; um cliente de horizonte longo tolera quedas maiores. Na Ponderada 2, o perfil que você recebe é o critério dessa leitura.

6. Janelas deslizantes e estabilidade dos pesos

Um único ano de teste pode ter sido sorte ou azar. As janelas deslizantes repetem o mesmo experimento: treino de 24 meses, teste nos 12 meses seguintes, e a janela anda um mês por vez. Do treino iniciado em 01/2021 ao iniciado em 09/2023 cabem 33 janelas, com o último teste terminando em 08/2026.

Medida nas 33 janelasMáximo SharpeVariância mínima
Janelas com Sharpe entregue abaixo do prometido2514
Janelas com Sharpe entregue negativo95
Sharpe prometido, mediana1,350,21
Sharpe entregue, mediana0,530,70
Carteira trocada de um mês para o seguinte, mediana11,91%3,23%
Carteira trocada de um mês para o seguinte, máximo32,32%7,88%

Carteira trocada é a medida de estabilidade usada na aula: metade da soma, ativo a ativo, da diferença absoluta entre dois vetores de pesos. Zero é a mesma carteira e 100% é trocar tudo; o número é a fração do patrimônio que precisaria mudar de mãos para ir de uma versão à outra. Entre a janela de 2021 e 2022 e a de 2023 e 2024, o máximo Sharpe troca 82,60% da carteira: a PETR4 cai de 76,52% para 17,40%, e IVVB11 e GOLD11, que tinham peso zero, passam a 41,51% e 21,06%. A variância mínima troca 33,23%.

O máximo Sharpe ficou abaixo da promessa em 25 das 33 janelas, e a variância mínima, em 14. O que separa as duas é o retorno esperado, que só o máximo Sharpe usa (seção 7).

Uma mensagem do SLSQP que aparece nas janelas. Em algumas janelas o otimizador para com Positive directional derivative for linesearch e success=False. A mensagem diz que a busca em linha não encontrou passo que melhorasse a função na precisão pedida, o que acontece quando o ponto já está em cima do ótimo e a tolerância é mais apertada do que a aritmética permite. O otimizador da aula tenta de novo com tolerância um degrau mais folgada antes de desistir, e só aceita resultado com success=True. Ignorar o success e usar o x devolvido é o erro a evitar: em outra situação, a mesma linha de código entrega pesos que não são ótimos.

6.1 As 33 janelas se sobrepõem

Como a janela anda um mês por vez, duas janelas vizinhas compartilham 11 dos 12 meses de teste: na mediana, 91,60% dos pregões de teste de uma estão também no teste da seguinte, e um mesmo pregão entra no teste de até 12 janelas. Somados, os testes das 33 janelas têm 8.231 pregões, mas só 915 pregões distintos. Uma janela e a vizinha medem quase o mesmo período, e a contagem de 25 em 33 repete o mesmo resultado várias vezes. Ela descreve o período inteiro, sem valer como 33 experimentos independentes.

Com a mesma regra de treino (24 meses imediatamente antes do teste), cabem na base três anos de teste disjuntos, as janelas 1, 13 e 25:

Ano de testeTreinoMáximo Sharpe, prometidoMáximo Sharpe, entregueVariância mínima, prometidoVariância mínima, entregue
202301/2021 a 12/20220,671,59-0,700,41
202401/2022 a 12/20231,39-0,25-0,291,09
202501/2023 a 12/20242,11-0,321,170,77

Nesses três experimentos independentes, o máximo Sharpe entregou menos que prometeu em 2 de 3 anos, e a variância mínima, em 1 de 3. Em 2023 o máximo Sharpe entregou mais do que prometeu. Mudando o mês de partida dos blocos disjuntos (são 12 escolhas possíveis), o máximo Sharpe fica abaixo do prometido em pelo menos 2 blocos em todas. Três anos são pouca evidência, e é esse o tamanho real da amostra de validação que a base comporta.

6.2 O custo de reotimizar

Uma carteira que troca 11,91% por mês na mediana gera custo de transação a cada revisão. A simulação abaixo reotimiza o máximo Sharpe de 01/2023 a 08/2026 (915 pregões, de 02/01/2023 a 31/08/2026) a cada 1, 3 ou 12 meses, sempre com os 24 meses anteriores de treino, e mantém os pesos constantes entre reotimizações. O custo é uma premissa declarada, sem dado de corretora: 0,10% sobre o valor negociado, isto é, sobre compras mais vendas (a soma de |Δw|, o dobro da carteira trocada), sem custo na compra inicial.

ReotimizaçãoReotimizaçõesTrocado por reotimização, médiaTrocado por anoCusto por anoRetorno anual brutoRetorno anual líquido
Mensal4413,25%156,87%0,31 p.p.29,39%29,08%
Trimestral1522,69%87,50%0,18 p.p.25,93%25,76%
Anual458,75%48,54%0,10 p.p.20,77%20,68%

A 0,10% por operação, o custo tira 0,31 p.p. por ano da reotimização mensal, e o Sharpe passa de 0,92 para 0,90. A diferença de retorno bruto entre as frequências vem de um único caminho de 915 pregões e não mostra que reotimizar todo mês rende mais em outro período. Por isso a frequência de reotimização entra no ADR como hipótese condicionada ao custo real da corretora do parceiro, com a carteira trocada por ano e o retorno líquido.

7. Sensibilidade da fronteira

Duas mudanças na mesma janela de treino de 2023 e 2024 medem qual estimativa mais move os pesos.

7.1 Retorno esperado perturbado

Cada retorno esperado anual recebe mais ou menos 5 pontos percentuais, com o sinal sorteado por semente fixa. O tamanho da perturbação é pequeno perto do erro de estimação: com dois anos de dados, o erro padrão da média anual de um ativo é a volatilidade anual dividida pela raiz de dois, e a mediana desse erro na cesta é 17,63%. Mesmo assim, o máximo Sharpe troca 19,75% da carteira, e a PETR4 sobe de 17% para 27%. A variância mínima troca 0,00%, porque o retorno esperado não entra na conta dela.

7.2 Covariância de Ledoit-Wolf

O estimador de Ledoit e Wolf (2004) é uma média ponderada entre a covariância amostral e um alvo simples, a identidade multiplicada pela variância média. O peso do alvo, chamado de encolhimento, é escolhido pelos próprios dados: cresce quando há poucas observações por ativo e encolhe quando há muitas. Com 499 pregões e 15 ativos, o encolhimento ótimo é de apenas 2,41%, e a troca de estimador move 1,91% do máximo Sharpe e 1,81% da variância mínima.

Quando Ledoit-Wolf faz diferença. Com janelas curtas e muitos ativos, a covariância amostral fica instável e o encolhimento cresce. Na Ponderada 2 e no A4, meça o encolhimento na sua janela antes de atribuir a ele a estabilidade dos pesos, e registre no ADR o número medido, não o efeito esperado.

8. O ADR de quanto confiar no modelo

O A4 pede que a fragilidade dos pesos seja comunicada ao parceiro com honestidade. O lugar dessa comunicação no repositório é um ADR que declara quanto confiar no otimizador, com o número fora da amostra medido nos dados do grupo. Esqueleto, a partir do modelo do curso:

# ADR NNNN: Janela de dados e confiança no otimizador

## Contexto e problema
Qual carteira o otimizador prometeu na janela de treino e o que ela entregou no teste.

## Opções consideradas
- Janela de treino A (datas) e janela B (datas)
- Covariância amostral e Ledoit-Wolf

## Decisão
A janela e o estimador escolhidos, com o porquê. A frequência de
reotimização entra como hipótese condicionada: carteira trocada por ano,
retorno líquido e a premissa de custo por operação declarada.

## Consequências
- Impacto numérico: Sharpe prometido contra entregue, drawdown no teste
  e carteira trocada entre janelas, medidos nos dados do grupo.
- O que o comitê precisa saber antes de usar os pesos.

9. Depois do encontro

Desafio do notebook. Reotimizar o máximo Sharpe do grupo em três janelas de 12 meses seguidas (seção 7 do notebook), medir quanto cada peso varia e escrever o que isso significa para a recomendação ao comitê. Na cesta de referência, o maior peso é BBAS3 em 2022 e em 2023, com 35,84% e 30,71%, e passa a ser IVVB11 em 2024, com 52,56%.

Avanço do A4. A tabela comparativa das duas carteiras ótimas com o resultado fora da amostra e o ADR da janela de dados e do estimador de covariância, com o impacto numérico. O A4 vale 3 pontos; a review da Sprint 4 é em 04/12/2026, e a entrega, na sexta, 04/12/2026, às 23h59.

Ponderada 2. Individual, 3 pontos, com cesta e perfil de cliente definidos pelo último dígito do RA. O enunciado e o barema estão na Adalove; este material usa só a cesta de referência.

Leitura complementar. O capítulo 6 de Bodie, Kane e Marcus, sobre risco de estimação, citado na Ponderada 2. A página de referências lista as fontes.

O laboratório completo está no notebook da Aula 05.

Prof. José Romualdo · Módulo 08 AdmTech · 2026-2B-T19