O backtesting é um componente essencial do desenvolvimento eficaz do sistema comercial. Isso é feito reconstruindo, com dados históricos, operações que ocorreriam no passado usando regras definidas por uma determinada estratégia. O resultado oferece estatísticas para avaliar a eficácia da estratégia.
A teoria subjacente é que qualquer estratégia que funcionou bem no passado provavelmente funcionará bem no futuro e, inversamente, qualquer estratégia que tenha tido um desempenho ruim no passado provavelmente terá um desempenho ruim no futuro. Este artigo analisa quais aplicativos são usados no backtesting, que tipo de dados são obtidos e como utilizá-los.
Como fazer backtest de uma estratégia de negociação usando dados e ferramentas
O backtesting pode fornecer bastante feedback estatístico valioso sobre um determinado sistema. Algumas estatísticas universais de backtesting incluem:
- Resultado líquido: Percentual líquido ganho ou perdido Medidas de volatilidade: Percentual máximo de alta e baixa Médias: ganho médio percentual e perda média, barras médias mantidas Exposição: porcentagem de capital investido (ou exposto ao mercado) Rácios: Proporção de ganhos / perdas Retorno anualizado: Porcentagem de retorno ao longo de um ano Retorno ajustado ao risco: Retorno percentual em função do risco
Software de backtesting
Normalmente, o software de backtesting terá duas telas importantes. O primeiro permite que o comerciante personalize as configurações para backtesting. Essas personalizações incluem tudo, desde o período até os custos de comissão. Aqui está um exemplo dessa tela no AmiBroker:
A segunda tela é o relatório real dos resultados do backtesting. É aqui que você encontra as estatísticas mencionadas acima. Novamente, aqui está um exemplo dessa tela no AmiBroker:
Em geral, a maioria dos softwares comerciais contém elementos semelhantes. Alguns programas de software avançados também incluem funcionalidades adicionais para realizar o dimensionamento automático de posições, otimização e outros recursos mais avançados.
10 Regras para Backtesting Estratégias de Negociação
Há muitos fatores a serem observados quando os traders estão testando as estratégias de negociação. Aqui está uma lista das coisas mais importantes a serem lembradas durante o backtest:
- Leve em consideração as amplas tendências de mercado no período em que uma determinada estratégia foi testada. Por exemplo, se uma estratégia foi testada apenas de 1999 a 2000, ela pode não se sair bem em um mercado em baixa. Geralmente, é uma boa idéia fazer o backtest em um longo período de tempo, abrangendo vários tipos diferentes de condições de mercado. Por exemplo, se um amplo sistema de mercado é testado com um universo composto por ações de tecnologia, ele pode falhar em se sair bem em diferentes setores. Como regra geral, se uma estratégia é direcionada a um gênero específico de estoque, limite o universo a esse gênero; em todos os outros casos, mantenha um grande universo para fins de teste. As medidas de volatilidade são extremamente importantes a serem consideradas no desenvolvimento de um sistema de negociação. Isso é especialmente verdadeiro para contas alavancadas, que são sujeitas a chamadas de margem se seu patrimônio cair abaixo de um determinado ponto. Os comerciantes devem procurar manter a volatilidade baixa para reduzir o risco e facilitar a transição para dentro e para fora de uma determinada ação. O número médio de barras retidas também é muito importante para observar ao desenvolver um sistema de negociação. Embora a maioria dos softwares de backtesting inclua custos de comissão nos cálculos finais, isso não significa que você deva ignorar esta estatística. Se possível, aumentar o número médio de barras retidas pode reduzir os custos de comissão e melhorar o retorno geral. A exposição é uma faca de dois gumes. O aumento da exposição pode levar a maiores lucros ou maiores perdas, enquanto a menor exposição significa menores lucros ou menores perdas. Em geral, é uma boa idéia manter a exposição abaixo de 70% para reduzir o risco e facilitar a transição para dentro e para fora de um determinado estoque. A estatística de ganho / perda média, combinada com a taxa de ganhos / perdas, pode ser útil para determinar o dimensionamento ideal da posição e o gerenciamento de dinheiro usando técnicas como o critério Kelly. Os comerciantes podem assumir posições maiores e reduzir os custos de comissão, aumentando seus ganhos médios e aumentando sua taxa de ganhos / perdas. O retorno anualizado é usado como uma ferramenta para comparar os retornos de um sistema com outros locais de investimento. É importante não apenas observar o retorno anualizado global, mas também levar em consideração o aumento ou diminuição do risco. Isso pode ser feito observando o retorno ajustado ao risco, responsável por vários fatores de risco. Antes de um sistema de negociação ser adotado, ele deve superar todos os outros locais de investimento com risco igual ou menor. A personalização do backtesting é extremamente importante. Muitos aplicativos de backtesting inserem valores de comissões, tamanhos de lotes redondos (ou fracionários), tamanhos de ticks, requisitos de margem, taxas de juros, premissas de derrapagem, regras de tamanho de posição, regras de saída na mesma barra, configurações de parada (à direita) e muito mais. Para obter os resultados mais precisos de backtesting, é importante ajustar essas configurações para imitar o broker a ser usado quando o sistema entrar em operação. Às vezes, o backtesting pode levar a algo conhecido como super otimização. Essa é uma condição em que os resultados do desempenho são ajustados tão alto ao passado que não são mais tão precisos no futuro. Geralmente, é uma boa ideia implementar regras que se apliquem a todos os estoques, ou a um conjunto seleto de estoques segmentados, e não sejam otimizadas na medida em que as regras não sejam mais compreensíveis pelo criador. a eficácia de um determinado sistema de negociação. Às vezes, as estratégias que tiveram um bom desempenho no passado falham no presente. O desempenho passado não é indicativo de resultados futuros. Certifique-se de negociar com papel um sistema que tenha sido testado novamente com sucesso antes de entrar em operação para garantir que a estratégia ainda se aplique na prática.
A linha inferior
O backtesting é um dos aspectos mais importantes do desenvolvimento de um sistema de negociação. Se criado e interpretado adequadamente, pode ajudar os comerciantes a otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas e ganhar confiança em sua estratégia antes de aplicá-la aos mercados do mundo real.
