Validação: Walk-Forward e Multiverso

Os testes que separam um algoritmo robusto de um sobreajustado ao passado. Ative-os antes de operar.

Quando a exploração termina e você vê um algoritmo com Sharpe de 3, rentabilidade de 400% e um drawdown ridiculamente pequeno, a reação natural é se empolgar. Resista a esse impulso. Antes de operar qualquer algoritmo com dinheiro real, você precisa entender a ameaça mais silenciosa do trading algorítmico: o sobreajuste.

O sobreajuste (overfitting) é o maior perigo do trading algorítmico. Um algoritmo sobreajustado «memorizou» o histórico concreto sobre o qual foi treinado: aprendeu o ruído, não o sinal. Em dados novos — o futuro real — falha de forma consistente. O problema se agrava quando você testa 10.000 combinações: por pura estatística, algumas parecerão ótimas apenas por sorte. As validações Walk-Forward e Multiverso existem exatamente para desmascarar essas armadilhas.

Walk-Forward (validação temporal)

A ideia é simples, mas poderosa: em vez de treinar e avaliar o algoritmo sobre todo o histórico, você divide o tempo em janelas. Em cada janela, o algoritmo é «escolhido» ou calibrado sobre um trecho (in-sample) e avaliado sobre o trecho seguinte que nunca viu (out-of-sample, OOS). Depois a janela avança e o processo se repete. No final, só importa o desempenho acumulado nos trechos OOS, pois isso simula o que aconteceria no futuro real.

text
[--- train ---][test]
       [--- train ---][test]
              [--- train ---][test]
                     [--- train ---][test]

   → se evalúa SOLO en los tramos "test" (datos nunca vistos)
A janela de treinamento avança passo a passo; o algoritmo nunca «vê» o trecho de teste até chegar o momento de avaliá-lo.
Aba Walk-Forward ativada com sua configuração
Walk-Forward ativado: você escolhe o tamanho da janela de teste, o modo (validação ou reotimização) e os filtros mínimos de robustez.

Parâmetros de configuração

ParâmetroOpçõesValor padrãoO que faz
Ativar Walk-ForwardSim / NãoNãoAtiva a validação temporal. Desativado por padrão para não encarecer explorações rápidas.
Tamanho da janela de teste (testFraction)1/12, 1/8, 1/6, 1/4, 1/3, 1/21/4 do totalQue fração do histórico total é usada como «teste» em cada janela. Menor = mais janelas e maior granularidade; maior = cada janela OOS dura mais (melhor estimativa da dispersão).
ModoValidação / ReotimizaçãoValidaçãoValidação: testa os mesmos parâmetros encontrados na exploração em cada janela OOS. Reotimização: recalibra os parâmetros em cada janela de treinamento antes de avaliar. A reotimização é mais lenta, mas detecta se o algo requer ajustes frequentes (sinal de fragilidade).
Profundidade (modo reotimização)Rápida (5 gen / 20 pop) · Padrão (10 / 30) · Profunda (20 / 50)PadrãoQuanto esforço genético é dedicado a recalibrar em cada janela. Maior profundidade = mais tempo de cómputo, mas resultados mais precisos.
topN1 – 5020Quantas das melhores estratégias da exploração são submetidas ao Walk-Forward. Validar as 10.000 combinações seria proibitivo; as 20 melhores já capturam a maior parte do valor.
Filtros mínimos de aprovaçãoWFE ≥ 0.5 · Pass rate ≥ 60% · Sharpe OOS ≥ 0.5AtivosLimiares mínimos para que um algoritmo passe na validação WF. Você pode ajustá-los conforme sua exigência, mas não os abaixe se ainda não tem experiência.

Métricas retornadas pelo Walk-Forward

MétricaSignificado e interpretação
WFE (Walk-Forward Efficiency)Desempenho OOS ÷ desempenho in-sample. >0.5 é sinal de robustez; próximo de 1 é excelente (o algo não se infla no treino); abaixo de 0.3 sugere sobreajuste severo. Não espere um WFE de 1: sempre haverá alguma degradação fora da amostra.
Estabilidade de parâmetrosO quanto os parâmetros ótimos variam de uma janela para outra (no modo reotimização). Se os parâmetros que funcionam mudam radicalmente a cada mês, o algo não é estável; se se mantêm similares, há um sinal real de fundo.
Inclinação de degradaçãoSe o desempenho nos trechos OOS cai janela a janela, o algo está perdendo relevância com o tempo (as condições de mercado mudaram). Uma inclinação negativa acentuada é sinal de alerta.
Sharpe OOS médioSharpe médio calculado exclusivamente sobre os trechos nunca vistos. Este é o número que mais se aproxima do que você obteria no futuro real. Um Sharpe OOS ≥ 0.5 já é um resultado honesto.
Pass ratePorcentagem de janelas OOS onde a estratégia cumpriu os critérios mínimos. Um pass rate de 70% significa que em 7 de cada 10 períodos o algo se comportou como esperado. Abaixo de 60% é sinal de inconsistência.

