Porquê Fazer Backtesting — A Intuição Engana

O cérebro humano é uma máquina extraordinária de reconhecimento de padrões — mas isso é simultaneamente a sua maior força e a sua maior fraqueza no contexto dos mercados. Olhamos para um gráfico e «vemos» padrões que parecem funcionar. «Sempre que o RSI desce abaixo de 30 e depois sobe acima, a acção recupera!» Mas essa percepção é enviesada por dezenas de vieses cognitivos documentados. O viés de confirmação faz-nos notar os casos em que o padrão funcionou e ignorar os casos em que falhou. O viés de recência dá peso excessivo aos exemplos mais recentes. O viés de retrospectiva faz-nos acreditar que «sempre soubemos» que determinado trade ia funcionar.

O backtesting é o antídoto para todos estes vieses. Ao aplicar regras objectivas a todos os dados históricos — não apenas aos exemplos que nos convêm — obtemos uma imagem imparcial da performance da estratégia. Se o RSI abaixo de 30 funciona como sinal de compra, o backtest mostrará em quantos dos, digamos, 200 sinais gerados nos últimos 20 anos é que o preço efectivamente subiu. Talvez descubras que funciona 60% das vezes — ou talvez descubras que funciona apenas 45% das vezes e que a tua percepção estava completamente errada. Melhor descobrir isso com dados históricos do que com dinheiro real.

Como Fazer um Backtest — A Metodologia

Um backtest rigoroso segue cinco passos fundamentais. O primeiro é a definição precisa das regras. Cada regra deve ser suficientemente objectiva para que duas pessoas diferentes, olhando para os mesmos dados, cheguem à mesma conclusão. «Comprar quando o mercado parece sobrevendido» não é uma regra — é uma opinião. «Comprar quando o RSI de 14 períodos fecha abaixo de 30 e depois fecha acima de 30» é uma regra. «Vender quando o preço fechar abaixo da média móvel de 50 dias» é uma regra. Todas as condições de entrada, saída, stop loss e position sizing devem estar documentadas sem ambiguidade.

O segundo passo é a obtenção de dados históricos de qualidade. Dados com erros — preços incorrectos, splits não ajustados, dividendos ignorados — contaminarão todo o backtest. É preciso dados ajustados para splits e dividendos, com séries históricas completas (sem buracos), e idealmente de múltiplas fontes para verificação cruzada. Para acções, os dados devem incluir empresas que já não existem (que faliram ou foram adquiridas) — usar apenas acções que sobreviveram até hoje cria o chamado survivorship bias.

O terceiro passo é a execução cronológica. O backtest deve processar os dados do passado para o presente, dia a dia, exactamente como um trader teria operado em tempo real. Em cada dia, o sistema só pode «ver» os dados até esse dia — nunca dados futuros. Parece óbvio, mas é surpreendentemente fácil introduzir look-ahead bias em código de backtesting (por exemplo, usar o preço de fecho do dia para tomar uma decisão que deveria ser feita na abertura).

O quarto passo é o registo de cada trade: data e preço de entrada, data e preço de saída, razão da entrada, razão da saída, lucro ou perda, duração da posição. Este registo detalhado permite análises posteriores: quais foram os melhores e piores trades? Em que condições de mercado o sistema funciona melhor? Os trades perdedores têm algo em comum?

O quinto passo é o cálculo de métricas de performance — os números que determinam se o sistema vale a pena ou não.

As Métricas Essenciais — Os Números que Importam

A taxa de acerto (win rate) é a percentagem de trades lucrativos. Uma taxa de 50-60% é boa para a maioria dos sistemas. Mas a taxa de acerto, isoladamente, não diz nada. Um sistema que acerta 90% das vezes mas perde 10 vezes mais nos 10% de trades perdedores do que ganha nos 90% vencedores é um desastre. O que importa é a combinação entre taxa de acerto e rácio ganho/perda.

O profit factor (factor de lucro) é a razão entre lucros brutos e perdas brutas. Um profit factor de 1,0 significa que o sistema não ganha nem perde. Acima de 1,5 é decente. Acima de 2,0 é bom. Acima de 3,0 é excelente — mas também suspeito (pode indicar curve fitting ou amostra demasiado pequena). O profit factor é talvez a métrica individual mais útil porque combina taxa de acerto e rácio ganho/perda num único número.

