Backtest Score

O backtest é uma técnica excelente para se analisar como uma determinada estratégia teria se comportado no passado. Porém, para um trader, muitas vezes isso não é o suficiente. Além de verificarmos as estatísticas da estratégia, queremos também saber se ela é a melhor disponível.

O problema é que nem sempre é fácil decidir qual o melhor conjunto de parâmetros para uma estratégia. No QuantBrasil, nós facilitamos essa análise gerando um Ranking de Backtests, e permitindo que cada usuário gere seu próprio ranking baseado em parâmetros customizados.

Ainda assim, muitas vezes não é claro qual backtest é o melhor. Considere o exemplo simplificado abaixo:

BacktestEVDrawdown
#10,50%5,67%
#20,40%4,19%

Embora o Backtest 1 possua um maior EV, ou seja, um maior valor esperado por trade, ele possui um drawdown maior, ou seja, um maior risco associado. Não é claro, pelos números, qual backtest é o melhor. No final, existe um grau de subjetividade onde cada trader valorizará aquilo que lhe é mais importante.

Por exemplo, nem sempre a estratégia que tem o melhor retorno percentual é preferível. Imagine esse outro exemplo:

BacktestRetornoDrawdown
#350%22,34%
#444%7,90%

Mesmo que o Backtest 3 tenha o maior retorno de todos, o risco que ele corre é 3x maior que o Backtest 4. Assim, dependendo da volatilidade aceita no portfólio, é perfeitamente natural que se opte pela estratégia mais estável.

Para mitigar esse problema nós desenvolvemos o nosso próprio score. O score é uma nota que atribuímos a cada backtest de modo que possamos comparar objetivamente duas ou mais estratégias.

O score do QuantBrasil está em constante aprimoramento, mas é uma função que leva em consideração as seguintes métricas e seus respectivos pesos:

MétricaPesoPreferência
EV (Valor Esperado)3Maior é melhor
Drawdown2Menor é melhor
Retorno Percentual2Maior é melhor
Operações por Dia2Maior é melhor
Porcentagem de Acerto1Maior é melhor

Além disso, o score é indefinido se:

  1. O backtest tiver menos que 5 operações;
  2. O preço do ativo for menor que 3,00.

Excluímos estratégias com poucas operações para evitar distorções. Por exemplo, um backtest com 1 trade que resultou 5% de lucro vai ter 100% de acerto, um EV irreal, e drawdown zero. Retiramos ativos com valor de face muito pequeno pois o efeito do slippage é muito pronunciado, uma vez que 1 tick para cima ou para baixo já afeta o resultado do trade significativamente.

Importante: o cálculo do score pode mudar a qualquer momento, considerando que o algoritmo está em constante evolução.

Classificando um Backtest

O score nos ajuda a comparar dois backtests – podemos dizer que, baseado no algoritmo do QuantBrasil, o backtest X é superior ao backtest Y. No entanto, isso ainda não resolve o problema de não sabermos se o backtest X é de fato um bom backtest, ou se ele é somente melhor que a concorrência. Em outras palavras, não é porque uma estratégia é melhor que outra, que ela é instrinsicamente boa.

Para ajudar nesse problema nós calculamos, periodicamente, o score dos últimos 100.000 backtests para cada timeframe. Depois, calculamos o percentil das notas, gerando a seguinte classificação:

Score PercentilClassificação
< 5%Péssimo
5% - 25%Muito Ruim
25% - 50%Ruim
50% - 75%Bom
75% - 95%Muito Bom
> 95%Excelente

Ou seja, sempre que o score de um backtest estiver no 95º percentil (significando que ele está no top 5% dos últimos 100.000 backtests computados para aquele timeframe) ele é classificado como Excelente.

Assim, temos uma abordagem qualitativa de um determinado backtest, e podemos compará-lo com todos seus pares para um determinado timeframe.

Importante: como o valor das métricas utilizadas varia significativamente de um timeframe para o outro, a nota é dada sempre relativa a um mesmo timeframe. Não é possível comparar objetivamente uma estratégia no 15 minutos com uma estratégia no semanal. Enquanto a primeira terá muito mais trades e um EV bem menor, a segunda terá pouquíssimos trades e potencialmente um EV muito mais alto.

Visualizando o Score

Para uma forma visual de comparação, o indicador de score abaixo está presente em todos os backtests que satisfaçam os requisitos mínimos.

20.88
73.11
78.12
O score de 73.11 é classificado como Muito Bom.

Com ele, fica fácil visualizar o score do backtest, sua posição relativa aos outros, e sua classificação qualitativa. Note que o 5º e o 95º percentis, que marcam os extremos da classificação, estão sempre disponíveis.

FAQ