Pular para o conteúdo principal
Guia

Por Que Um Único Backtest Pode Enganar

Um backtest com ótima aparência e uma estratégia que realmente funciona não são a mesma coisa. Veja como diferenciá-los — com qualquer ferramenta, inclusive a nossa.

Teste combinações suficientes, e algo vai parecer brilhante

Jogue uma moeda dez vezes e você provavelmente terá uma mistura sem graça. Peça para mil pessoas fazerem isso, e alguém vai tirar dez caras seguidas. Ninguém chama essa pessoa de gênio em jogar moedas — mas, no backtesting, traders cometem exatamente esse erro todos os dias.

Toda otimização de parâmetros, em qualquer ferramenta, funciona da mesma forma: testar muitas combinações, destacar as melhores. Isso é genuinamente útil — mas traz uma pegadinha embutida. Algumas combinações vão parecer ótimas por pura sorte, porque o ruído aleatório nos dados históricos às vezes se alinha com uma configuração específica e produz uma curva de patrimônio bonita que não significa nada.

E quanto mais combinações você testa, maior a chance de que seu "melhor" resultado seja um desses acasos de sorte. Isso não é uma falha de um otimizador específico — é uma propriedade matemática de escolher o melhor entre muitos. Isso só significa que o topo de qualquer tabela de resultados deve ser lido com uma pergunta em mente: isto é uma vantagem real, ou o ganhador da loteria desta execução?

Três sinais que vale a pena verificar antes de confiar em qualquer resultado

Você não precisa da nossa ferramenta para isso. Eles são independentes de ferramenta e funcionam até em uma planilha.

1

Em quantos trades ele se baseia?

Um retorno de 300% em 14 trades é uma anedota, não uma evidência. Amostras pequenas produzem resultados extremos em ambas as direções — e sorte extrema parece idêntica a habilidade extrema. Quanto menos trades, menos um backtest pode te dizer.

2

Os vizinhos concordam?

Se o período 14 dá lucro, mas 13 e 15 dão prejuízo, você não encontrou uma vantagem — encontrou um pico isolado. Um valor de parâmetro que vale a pena confiar geralmente está dentro de uma região inteira de resultados decentes, porque uma vantagem real não desaparece quando uma configuração muda um passo. Picos isolados são a assinatura clássica do overfitting.

3

O quão ampla foi a busca?

O melhor resultado entre 20 combinações e o melhor entre 2.000 não têm o mesmo peso. Quanto mais ampla a busca, mais chances a sorte teve de produzir um vencedor — então mais impressionante um resultado precisa ser para superar a barreira do "pode ser só sorte".

Verificar os três manualmente, em cada execução, é tedioso. É por isso que quase ninguém faz isso. Esse é o verdadeiro problema que nos propusemos a resolver.

Como o RunOpti reporta isso — automaticamente, em cada execução

O RunOpti automatiza a varredura de parâmetros — mas a parte que mais nos importa é o que acontece depois que os backtests terminam. Cada resultado é pontuado contra os três sinais acima:

  • check_circle

    Sinalização de amostra baixa. Resultados baseados em menos trades do que um limite mínimo são explicitamente marcados como de baixa confiança — não importa o quão espetaculares os números brutos pareçam.

  • check_circle

    Estabilidade de vizinhança. A pontuação de cada combinação reflete o quão consistentemente os valores de parâmetros vizinhos performam. Um pico isolado pontua menos do que uma região sólida, mesmo quando o retorno bruto do pico é maior.

  • check_circle

    Deflação pelo tamanho da busca. As pontuações são ajustadas de acordo com quantas combinações a execução testou. Um melhor-entre-2.000 precisa superar uma barreira mais alta do que um melhor-entre-50, porque teve quarenta vezes mais chances de ter sorte.

  • check_circle

    E quando nada passa, nós dizemos isso. Se nenhuma região de parâmetros sobrevive a essas verificações, o RunOpti te diz diretamente: nenhuma região confiável encontrada. Achamos que uma ferramenta incapaz de dizer "esta execução não produziu nada confiável" não está realmente medindo confiabilidade nenhuma.

Esse último é o recurso que você vai gostar menos no momento — e o que faz o resto do relatório valer a pena ler.

Uma observação sobre o que essas pontuações significam. A pontuação de robustez do RunOpti é uma classificação relativa dentro de uma única execução — ela identifica quais das combinações testadas são mais confiáveis em relação umas às outras. Não é uma garantia de performance futura. Resultados passados — por mais cuidadosamente validados que sejam — não garantem retornos futuros.

Veja como sua estratégia se sai sob uma pontuação honesta

Execute uma varredura completa de parâmetros na sua própria estratégia e veja o quadro completo — as regiões robustas, os picos de sorte e a diferença entre eles.

De qualquer forma, sem pressão. Se a resposta honesta for "nenhuma região confiável encontrada", você vai preferir ouvir isso do seu otimizador antes de ouvir do mercado.