22 Junho 2021 15:40

Backtesting e Forward Testing: A Importância da Correlação

Os negociantes que estão ansiosos para experimentar uma ideia de negociação em um mercado ao vivo muitas vezes cometem o erro de confiar inteiramente nos resultados do backtesting para determinar se o sistema será lucrativo. Embora o backtesting possa fornecer aos comerciantes informações valiosas, geralmente é enganoso e é apenas uma parte do processo de avaliação.

O teste fora da amostra e o teste de desempenho direto fornecem confirmação adicional sobre a eficácia de um sistema e podem mostrar as cores verdadeiras de um sistema antes que o dinheiro real esteja na linha. Uma boa correlação entre os resultados dos testes de desempenho backtesting, out-of-sample e forward é vital para determinar a viabilidade de um sistema de negociação.

Noções básicas de backtesting

O backtesting se refere à aplicação de um sistema de negociação a dados históricos para verificar como um sistema teria se executado durante o período de tempo especificado. Muitas das plataformas de negociação atuais suportam backtesting. Os traders podem testar ideias com apenas alguns toques no teclado e obter insights sobre a eficácia de uma ideia sem arriscar fundos em uma conta de negociação. O backtesting pode avaliar ideias simples, como o desempenho de um cruzamento de média móvel em dados históricos ou sistemas mais complexos com uma variedade de entradas e acionadores.

Contanto que uma ideia possa ser quantificada, ela pode ser testada novamente. Alguns comerciantes e investidores podem buscar a experiência de um programador qualificado para desenvolver a ideia em uma forma testável. Normalmente, isso envolve um programador codificando a ideia na linguagem proprietária hospedada pela plataforma de negociação. O programador pode incorporar variáveis ​​de entrada definidas pelo usuário que permitem ao negociante “ajustar” o sistema.

Um exemplo disso seria o sistema simples de cruzamento de média móvel observado acima: O comerciante seria capaz de inserir (ou alterar) os comprimentos das duas médias móveis usadas no sistema. O negociante poderia fazer um backtest para determinar quais comprimentos de médias móveis teriam o melhor desempenho nos dados históricos.

Estudos de Otimização

Muitas plataformas de negociação também permitem estudos de otimização. Isso envolve inserir um intervalo para a entrada especificada e deixar o computador “fazer as contas” para descobrir qual entrada teria o melhor desempenho. Uma otimização multivariável pode fazer as contas para duas ou mais variáveis ​​para determinar quais combinações teriam alcançado o melhor resultado.

Por exemplo, os traders podem dizer ao programa quais insumos eles gostariam de adicionar à sua estratégia; estes seriam então otimizados para seus pesos ideais, dados os dados históricos testados.

O backtesting pode ser empolgante, pois um sistema não lucrativo pode muitas vezes ser transformado magicamente em uma máquina de fazer dinheiro com algumas otimizações. Infelizmente, ajustar um sistema para atingir o maior nível de lucratividade passada geralmente leva a um sistema que terá um desempenho insatisfatório em negociações reais. Essa otimização excessiva cria sistemas que parecem bons apenas no papel.

O ajuste de curva é o uso de análises de otimização para criar o maior número de negociações vencedoras com o maior lucro sobre os dados históricos usados ​​no período de teste. Embora pareça impressionante nos resultados do backtesting, o ajuste da curva leva a sistemas não confiáveis, uma vez que os resultados são essencialmente projetados para aqueles dados e período de tempo específicos.

O backtesting e a otimização fornecem muitos benefícios ao trader, mas isso é apenas parte do processo de avaliação de um sistema de negociação potencial. O próximo passo do trader é aplicar o sistema aos dados históricos que não foram usados ​​na fase inicial de backtesting.

Dados dentro da amostra versus dados fora da amostra

Ao testar uma ideia em dados históricos, é benéfico reservar um período de tempo de dados históricos para fins de teste. Os dados históricos iniciais nos quais a ideia é testada e otimizada são chamados de dados na amostra. O conjunto de dados que foi reservado é conhecido como dados fora da amostra. Essa configuração é uma parte importante do processo de avaliação porque fornece uma maneira de testar a ideia em dados que não foram um componente do modelo de otimização.

Como resultado, a ideia não terá sido influenciada de forma alguma pelos dados fora da amostra, e os negociantes serão capazes de determinar o quão bem o sistema pode funcionar com novos dados, ou seja, em negociações da vida real.

Antes de iniciar qualquer backtesting ou otimização, os traders podem separar uma porcentagem dos dados históricos para serem reservados para testes fora da amostra. Um método é dividir os dados históricos em terços e separar um terço para uso no teste fora da amostra. Apenas os dados da amostra devem ser usados ​​para o teste inicial e qualquer otimização.

