Backtesting O que é Backtesting Backtesting é o processo de testar uma estratégia de negociação em dados históricos relevantes para garantir sua viabilidade antes que o comerciante arrisque qualquer capital real. Um comerciante pode simular a negociação de uma estratégia durante um período de tempo adequado e analisar os resultados para os níveis de rentabilidade e risco. BREAKING DOWN Backtesting Se os resultados satisfazem os critérios necessários que são aceitáveis para o comerciante, a estratégia pode ser implementada com algum grau de confiança que resultará em lucros. Se os resultados forem menos favoráveis, a estratégia pode ser modificada, ajustada e otimizada para alcançar os resultados desejados, ou pode ser completamente descartada. Uma quantidade significativa do volume negociado no mercado financeiro de hoje é feito por comerciantes que usam algum tipo de automação de computador. Isto é especialmente verdadeiro para estratégias de negociação com base em análise técnica. Backtesting é uma parte integrante do desenvolvimento de um sistema de negociação automatizado. Backtesting Significado Quando feito corretamente, backtesting pode ser uma ferramenta inestimável para tomar decisões sobre se deve utilizar uma estratégia de negociação. O período de tempo de amostra em que um backtest é realizado é crítico. A duração do período de tempo de amostragem deve ser suficientemente longa para incluir períodos de condições de mercado variáveis, incluindo tendências de alta, tendências de baixa e negociação de intervalo limitado. Realizar um teste em apenas um tipo de condição de mercado pode produzir resultados únicos que podem não funcionar bem em outras condições de mercado, o que pode levar a conclusões falsas. O tamanho da amostra no número de comércios nos resultados dos testes também é crucial. Se o número de amostras de ofícios é muito pequeno, o teste pode não ser estatisticamente significativo. Uma amostra com muitas transações durante um período muito longo pode produzir resultados otimizados em que um número esmagador de trades vencedores coalesce em torno de uma condição de mercado específico ou tendência que é favorável para a estratégia. Isso também pode causar um comerciante para tirar conclusões enganosas. Mantê-lo real Um backtest deve refletir a realidade na medida do possível. Os custos de transacção que de outra forma poderiam ser considerados negligenciáveis pelos operadores quando analisados individualmente podem ter um impacto significativo quando o custo agregado é calculado durante todo o período de backtesting. Estes custos incluem comissões, spreads e derrapagem, e eles poderiam determinar a diferença entre se uma estratégia comercial é rentável ou não. A maioria dos pacotes de software de backtesting inclui métodos para contabilizar esses custos. Talvez a métrica mais importante associada ao backtesting seja o nível de robustez da estratégia. Isto é conseguido comparando os resultados de um teste de volta otimizado num período de tempo de amostra específico (referido como in-sample) com os resultados de um backtest com a mesma estratégia e configurações num período de tempo de amostra diferente (referido como out - Da amostra). Se os resultados são igualmente rentáveis, então a estratégia pode ser considerada válida e robusta, e está pronta para ser implementada em mercados em tempo real. Se a estratégia falhar em comparações fora da amostra, então a estratégia precisa de mais desenvolvimento, ou deve ser abandonada completamente. Teste de teste: interpretando o passado O backtesting é um componente-chave do desenvolvimento efetivo do sistema de negociação. É realizado reconstruindo, com dados históricos, negócios que teriam ocorrido no passado usando regras definidas por uma determinada estratégia. O resultado oferece estatísticas que podem ser usadas para avaliar a eficácia da estratégia. Usando esses dados, os comerciantes podem otimizar e melhorar suas estratégias, encontrar quaisquer falhas técnicas ou teóricas, e ganhar confiança em sua estratégia antes de aplicá-lo aos mercados reais. A teoria subjacente é que qualquer estratégia que funcionou bem no passado é susceptível de funcionar bem no futuro e, inversamente, qualquer estratégia que teve um desempenho ruim no passado é susceptível de funcionar mal no futuro. Este artigo dá uma olhada no que as aplicações são usadas para backtest, que tipo de dados é obtido, e como colocá-lo para usar Os dados e as ferramentas Backtesting pode fornecer abundância de estatística valiosa comentários sobre um determinado sistema. Algumas estatísticas de backtesting universal incluem: Lucro líquido ou perda - ganho ou perda percentual líquido. Prazo - Datas passadas em que o teste ocorreu. Universo - Estoques que foram incluídos no backtest. Medidas de volatilidade - Percentagem máxima de subida e descida. Médias - Percentual de ganho médio e perda média, média de barras mantidas. Exposição - Percentual de capital investido (ou exposto ao mercado). Razões - Relação vitórias-perdas. Retorno anualizado - Retorno percentual ao longo de um ano. Retorno ajustado ao risco - Retorno percentual em função do risco. Normalmente, backtesting software terá duas telas que são importantes. O primeiro permite que o profissional personalize as configurações para backtesting. Essas personalizações incluem tudo, desde o período de tempo até os custos de comissão. Aqui está um exemplo de tal tela no AmiBroker: A segunda tela é o relatório de resultados de backtesting real. Isto é onde você pode encontrar todas as estatísticas mencionadas acima. Mais uma vez, aqui está um exemplo desta tela no AmiBroker: Em geral, a maioria dos softwares comerciais contém elementos semelhantes. Alguns programas de software high-end também incluem funcionalidades adicionais para realizar dimensionamento automático da posição, otimização e outros recursos mais avançados. Os 10 mandamentos Há muitos fatores comerciantes atenção para quando eles estão backtesting estratégias de negociação. Aqui está uma lista das 10 coisas mais importantes para lembrar enquanto backtesting: levar em conta as tendências do mercado amplo no período em que uma determinada estratégia foi testada. Por exemplo, se uma estratégia foi apenas testada de 1999 a 2000, pode não funcionar bem em um mercado de baixa. É muitas vezes uma boa idéia para backtest durante um período de tempo longo que engloba vários tipos diferentes de condições de mercado. Leve em conta o universo no qual o backtesting ocorreu. Por exemplo, se um sistema de mercado amplo é testado com um universo consistindo de ações de tecnologia, pode deixar de fazer bem em diferentes setores. Como regra geral, se uma estratégia é direcionada para um gênero específico de estoque, limitar o universo a esse gênero, mas, em todos os outros casos, manter um grande universo para fins de teste. Medidas de volatilidade são extremamente importantes a considerar no desenvolvimento de um sistema de comércio. Isto é especialmente verdadeiro para as contas alavancadas, que são sujeitas a chamadas de margem se a sua equidade desce abaixo de um certo ponto. Os comerciantes devem procurar manter a volatilidade baixa, a fim de reduzir o risco e permitir uma transição mais fácil dentro e fora de um determinado estoque. O número médio de barras mantidas também é muito importante para assistir ao desenvolver um sistema de negociação. Embora a maioria dos backtesting software inclui custos de comissão nos cálculos finais, isso não significa que você deve ignorar esta estatística. Se possível, aumentar o número médio de barras mantidas pode reduzir os custos de comissão e melhorar o retorno geral. A exposição é uma espada de dois gumes. Aumento da exposição pode levar a maiores lucros ou maiores perdas, enquanto diminuição da exposição significa lucros mais baixos ou menos perdas. No entanto, em geral, é uma boa idéia para manter a exposição abaixo de 70, a fim de reduzir o risco e permitir uma transição mais fácil dentro e fora de um determinado estoque. A estatística de ganhos / perdas médios, combinada com a relação ganhos-perdas, pode ser útil para determinar o dimensionamento de posição otimizado e o gerenciamento de dinheiro usando técnicas como o Critério Kelly. (Veja Money Management Usando 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 relação ganhos-para-perdas. Retorno anualizado é importante porque é usado como uma ferramenta para comparar os retornos de sistemas contra outros locais de investimento. É importante não só olhar para o retorno global anualizado, mas também para ter em conta o risco aumentado ou diminuído. Isso pode ser feito olhando para o retorno ajustado ao risco, que explica vários fatores de risco. Antes de um sistema de negociação ser adotado, ele deve superar todos os outros locais de investimento em igual ou menos risco. Backtesting personalização é extremamente importante. Muitas aplicações backtesting têm entrada para valores de comissão, tamanhos de lote redondos (ou fracionários), tamanhos de carrapatos, requisitos de margem, taxas de juros, pressupostos de deslizamento, regras de dimensionamento de posição, regras de saída da mesma barra, configurações de parada e muito mais. Para obter os resultados de backtesting mais precisos, é importante ajustar essas configurações para imitar o corretor que será usado quando o sistema for ativado. Backtesting às vezes pode levar a algo conhecido como super-otimização. Esta é uma condição onde os resultados de desempenho são ajustados tão altamente ao passado que eles não são mais precisos no futuro. É geralmente uma boa idéia implementar regras que se aplicam a todas as ações ou um conjunto selecionado de ações segmentadas e não são otimizadas na medida em que as regras não são mais compreensíveis pelo criador. Backtesting nem sempre é a maneira mais precisa para avaliar a eficácia de um determinado sistema de comércio. Às vezes, as estratégias que funcionaram bem no passado não conseguem fazer bem no presente. O desempenho passado não é indicativo de resultados futuros. Certifique-se de comércio de papel de um sistema que foi testado com sucesso antes de ir ao vivo para ter certeza de que a estratégia ainda se aplica na prática. Conclusão Backtesting é um dos aspectos mais importantes do desenvolvimento de um sistema comercial. Se criado e interpretado corretamente, pode ajudar operadores a aperfeiçoar e melhorar suas estratégias, encontrar todas as falhas técnicas ou teóricas, assim como ganhar a confiança em sua estratégia antes de aplicá-la aos mercados reais. Para tirar o máximo proveito do seu consultor perito, você precisará otimizar e backtest sua estratégia usando MetaTraders Strategy Tester. Enquanto o teste direto em uma conta demo é essencial, o backtesting permite simular a negociação em um longo período de tempo em apenas alguns minutos. E com o recurso de otimização, você pode descobrir quais configurações tiveram melhor desempenho ao longo de um período de gráfico histórico selecionado. Há um debate considerável sobre a precisão do testador de estratégia MetaTraders. Na melhor das hipóteses, backtesting oferece apenas uma aproximação aproximada de como os negócios seriam executados em tempo real. Mas é a única ferramenta disponível para testar rapidamente qualquer estratégia em uma ampla gama de situações de negociação, e que você deve aprender a usar bem. Abra o Strategy Tester no MetaTrader clicando no botão apropriado na barra de ferramentas ou selecionando Strategy Tester no menu View. Centro de História Antes de backtesting ou otimização, é importante certificar-se de que seus dados de histórico são completos e precisos, especialmente se você está usando Cada tick como seu modelo de teste. Se você ver erros de gráfico incompatíveis em seu log de diário ou se sua qualidade de modelagem for inferior a 90, seus dados de histórico são insuficientes para gerar carrapatos precisos. Abra o History Center a partir do menu Ferramentas ou pressionando F2 no teclado. Clique duas vezes no par de gráficos na coluna da esquerda para a qual você planeja fazer backtest. Uma lista de períodos de tempo aparecerá abaixo. Comece clicando duas vezes em 1 Minute (M1) para carregar os dados do histórico desse período. O backtester usa dados M1 para gerar carrapatos, por isso é importante que seus dados M1 estejam completos. A partir do Centro de História, pode transferir ou importar dados para utilizar no backtesting. Seu corretor fornecerá automaticamente alguns dados recentes, mas pode não ser suficiente para um backtest mais longo. Além disso, os dados descarregáveis gratuitamente do MetaTrader (acessíveis através do botão Download) nem sempre estão completos e podem conter grandes lacunas. Você pode baixar dados M1 grátis de forextester / data / datasources. html. Primeiro, selecione o período M1 para o símbolo da lista no lado esquerdo. Clique no botão Importar e clique em Procurar na caixa de diálogo Importar para selecionar o arquivo de dados M1 que você acabou de baixar. Pressione OK para importar os dados - pode levar vários minutos. Agora você tem vários anos de dados M1 para esse símbolo. Para fazer uso desses dados em prazos mais altos, você precisará usar o script periodconverter que vem com o MetaTrader. Abra uma janela de gráfico e defina-a para M1. Arraste e solte o script periodconverter da janela Navegador para o gráfico e defina a configuração ExtPeriodMultiplier como o número de minutos para converter para. Para M15, use 15 para H1, use 60 para H4, use 240, e assim por diante. Repita este processo para todos os símbolos / períodos que você pretende testar. Depois de ter dados de histórico suficientes, você pode começar a testar. O vídeo abaixo demonstra o processo de importação e conversão dos dados M1: Otimização O recurso de otimização do MetaTrader 4 permite testar milhares de combinações de configurações do consultor especialista para encontrar as configurações mais lucrativas para o gráfico, período e intervalo de datas selecionados. As estratégias baseadas em indicadores terão de ser optimizadas para obter a máxima rentabilidade. No entanto, quase todos os EAs se beneficiarão da otimização - mesmo aqueles que negociam em dados de carrapatos, desde que você tenha dados completos do histórico M1 (veja acima). Enquanto o otimizador retornará as configurações mais lucrativas para o período selecionado, isso não garante que essas configurações serão lucrativas no futuro. As condições de mercado mudam frequentemente, por isso é importante re-optimizar regularmente o seu consultor perito para obter melhores resultados. Para otimizar seu consultor especialista, selecione-o primeiro na caixa suspensa Expert Advisor. Selecione o par de moedas da caixa Símbolo e período de gráfico da caixa Período. Para Modelo. Youll geralmente deseja selecionar Open Prices Only, a menos que você esteja otimizando um EA que é executado em dados tick. Nesse caso, selecione Cada marca. Marque a opção Usar Data e selecione um intervalo de datas para otimizar para. Por fim, certifique-se de que a otimização está marcada. Clique no botão Propriedades do especialista para abrir as configurações do consultor especialista. Na guia Entradas é onde você entrará o intervalo de valores para otimizar para. A coluna Iniciar será o valor mais baixo para uma determinada configuração, enquanto a coluna Parar será a mais alta. A coluna Step é a quantidade que o otimizador irá passar da configuração Start para a Stop. Na imagem acima estamos otimizando configurações de SL, TS e TP para um consultor especializado. O valor de Início é 20, o Passo é 20 eo Parar é 200. O otimizador testará todas as combinações de valores de 20, 40, 60 e assim por diante até 200. Use um valor de início, passo e parada apropriado para A configuração que você está otimizando. Valores pares (5, 10, etc.) são bons. A caixa de seleção à esquerda deve ser selecionada para que essa configuração seja otimizada. Todas as configurações que não forem verificadas usarão o número na coluna Valor ao otimizar. No separador Testes, pode ajustar o Depósito Inicial para algo um pouco mais realista. Deixe as outras configurações em seus padrões. Quando estiver pronto para começar a otimizar, clique no botão Iniciar na parte inferior direita da janela do Testador de Estratégia. Dependendo do período, o intervalo de datas, o modelo de teste eo número de configurações a serem otimizadas pode levar de alguns minutos a várias horas. Se estiver demorando muito, considere encurtar o intervalo de datas, otimizando menos configurações ou usando um valor de passo maior. Quando a otimização estiver concluída, abra a guia Resultados de otimização e clique duas vezes na coluna Lucro para classificar os resultados. Clique duas vezes em qualquer um dos resultados para carregá-lo no testador. Pressione o botão Iniciar novamente para testar novamente com as configurações selecionadas. Backtesting Até agora, deve ser óbvio como funciona o backtester. Selecione o seu Expert Advisor. Símbolo. Período e Modelo. Marque a caixa Usar Data e selecione um intervalo de datas. Selecione o modo visual somente se você desejar um passo a passo visual do backtesting. Deixe a otimização desmarcada. Clique no botão Propriedades do especialista e insira suas configurações na coluna Valor na guia Entradas. Você também pode carregar ou salvar configurações usando os botões na parte inferior direita. As colunas Iniciar, Passo e Parar são ignoradas, assim como as caixas de seleção. Feche a caixa de diálogo Expert Properties e pressione Start para começar a testar. Isso levará de alguns segundos a vários minutos, dependendo de suas configurações. Após o término do teste, abra a guia Relatório na parte inferior para ver seus resultados. Algumas estatísticas a tomar nota de: Total do lucro líquido - O lucro bruto menos a perda bruta. Fator de lucro - A relação entre lucro bruto e prejuízo bruto. Mais alto é melhor, qualquer coisa acima de 1.5 é bom. Absoluto drawdown - A retirada do seu depósito inicial. Elevados levantamentos aumentam a probabilidade de que sua conta seja apagada. Profit trades - Sua porcentagem global de vitórias. Qualidade de modelagem - Só é importante se o modelo de teste for Todos os carrapatos. Se assim for, isso deve ser 90. Se não, siga as instruções acima para atualizar seu histórico com dados precisos M1. A guia Resultados na parte inferior do testador de estratégia fornecerá os detalhes sobre as ordens abertas e fechadas, incluindo a parada de arrasto, a obtenção de lucro e a perda de parada. Clique no botão Abrir gráfico para obter uma representação visual dos resultados. Ao testar sua nova EA, examine-os de perto para garantir que sua estratégia esteja funcionando como planejado. Walk Forward Analysis Enquanto backtesting e otimização pode lhe dar uma boa idéia de como o EA vai negociar, você precisará fazer testes mais extensivos para garantir que o seu sistema comercial é verdadeiramente rentável. A melhor maneira de conseguir isso é por meio de um processo chamado análise passo a passo. Walk forward análise consiste simplesmente em vários ciclos de otimização e backtesting, e analisar os resultados de testes durante um longo período. Nosso artigo sobre análise de andamento explica o processo com mais detalhes. Nosso Walk Forward Analyzer para MetaTrader permite que você execute WFA rapidamente e facilmente.
No comments:
Post a Comment