Vieses no backtest (overfitting, lookahead, sobrevivência)
Você passou semanas fazendo o backtest da sua estratégia. Os resultados parecem incríveis: setenta por cento de taxa de acerto, fator de lucro de três, quase nenhum drawdown. Você está pronto para operar na conta real e ficar rico. Aí a realidade bate. A estratégia perde dinheiro desde o primeiro dia.
Aviso de risco: Este conteúdo tem fins exclusivamente educacionais e não é uma recomendação de investimento. Operar forex envolve riscos e você pode perder dinheiro.
Viés no backtest
O que deu errado? O mais provável é que o seu backtest tenha sido contaminado por vieses. São erros sistemáticos no seu processo de teste que fazem os resultados parecerem melhores do que realmente são. Entender esses vieses é essencial se você quer que o seu backtest signifique alguma coisa.
Esta página trata dos três vieses mais prejudiciais e de como evitá-los.
O que é
Overfitting (sobreajuste) significa que você ajustou a sua estratégia tão perfeitamente aos dados passados que ela só funciona naqueles dados específicos. Você acrescenta regra após regra, filtro após filtro, até que a estratégia evite todas as operações perdedoras do histórico e capture todas as vencedoras. O resultado fica incrível no gráfico passado, mas não tem nenhum valor preditivo para o futuro.
É como decorar as respostas da prova do ano passado. Você tira cem por cento naquela prova, mas vai mal na nova, porque as perguntas são diferentes.
Como acontece
- Você percebe que a estratégia perde às segundas-feiras, então acrescenta uma regra: não operar às segundas.
- Você percebe que ela perde quando o IFR (RSI) está entre 40 e 60, então acrescenta um filtro: só operar quando o IFR estiver acima de 60 ou abaixo de 40.
- Você percebe que ela perde no GBP/JPY em março, então exclui esse caso.
- Você continua acrescentando condições até o backtest ficar perfeito.
Cada regra que você acrescenta faz a estratégia se encaixar mais nos dados passados, mas também diminui a chance de ela funcionar em dados novos. A estratégia não está capturando uma vantagem real do mercado; está capturando ruído e aleatoriedade de um período específico.
Como evitar o overfitting
- Mantenha as regras da sua estratégia simples. De três a cinco regras, no máximo. Se você precisa de dez regras para fazê-la funcionar, provavelmente há overfitting.
- Teste fora da amostra (out-of-sample). Divida os seus dados históricos em duas metades. Desenvolva a estratégia na primeira metade e depois teste-a na segunda, sem mudar nada. Se ela continuar funcionando, é mais provável que a vantagem seja real.
- Forward test. Teste a estratégia em tempo real em uma conta demo. Estratégias com overfitting falham rapidamente em condições reais. Veja /pt/estrategias/backtesting/forward-testing/.
- Desconfie de resultados perfeitos. Estratégias reais têm curvas de capital irregulares, com drawdowns e sequências de perdas. Se a sua parece limpa demais, provavelmente há overfitting.
O que é
O viés de antecipação (lookahead bias) acontece quando o seu backtest usa informações que não estariam disponíveis no momento da operação. Na prática, você está espiando o futuro e usando esse conhecimento para tomar decisões, o que é impossível no trading em tempo real.
Como acontece
- Você vê no gráfico que um suporte segurou e registra uma compra naquele nível. Mas, em tempo real, você não saberia que o nível ia segurar. Ele poderia ter sido rompido.
- Você usa o valor de um indicador que é recalculado com base em dados futuros. Alguns indicadores repintam, ou seja, os seus sinais mudam depois que o candle fecha.
- Você entra em uma operação exatamente na mínima de uma barra, algo que é visível nos dados históricos, mas quase impossível de executar em tempo real.
- Você usa dados de fim do dia para tomar uma decisão que deveria acontecer no início do dia.
Como evitar o viés de antecipação
- Avance um candle por vez. Nunca olhe além do candle atual ao tomar decisões de trading durante o backtest.
- Garanta que os seus indicadores não repintam. Teste-os em um gráfico ao vivo para confirmar.
- Entre nas operações na abertura do candle seguinte ao sinal, e não no melhor preço possível dentro do candle do sinal.
- No backtest manual, cubra o lado direito do gráfico para não ver o que acontece depois.
O que é
O viés de sobrevivência (survivorship bias) acontece quando você testa a sua estratégia apenas em instrumentos ou dados que existem hoje, ignorando os que desapareceram. Em ações, esse é um problema enorme, porque empresas vão à falência e saem da bolsa. No forex, ele é menos grave, mas continua relevante.
Como acontece no forex
- Você testa a estratégia em pares de moedas que hoje são populares e líquidos, mas alguns desses pares talvez não fossem tão líquidos anos atrás. O seu backtest assume que eles sempre foram fáceis de operar.
- Você evita testar pares que tiveram eventos extremos ou anomalias (como o choque do franco suíço em janeiro de 2015) porque são pontos fora da curva. Mas esses eventos são reais, e a sua estratégia precisa sobreviver a eles.
- Você testa apenas os pares em que já percebeu que a estratégia parece funcionar, ignorando aqueles em que ela não funciona. Essa é uma forma de viés de seleção, muito próxima do viés de sobrevivência.
Como evitar o viés de sobrevivência
- Teste em um conjunto amplo de pares, incluindo os que não parecem ideais para a estratégia. Se a estratégia só funciona em dois de vinte pares, a vantagem talvez não seja real.
- Inclua períodos de crise nos seus dados. O evento do franco suíço em 2015, o crash da pandemia em 2020 e outros movimentos extremos devem estar nos seus dados de teste.
- Não exclua períodos de perda ou eventos fora da curva só porque ficam feios no resultado.
Outros vieses para ficar de olho
- Viés de confirmação. Você acredita que a sua estratégia funciona, então, sem perceber, interpreta setups ambíguos como entradas válidas quando eles estão no limite. Seja implacável com as suas regras.
- Viés de seleção. Testar a estratégia apenas nas condições de mercado em que você acha que ela vai funcionar (só em tendências, só em ranges). Uma estratégia robusta precisa ser testada em todas as condições.
- Viés de qualidade dos dados. Usar dados históricos ruins, com candles faltando, preços incorretos ou erros de fuso horário. Sempre verifique se a sua fonte de dados é confiável. Plataformas como TradingView e MetaTrader 4 oferecem dados históricos geralmente sólidos para backtest.
O melhor processo de backtest inclui estas proteções
- Escreva regras claras e sem ambiguidade antes de começar.
- Use um conjunto de dados grande o suficiente (pelo menos um ano, de preferência dois ou mais).
- Divida os dados em um período dentro da amostra (in-sample) para o desenvolvimento e um período fora da amostra (out-of-sample) para a validação.
- Mantenha a estratégia simples, com poucas regras.
- Avance um candle por vez e não olhe à frente.
- Inclua condições de mercado diversas e períodos de crise.
- Depois, faça um forward test em uma conta demo.
Se você seguir esses passos, os resultados do seu backtest serão muito mais confiáveis e a sua transição para a conta real será mais tranquila.
