Como fazer o Backtest de uma Estratégia de Trading
P√°gina Inicial
Artigos
Como fazer o Backtest de uma Estratégia de Trading

Como fazer o Backtest de uma Estratégia de Trading

Intermedi√°rio
Publicado em Dec 17, 2020Atualizado em Jun 21, 2023
7m

TL;DR

Você acha que tem boas ideias sobre o mercado, mas não sabe como colocá-las à prova sem arriscar seus fundos? Para um bom trader, é essencial aprender como fazer o backtest de suas ideias de trades.

A ideia base do backtesting é que o que funcionou no passado pode funcionar no futuro. Mas como fazer isso sozinho? E como você deve avaliar os resultados? Vamos analisar um processo simples de backtesting.


Introdução

O backtesting é um dos principais componentes ao desenvolver sua própria estratégia de análise de gráficos e de trading. Ele é feito através da reconstrução de trades que teriam acontecido no passado com um sistema baseado em dados históricos. Os resultados do backtesting devem dar uma ideia geral sobre a eficácia de uma estratégia de investimento.

Antes de prosseguirmos, se você quiser fazer um backtest de suas próprias estratégias, a Binance Futures é o lugar perfeito. Se deseja obter acesso aos dados históricos da plataforma, por favor preencha este formulário.


O que é backtesting?

Caso queira informa√ß√Ķes mais detalhadas sobre o que √© o backtesting, leia nosso artigo O que √© Backtesting?.¬†

Resumidamente, o principal objetivo do backtesting é mostrar se suas ideias de trading são válidas. Você usa dados de mercado anteriores para ver qual seria o desempenho de uma estratégia. Se a estratégia parece ter potencial, pode ser que ela também seja eficaz em um ambiente de trading atual.


O que fazer antes do backtesting

Antes de começarmos com o exemplo de backtesting, você precisa determinar que tipo de profissional você é. Você é um trader discricionário ou sistemático?

O trading discricion√°rio √© baseado em decis√Ķes - os traders usam seu pr√≥prio julgamento para entrar e sair de uma posi√ß√£o. √Č uma estrat√©gia relativamente flex√≠vel e aberta, em que a maioria das decis√Ķes depende da avalia√ß√£o do trader sobre as condi√ß√Ķes e informa√ß√Ķes dispon√≠veis. O backtesting √© menos relevante quando se trata de trading discricion√°rio, uma vez que a estrat√©gia n√£o √© estritamente definida.

√Č claro que isso n√£o significa que se voc√™ for um trader discricion√°rio, n√£o deve fazer backtesting ou paper trading. Significa apenas que os resultados podem n√£o ser t√£o confi√°veis.

O trading sistemático é mais aplicável ao nosso tópico. Os traders sistemáticos contam com um sistema de trading que define e diz exatamente quando entrar e sair. Enquanto eles têm controle total sobre qual é a estratégia, os sinais de entrada e saída são determinados pela própria estratégia. Podemos imaginar uma estratégia sistemática simples da seguinte forma:

  • Quando A e B ocorrerem ao mesmo tempo, entrar em um trade.¬†
  • Quando X ocorrer ap√≥s, sair do trade.

Alguns traders preferem essa abordagem. Ela ajuda a eliminar decis√Ķes baseadas em emo√ß√Ķes e fornece um grau razo√°vel de garantia de que um sistema de trading √© lucrativo. Claro que ainda assim, n√£o h√° garantia absoluta.

√Č por isso que √© importante garantir que voc√™ tenha regras espec√≠ficas em seu sistema para entrada e sa√≠da de posi√ß√Ķes. Se a estrat√©gia n√£o for bem definida, os resultados tamb√©m ser√£o inconsistentes. Como voc√™ deve imaginar, esse tipo de trading √© mais popular com trading algor√≠tmico.

Existem softwares de backtesting disponíveis para compra, caso você queira usar o backtesting automático. Você pode inserir seus dados e o software fará o backtesting para você. No entanto, neste exemplo, vamos usar uma estratégia de backtesting manual. Vai dar um pouco mais de trabalho, mas é totalmente gratuito.


Como fazer o backtest de uma estratégia de trading

Voc√™ encontra um modelo de planilha do Google Sheets neste link. Este √© um modelo rudimentar que voc√™ pode usar como ponto de partida para criar o seu pr√≥prio modelo. D√° para voc√™ ter uma ideia geral das informa√ß√Ķes contidas uma folha de backtesting. Alguns traders preferem usar Excel ou codificar em Python ‚Äď n√£o existem regras espec√≠ficas. Voc√™ pode adicionar quantos dados julgar necess√°rio.
Data
Mercado
Direção
Entrada
Stop LossTake ProfitRiscoRecompensaPnL

08/12

BTCUSD

Long

$18.000

$16.200

$21.600

10%

20%

3600

09/12

BTCUSD

Short

$19.000

$20.900

$13.300

10%

30%

-1900