Guia rápido para escolher testFraction conforme o histórico disponível: com menos de 6 meses use 1/4 no modo validação; com 6 a 18 meses use 1/4 no modo reotimização; com mais de 18 meses você pode baixar para 1/6 em reotimização para ter mais janelas e uma estimativa de degradação mais confiável.

Multiverso (validação sintética)

O Walk-Forward diz se o algoritmo aguentou no único passado que ocorreu. O Multiverso responde uma pergunta diferente: e se o mercado tivesse tomado outro caminho? Em vez de dividir o histórico real, ele gera N mercados «paralelos» estatisticamente coerentes com o original: outros caminhos que o preço poderia ter percorrido com a mesma volatilidade, tendências e correlações. Se seu algoritmo funciona bem em centenas desses universos alternativos, é porque capturou algo real — não porque aproveitou uma anomalia exclusiva do passado concreto que você viveu.

Parâmetros de configuração

ParâmetroOpçõesValor padrão
Ativar MultiversoSim / NãoNão
Nº de universos50 · 100 · 250 · 500 · 1000100
Motor (enginePreset)Equilibrado · Conservador · AgressivoEquilibrado
topN1 – 103
Nº de regimes de mercado1 – 43 (altista / baixista / crise)
Executar validadores adicionaisSim / NãoSim

O resultado principal do Multiverso é um Score de 0 a 100. O que cada faixa significa:

  • Score ≥ 75 — Robusto. O algoritmo funcionou consistentemente na grande maioria dos universos alternativos. Esta é a barra mínima para considerar operá-lo ao vivo.
  • Score 50–74 — Moderado. Funciona bem em alguns cenários, mas não em todos. Pode ser válido, mas precisa de mais contexto: em quais cenários falha? São prováveis no futuro próximo?
  • Score < 50 — Frágil. Só funcionou em uma fração reduzida dos universos simulados. Muito provavelmente capturou uma anomalia do histórico concreto. Não o opere com dinheiro real.
Aba Multiverso ativada com sua configuração
Multiverso ativado: você define quantos universos sintéticos gerar e o motor de geração. O resultado é um Score de robustez de 0 a 100.

DSR e Monte Carlo (relacionados)

Walk-Forward e Multiverso não atuam sozinhos. Fazem parte de um sistema de quatro camadas. As outras duas são o DSR e o Monte Carlo, que você também encontrará na plataforma. O DSR (Deflated Sharpe Ratio) é aplicado automaticamente durante a exploração: corrige o Sharpe de cada candidato pelo número de combinações testadas, pois se você testa 10.000 combos, o Sharpe esperado do melhor por pura sorte é muito alto. O DSR abaixa esse limiar estatisticamente e descarta os que não justificam seu Sharpe dado o tamanho da busca. A análise Monte Carlo — que você pode executar depois sobre um algoritmo concreto — faz algo diferente: reordena aleatoriamente a sequência dos trades reais e simula milhares de sequências possíveis para estressar a curva de capital e o drawdown máximo provável.

O loop de robustez

Essas quatro camadas não são redundantes: são ortogonais. Cada uma ataca um eixo diferente do sobreajuste. Juntas formam o processo que o TradingNote chama de «loop de robustez»:

  1. 1

    Exploração genética

    Você lança a exploração e o motor testa milhares de combinações de indicadores e parâmetros, guardando os candidatos com melhor desempenho no histórico.

  2. 2

    DSR descarta os sortudos

    O Deflated Sharpe Ratio ajusta o limiar estatístico pelo tamanho da busca e elimina os algoritmos cujo Sharpe não supera o que você esperaria por acaso ao testar tantas combinações.

  3. 3

    Walk-Forward verifica a dimensão temporal

    Confirma que o algoritmo aguentou em trechos do histórico que não usou para se otimizar. Se o desempenho desmorona fora da amostra, o algoritmo memorizou, não aprendeu.

  4. 4

    Multiverso verifica a dimensão de cenários

    Confirma que o algoritmo não dependeu do caminho específico que o mercado tomou. Se funciona em centenas de mercados sintéticos alternativos, é robusto à aleatoriedade do histórico.

O que sobrevive às quatro camadas merece sua atenção. Não será o mais espetacular do lote, mas será honesto.

Walk-Forward e Multiverso só executam sobre as topN melhores estratégias porque são operações custosas em cómputo. Não espere que elas validem as 10.000 combinações da exploração: o objetivo é filtrar os finalistas, não reexplorar todo o espaço.

Não se apaixone por um Sharpe alto sem validar. Um Sharpe de 4 com WFE de 0.1 é uma armadilha clássica de sobreajuste. Um Sharpe de 1.5 com WFE 0.7 e score Multiverso 80 é ouro: esse algoritmo demonstrou que funciona fora dos dados que o geraram e em cenários que nunca ocorreram.

Assim que seus melhores candidatos passarem pelo loop de robustez, o próximo passo é explorar os resultados em profundidade e visualizar a exploração no Neural Explorer. Continue em «Resultados e Neural Explorer».