O drawdown máximo é a maior queda do pico ao vale na curva de capital do sistema. Se o sistema produz um retorno total de 200% mas tem um drawdown máximo de 60%, a pergunta que se impõe é: conseguirias aguentar uma queda de 60% no teu capital sem abandonar o sistema? Porque se a resposta é não, o sistema não é adequado para ti — independentemente do retorno total. O drawdown máximo é a medida de dor que o sistema inflige, e a capacidade de suportar essa dor é o limite real de qualquer trader.

O Sharpe ratio mede o retorno por unidade de risco. Um Sharpe acima de 1,0 é aceitável, acima de 2,0 é bom, acima de 3,0 é excepcional. A expectância (expectancy) é o lucro médio por trade — a combinação da taxa de acerto, do ganho médio e da perda média. Uma expectância positiva significa que, em média, cada trade adiciona valor. Uma expectância negativa significa que o sistema perde dinheiro, independentemente de quantos trades se façam. A expectância deve ser positiva E suficiente para cobrir custos de transacção — um sistema com expectância de 0,02% por trade provavelmente não sobrevive às comissões e ao slippage.

Os Pecados Mortais — O Que Pode Destruir um Backtest

O pecado mais grave e mais comum é o curve fitting (ou overfitting) — optimizar os parâmetros do sistema até ele encaixar perfeitamente nos dados históricos. Se testares 500 combinações de médias móveis e escolheres a que produziu mais lucro nos últimos 10 anos, encontraste ruído, não sinal. A combinação 47/183 pode ter sido perfeita entre 2000 e 2010 por puro acaso estatístico — e será provavelmente medíocre entre 2010 e 2020. A regra de ouro: quanto mais parâmetros um sistema tem, maior o risco de overfitting. Um sistema com 2 parâmetros é mais robusto do que um com 20.

O survivorship bias (viés de sobrevivência) ocorre quando se testa apenas em acções que existem hoje, ignorando as que faliram, foram deslistadas ou adquiridas. Se testarmos uma estratégia de «comprar acções baratas» apenas nas acções que sobreviveram até hoje, os resultados parecerão melhores do que seriam na realidade — porque as acções baratas que faliram (e onde a estratégia teria gerado perdas de 100%) não estão na amostra.

O look-ahead bias (viés de antecipação) é usar informação que não estava disponível no momento da decisão. Exemplos subtis incluem: usar o preço de fecho de hoje para decidir comprar hoje (na realidade, o preço de fecho só é conhecido quando o mercado fecha), ou usar dados macroeconómicos que são frequentemente revistos meses depois da publicação inicial.

Finalmente, a ausência de custos de transacção. Um sistema que gera 200 trades por ano com lucro médio de 0,3% por trade parece rentável — até que se incluam comissões (0,1% por transacção) e slippage (a diferença entre o preço teórico e o preço real de execução, tipicamente 0,05-0,2%). De repente, o lucro de 0,3% transforma-se em lucro de 0,0% ou até perda. Sistemas com muitos trades e lucros médios pequenos são os mais vulneráveis a este efeito.

Do Backtest ao Trading Real — O Vale da Morte

Mesmo um backtest impecável — com dados limpos, sem look-ahead bias, com custos de transacção realistas, testado em amostras out-of-sample — não garante resultados no futuro. Porquê? Por três razões fundamentais. Primeira: os mercados mudam. O que funcionou nos anos 2000 pode não funcionar nos anos 2020 porque a estrutura do mercado mudou (mais algoritmos, spreads diferentes, regulação diferente). Segunda: o backtest não tem psicologia. Ver um drawdown de 20% no ecrã é muito diferente de viver um drawdown de 20% com dinheiro real — as decisões emocionais que se tomam sob pressão não existem no backtest.

Terceira: a execução é imperfeita. O backtest assume que se compra exactamente ao preço do sinal. Na realidade, pode haver slippage (o preço move-se antes de a ordem ser executada), pode haver falta de liquidez (não há contraparte disponível ao preço desejado), pode haver falhas técnicas (a plataforma falha, a internet cai). A distância entre o backtest perfeito e a execução imperfeita é o «vale da morte» onde muitos sistemas morrem.

A transição correcta é gradual. Depois de um backtest positivo, faz-se walk-forward analysis para validar robustez. Depois, opera-se em paper trading durante semanas ou meses. Depois, opera-se com tamanho mínimo (uma acção, um micro-lote) durante mais alguns meses. Só depois, gradualmente, se escala para o tamanho completo. Cada fase testa um aspecto diferente: o backtest testa as regras; o walk-forward testa a robustez; o paper trading testa a execução; o trading com tamanho mínimo testa a psicologia. Queimar etapas é a receita para perdas evitáveis. O backtesting é o primeiro passo de uma viagem — nunca o destino final.