Monday 5 June 2017

Model Back Testing Forex


Backtesting: interpretando o passado O teste anterior é um componente chave do desenvolvimento efetivo do sistema comercial. É realizado reconstruindo, com dados históricos, trades 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 falhas técnicas ou teóricas e ganhar confiança em sua estratégia antes de aplicá-la aos mercados reais. 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 fraco no passado provavelmente irá apresentar um desempenho fraco no futuro. Este artigo examina o que os aplicativos são usados ​​para testar, o tipo de dados obtidos e a forma de usá-lo. O Backtesting de Data e The Tools pode fornecer muitos comentários estatísticos valiosos sobre um determinado sistema. Algumas estatísticas de backtesting universais incluem: Lucro ou perda líquida - Ganhos ou perdas líquidas de porcentagem. Prazo - Datas passadas em que ocorreu teste. Universo - Estoques incluídos no backtest. Medidas de volatilidade - Percentual máximo de reversão e reversão. Médias - Ganho médio percentual e perda média, barras médias mantidas. Exposição - Porcentagem de capital investido (ou exposto ao mercado). Razões - Índice de vitórias para perdas. Retorno anualizado - Retorno percentual ao longo de um ano. Retorno ajustado ao risco - Retorno percentual em função do risco. Normalmente, o software backtesting terá duas telas que são importantes. O primeiro permite ao comerciante personalizar as configurações de backtesting. Estas personalizações incluem tudo, desde o período de tempo até os custos de comissão. Aqui está um exemplo dessa tela em AmiBroker: a segunda tela é o relatório de resultados de backtesting real. Aqui é 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 de negociação contém elementos semelhantes. Alguns programas de software high-end também incluem funcionalidades adicionais para realizar dimensionamento automático de posição, otimização e outros recursos mais avançados. Os 10 mandamentos Existem muitos fatores pelos quais os comerciantes prestam atenção quando estão testando as estratégias de negociação. Aqui está uma lista das 10 coisas mais importantes a serem lembradas durante o backtesting: leve em consideração as amplas tendências do mercado no período em que uma determinada estratégia foi testada. Por exemplo, se uma estratégia só foi testada de 1999 a 2000, pode não estar bem em um mercado ostentoso. Muitas vezes, é uma boa idéia fazer o teste durante um longo período de tempo que engloba vários tipos diferentes de condições de mercado. Tome em consideração o universo em que ocorreu o teste de retorno. Por exemplo, se um sistema de mercado amplo é testado com um universo composto por estoques tecnológicos, pode deixar de funcionar bem em diferentes setores. Como regra geral, se uma estratégia é direcionada a um gênero de estoque específico, limite o universo a esse gênero, mas, 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 comercial. Isto é especialmente verdadeiro para as contas alavancadas, que são sujeitas a chamadas de margem se o seu patrimônio cai abaixo de um determinado ponto. Os comerciantes devem procurar manter a volatilidade baixa para reduzir o risco e permitir uma transição mais fácil dentro e fora de uma determinada ação. O número médio de barras mantidas é também muito importante para assistir ao desenvolver um sistema comercial. Embora a maioria dos softwares de backtesting incluam 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 seu retorno geral. A exposição é uma espada de dois gumes. O aumento da exposição pode levar a maiores lucros ou maiores perdas, enquanto a diminuição da exposição significa menores lucros ou menores perdas. No entanto, em geral, é uma boa idéia manter a exposição abaixo de 70 para reduzir o risco e permitir uma transição mais fácil dentro e fora de um determinado estoque. A estatística de perda de ganhos médios, combinada com o índice de ganhos para perdas, pode ser útil para determinar o dimensionamento ótimo da posição e gerenciamento de dinheiro usando técnicas como o critério Kelly. (Ver Gestão de Dinheiro Usando o Critério de Kelly.) Os comerciantes podem assumir posições maiores e reduzir os custos de comissão aumentando seus ganhos médios e aumentando seu índice de ganhos para perdas. O retorno anualizado é importante porque é usado como uma ferramenta para comparar os rendimentos dos sistemas em relação a outros locais de investimento. É importante não só olhar para o retorno anual anualizado, mas também levar em consideração o aumento ou diminuição do risco. Isso pode ser feito observando 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 com risco igual ou menor. A personalização do backtesting é extremamente importante. Muitas aplicações de backtesting têm entrada para valores de comissão, tamanhos de lotes redondos (ou fracionários), tamanhos de garotas, requisitos de margem, taxas de juros, suposições de deslizamento, regras de dimensionamento de posição, regras de saída da mesma barra, ajustes 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 atualizado. Backtesting às vezes pode levar a algo conhecido como otimização excessiva. Esta é uma condição em que os resultados do desempenho são tão ajustados ao passado que não são mais precisos no futuro. Geralmente, é uma boa idéia implementar regras que se aplicam a todos os estoques, ou um conjunto seleto 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 de avaliar a eficácia de um determinado sistema de negociação. À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 trocar papel com um sistema que tenha sido testado com sucesso antes de entrar em operação 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 os comerciantes a otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas, bem como ganhar confiança em sua estratégia antes de aplicá-la aos mercados do mundo real. Recursos Tradecision (tradecision) - Desenvolvimento de sistema de negociação de gama alta AmiBroker (amibroker) - Desenvolvimento de sistema de comércio de orçamento. Tutorial de testador de estratégia MetaTrader 4 Para obter o máximo de seu consultor especialista, você precisará otimizar e testar sua estratégia usando o MetaTraders Strategy Tester. Enquanto o teste para frente em uma conta de demonstração é essencial, o backtesting permite simular a negociação durante um longo período de tempo em apenas alguns minutos. E com o recurso de otimização, você pode descobrir quais configurações melhoraram em 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, o backtesting oferece apenas uma aproximação próxima 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 comerciais e uma 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 Exibir. Centro de histórico Antes de testar ou otimizar, é importante certificar-se de que os dados do seu histórico sejam completos e precisos, especialmente se você estiver usando Cada marca como seu modelo de teste. Se você ver erros de gráfico incompatíveis no seu 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 Centro de História no menu Ferramentas ou pressionando F2 no seu teclado. Clique duas vezes no par do gráfico na coluna da esquerda para a qual você pretende testar. Uma lista de períodos de tempo aparecerá abaixo. Comece clicando duas vezes em 1 Minuto (M1) para carregar os dados de histórico desse período. O backtester usa dados M1 para gerar carrapatos, por isso é importante que seus dados M1 estejam completos. No Centro de Histórico, você pode baixar ou importar dados para usar 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 gratuitos para download 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 gratuitos de forextesterdatadatasources. html. Primeiro, selecione o período M1 para o símbolo da lista no lado esquerdo. Clique no botão Importar e, em seguida, 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 demorar vários minutos. Agora você tem vários anos de dados M1 para esse símbolo. Para usar esses dados em prazos maiores, você precisará usar o script periodconverter que vem com MetaTrader. Abra uma janela de gráfico e configure-a para M1. Arraste e solte o script periodconverter da janela Navegador no gráfico e defina a configuração ExtPeriodMultiplier para o número de minutos para converter. Para M15, use 15 para H1, use 60 para H4, use 240 e assim por diante. Repita este processo para todos os períodos de símbolos que você pretende testar. Depois de ter dados históricos 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 que você teste milhares de combinações de configurações de consultor especialista para encontrar as configurações mais rentáveis ​​para o gráfico selecionado, período e intervalo de datas. As estratégias baseadas em indicadores precisarão ser otimizadas para a máxima rentabilidade. No entanto, quase todas as EAs se beneficiarão com a otimização - mesmo aquelas que comercializam dados de marca, desde que você tenha dados de histórico M1 completos (veja acima). Enquanto o otimizador retornará as configurações mais rentáveis ​​para o intervalo de datas selecionado, isso não garante que essas configurações sejam lucrativas no futuro. As condições do mercado mudam frequentemente, por isso é importante re-optimizar regularmente o seu consultor especializado para obter melhores resultados. Para otimizar seu consultor especializado, primeiro selecione-o na caixa suspensa Advisor especialista. Selecione o par de moedas da caixa Símbolo e do período do gráfico na caixa Período. Para modelo. Você geralmente deseja selecionar Open Prices Only, a menos que você esteja otimizando uma EA que é executada em dados de marca. Nesse caso, selecione Every Tick. Verifique a opção Usar data e selecione um intervalo de datas para otimizar. Por fim, certifique-se de que a Otimização esteja marcada. Clique no botão Propriedades Especializadas para abrir as configurações do seu consultor especializado. Sob a guia Inputs é onde você entrará o intervalo de valores para otimizar. A coluna Iniciar será o valor mais baixo para uma determinada configuração, enquanto a coluna Stop será a mais alta. A coluna Etapa é a quantidade que o otimizador irá passar da configuração Iniciar para Parar. Na imagem acima, estamos optimizando as configurações de SL, TS e TP para um consultor especializado. O valor de início é 20, o Passo é 20 eo Stop é 200. O otimizador testará cada combinação de valores de 20, 40, 60 e assim por diante até 200. Use um valor de início, etapa e parada apropriado para A configuração que você está otimizando. Mesmo os valores (5, 10, etc.) são bons. A caixa de seleção para o extremo esquerdo deve ser selecionada para que essa configuração seja otimizada. Qualquer configuração que não esteja marcada usará o número na coluna Valor ao otimizar. Sob a guia Teste, você pode ajustar o Depósito inicial para algo um pouco mais realista. Deixe as outras configurações em seus padrões. Quando você estiver pronto para começar a otimizar, aperte o botão Iniciar, na parte inferior direita, da janela Estratégia testadora. Dependendo do período, o intervalo de datas, o modelo de teste e o número de configurações a serem otimizadas podem levar de alguns minutos a várias horas. Se levar muito tempo, considere encurtar o intervalo de datas, otimizando menos configurações ou usando um valor de passo maior. Assim que a otimização for concluída, abra a guia Resultados da 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 voltar a testar com as configurações selecionadas. Backtesting Até agora, deve ser óbvio como o backtester funciona. Selecione seu consultor especialista. Símbolo. Período e modelo. Marque a caixa Usar data e selecione um intervalo de datas. Selecione o Modo visual apenas se desejar um procedimento visual do backtesting. Deixe a Otimização desmarcada. Pressione o botão Expert Properties e insira suas configurações na coluna Value sob a guia Entradas. Você também pode carregar ou salvar configurações usando os botões no canto inferior direito. As colunas Start, Step e Stop são ignoradas, assim como as caixas de seleção. Feche a caixa de diálogo Propriedades Expert e pressione Iniciar para iniciar o teste. Levará de alguns segundos a vários minutos dependendo das suas configurações. Uma vez finalizado o teste, abra a guia Relatório na parte inferior para ver seus resultados. Algumas estatísticas para tomar nota: lucro líquido total - O lucro bruto menos a perda bruta. Fator de lucro - A relação entre lucro bruto e perda bruta. Mais alto é melhor, qualquer coisa acima de 1,5 é boa. Remessa absoluta - A retirada do seu depósito inicial. As altas retiradas aumentam a probabilidade de que sua conta seja explodida. Negociações de lucro - Sua porcentagem global de vitórias. Qualidade de modelagem - Apenas importante se seu modelo de teste for Every Tick. Em caso afirmativo, isso deve estar em 90. Caso contrário, siga as instruções acima para atualizar seu histórico com dados M1 precisos. A guia Resultados na parte inferior do testador de estratégia fornecerá os detalhes em pedidos abertos e fechados, incluindo parada final, obtenção de lucro e perda de parada. Clique no botão Abrir gráfico para obter uma representação visual de seus resultados. Ao testar sua nova EA, examine estes de perto para garantir que sua estratégia esteja funcionando como pretendido. Walk Forward Analysis Embora backtesting e otimização possam dar uma boa idéia de como sua EA irá trocar, você precisará fazer testes mais extensos para garantir que seu sistema de negociação seja realmente lucrativo. A melhor maneira de conseguir isso é por um processo chamado análise walk-forward. A análise da frente para a frente consiste simplesmente em múltiplos ciclos de otimização e backtesting, e analisando os resultados dos testes durante um longo período. Nosso artigo sobre walk forward analysis explica o processo com mais detalhes. Nosso Walk Forward Analyzer para MetaTrader permite que você execute WFA de forma rápida e fácil.

No comments:

Post a Comment