A figura abaixo mostra uma linha do tempo em que um terço dos dados históricos é reservado para o teste fora da amostra e dois terços são usados ​​para o teste dentro da amostra. Embora a figura abaixo represente os dados fora da amostra no início do teste, os procedimentos típicos teriam a parte fora da amostra imediatamente anterior ao desempenho direto.

A correlação se refere às semelhanças entre os desempenhos e as tendências gerais dos dois conjuntos de dados. As métricas de correlação podem ser usadas na avaliação de relatórios de desempenho de estratégia criados durante o período de teste (um recurso fornecido pela maioria das plataformas de negociação). Quanto mais forte for a correlação entre os dois, melhor será a probabilidade de um sistema ter um bom desempenho em testes de desempenho a termo e negociação ao vivo.

A figura abaixo ilustra dois sistemas diferentes que foram testados e otimizados nos dados da amostra e, em seguida, aplicados aos dados fora da amostra. O gráfico à esquerda mostra um sistema que foi claramente ajustado à curva para funcionar bem nos dados da amostra e falhou completamente nos dados fora da amostra. O gráfico à direita mostra um sistema que teve um bom desempenho em dados dentro e fora da amostra.

Uma vez que um sistema de negociação tenha sido desenvolvido usando dados dentro da amostra, ele está pronto para ser aplicado aos dados fora da amostra. Os comerciantes podem avaliar e comparar os resultados de desempenho entre os dados dentro e fora da amostra.

Se houver pouca correlação entre os testes dentro e fora da amostra, como o gráfico à esquerda na figura acima, é provável que o sistema tenha sido superotimizado e não terá um bom desempenho na negociação ao vivo. Se houver forte correlação no desempenho, conforme visto no gráfico correto, a próxima fase de avaliação envolve um tipo adicional de teste fora da amostra conhecido como teste de desempenho avançado.

Noções básicas de teste de desempenho avançado

O teste de desempenho para a frente, também conhecido como negociação de papel, fornece aos negociantes outro conjunto de dados fora da amostra para avaliar um sistema. O teste de desempenho para a frente é uma simulação da negociação real e envolve seguir a lógica do sistema em um mercado ativo. É também chamada de negociação em papel, uma vez que todas as negociações são executadas apenas em papel; ou seja, as entradas e saídas de negociação são documentadas junto com qualquer lucro ou perda para o sistema, mas nenhuma negociação real é executada.

Um aspecto importante do teste de desempenho avançado é seguir exatamente a lógica do sistema; caso contrário, torna-se difícil, senão impossível, avaliar com precisão esta etapa do processo. Os comerciantes devem ser honestos sobre quaisquer entradas e saídas de negociação e evitar comportamentos como a escolha seletiva de negociações ou a não inclusão de uma negociação no papel, racionalizando que “Eu nunca teria feito essa negociação”. Se a negociação ocorresse seguindo a lógica do sistema, ela deve ser documentada e avaliada.

Muitos corretores oferecem uma conta de negociação simulada onde as negociações podem ser colocadas e os lucros e perdas correspondentes calculados. O uso de uma conta de negociação simulada pode criar uma atmosfera semi-realista para a prática de negociação e avaliação adicional do sistema.

A figura acima também mostra os resultados do teste de desempenho avançado em dois sistemas. Novamente, o sistema representado no gráfico à esquerda falha em ir muito além do teste inicial nos dados da amostra. O sistema mostrado no gráfico correto, no entanto, continua a funcionar bem em todas as fases, incluindo os testes de desempenho para a frente. Um sistema que mostra resultados positivos com boa correlação entre os testes de desempenho dentro da amostra, fora da amostra e para a frente está pronto para ser implementado em um mercado ativo.

The Bottom Line

O backtesting é uma ferramenta valiosa disponível na maioria das plataformas de negociação. Dividir os dados históricos em vários conjuntos para fornecer testes dentro e fora da amostra pode fornecer aos traders um meio prático e eficiente para avaliar uma ideia comercial e um sistema. Uma vez que a maioria dos traders emprega técnicas de otimização no backtesting, é importante avaliar o sistema em dados limpos para determinar sua viabilidade.

Continuar o teste fora da amostra com testes de desempenho avançados fornece outra camada de segurança antes de colocar um sistema no mercado arriscando dinheiro real. Os resultados positivos e a boa correlação entre o backtesting dentro e fora da amostra e o teste de desempenho progressivo aumentam a probabilidade de um sistema ter um bom desempenho na negociação real.