Vamos fazer o backtest de uma estratégia de trading simples. Aqui está nossa ideia:

  • Compramos um Bitcoin no primeiro fechamento di√°rio depois de um golden cross. Consideramos um golden cross quando a m√©dia m√≥vel de 50 dias cruza por cima da m√©dia m√≥vel de 200 dias.
  • Vendemos um Bitcoin no primeiro fechamento di√°rio ap√≥s um death cross. Consideramos um death cross quando a m√©dia m√≥vel de 200 dias cruza abaixo da m√©dia m√≥vel de 50 dias.

Como você pode ver, também definimos o período de tempo em que a estratégia é válida. Isso significa que não iremos considerar um sinal de trade se um golden cross ocorrer no gráfico de 4 horas.

Para este exemplo, vamos considerar apenas para o período até o início de 2019. No entanto, se você quiser obter resultados mais precisos e confiáveis, usar preços anteriores do Bitcoin.

Vamos ver quais os sinais de trading que o sistema produziu para o período considerado:

  • Comprar a ~$5.400
  • Vender a ~$9.200
  • Comprar a ~$9.600
  • Vender a ~$6.700
  • Comprar a ~$9.000


Abaixo, podemos visualizar a sobreposição dos sinais no gráfico:

Estratégia Golden Cross-Death Cross. Fonte: TradingView.


Nosso primeiro trade teria gerado um lucro de cerca de $3.800, enquanto o segundo resultou em uma perda de aproximadamente $2.900. Isso significa que nosso PnL realizado é de $900 até o momento. 

Também temos um trade ativo que, em dezembro de 2020, tinha cerca de $9.000 de lucro não realizado. Se mantivermos nossa estratégia definida inicialmente, fecharemos a posição quando ocorrer o próximo death cross. 



Avaliando os resultados do backtesting

Então, o que esses resultados mostram? Nossa estratégia teria dado um retorno razoável, mas não mostra nada tão impressionante até o momento. Poderíamos concluir o trade atualmente em aberto para aumentar drasticamente nosso PnL realizado, mas isso anularia o propósito do backtesting. Se não seguirmos o plano, os resultados também não serão confiáveis.

Embora seja uma estrat√©gia sistem√°tica, tamb√©m vale a pena considerar o contexto. O trade n√£o lucrativo de $9.600 a $6.700 ocorreu em mar√ßo de 2020, no per√≠odo do surto de COVID-19. √Č prov√°vel que esse evento de black swan tenha enorme influ√™ncia sobre qualquer sistema de trading. Esse √© outro motivo pelo qual vale a pena voltar mais no tempo e avaliar se essa perda √© um ponto fora da curva ou apenas consequ√™ncia da estrat√©gia.
De qualquer forma, é assim funciona um processo simples de backtesting. Essa estratégia pode ser promissora se voltarmos e a testarmos com mais dados ou incluirmos outros indicadores técnicos para potencialmente produzir sinais mais fortes.

Quais outras informa√ß√Ķes os resultados de backtesting proporcionam?

  • Medidas de volatilidade: seu m√°ximo potencial de subida ou queda (upside/drawdown).
  • Exposi√ß√£o: a quantidade de capital que voc√™ precisa alocar para a estrat√©gia de todo o seu portf√≥lio.
  • Retorno anualizado:¬†a porcentagem de retorno da estrat√©gia no per√≠odo de um ano.
  • Propor√ß√£o de¬†ganhos e perdas: quantos trades no sistema resultaram em vit√≥ria e quantos resultaram em perdas.
Estes s√£o apenas alguns exemplos e n√£o representam uma lista exaustiva de forma alguma. Voc√™ decide quais m√©tricas gostaria de acompanhar. De qualquer forma, quanto mais detalhes voc√™ registrar sobre as configura√ß√Ķes, mais oportunidades ter√° de aprender com os resultados. Alguns traders s√£o muito rigorosos em seus backtesting e isso tamb√©m pode refletir em seus resultados.
Um √ļltimo fator que devemos considerar √© a otimiza√ß√£o. Se voc√™ leu nosso artigo de backtesting, deve saber a diferen√ßa entre backtesting e forward testing, ou paper trading. Pode ser interessante testar e otimizar suas ideias em um ambiente de trading em tempo real, como a testnet (rede de testes) da Binance Futures.


Considera√ß√Ķes finais

Passamos pelo processo básico de como fazer um backtest manual de uma estratégia de trading. Lembre-se de que o desempenho anterior não é uma garantia de desempenho futuro. 

Os ambientes de mercado mudam e voc√™ precisar√° se adaptar as mudan√ßas para melhorar seus resultados de trades. Geralmente, √© melhor n√£o confiar cegamente nos dados. O bom senso pode ser uma ferramenta surpreendentemente √ļtil quando se trata de avalia√ß√£o de resultados.¬†

Ainda tem d√ļvidas sobre backtesting? Confira nossa plataforma de perguntas e respostas, Ask Academy, onde a comunidade Binance responde as suas perguntas.