Saturday 19 August 2017

Trading estratégia backtest resultados


Backtesting O que é Backtesting Backtesting é o processo de testar uma estratégia comercial 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 de 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 automatizado de negociação. 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 negócios nos resultados do teste 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 negociação que de outra forma poderiam ser considerados negligenciáveis ​​pelos comerciantes 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 derrapagens, e eles poderiam determinar a diferença entre se uma estratégia de negociação é 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 em um 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 em um 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 por completo. Teste de teste: interpretando o passado Backtesting é um componente chave do desenvolvimento do sistema de comércio eficaz. É realizado reconstruindo, com dados históricos, os 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 os aplicativos são usados ​​para backtest, que tipo de dados são obtidos, e como colocá-lo para usar Os dados e as ferramentas Backtesting pode fornecer abundância de feedback estatístico valioso 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 - Ações que foram incluídas no backtest. Medidas de volatilidade - Percentagem máxima de subida e descida. Médias - Percentagem 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. A primeira 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. Novamente, 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 que os comerciantes prestam atenção quando eles estão backtesting estratégias de negociação. Aqui está uma lista das 10 coisas mais importantes a lembrar enquanto backtesting: Tome 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 só foi testada de 1999 a 2000, pode não estar 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 seu retorno geral. A exposição é uma espada de dois gumes. Exposição aumentada pode conduzir aos lucros mais elevados ou aos perdas mais elevados, quando a exposição diminuída significa lucros mais baixos ou perdas mais baixas. 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 média de perda de ganho, combinada com a relação ganhos-perdas, pode ser útil para determinar o dimensionamento de posição ótimo e a administração de dinheiro usando técnicas como o Critério de 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 de 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 e configurações de parada. 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 apliquem a todas as ações ou a um conjunto selecionado de ações segmentadas e não sejam otimizadas na medida em que as regras não sejam 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 comerciantes 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. Recursos Tradecision (tradecision) - High-end Desenvolvimento do Sistema de Negociação AmiBroker (amibroker) - Desenvolvimento do Sistema de Negociação de Orçamento. Uma teoria econômica da despesa total na economia e seus efeitos no produto e na inflação. A economia keynesiana foi desenvolvida. A detenção de um activo numa carteira. Um investimento de carteira é feito com a expectativa de ganhar um retorno sobre ele. Este. Um índice desenvolvido por Jack Treynor que mede ganhos obtidos em excesso do que poderia ter sido obtido em um risco. A recompra de ações em circulação (recompra) por uma empresa para reduzir o número de ações no mercado. Empresas. Um reembolso de imposto é um reembolso sobre os impostos pagos a um indivíduo ou agregado familiar quando a responsabilidade fiscal real é inferior ao montante. O valor monetário de todos os produtos acabados e serviços produzidos dentro de um país fronteiras em um período de tempo específico. Resultados do teste Seu teste 2 eurjpy e usdcad olhar interessante. Primeiramente, você explicou para a propagação, e se a contagem do pip é correta para a entrada ea saída da vida real. Eu vejo que você tem 582 comércios para eurjpy. Cada pip spread significa -582 fora do seu total pip resultado. Em segundo lugar, você converteu seus pips em lotes e. Devido ao arredondamento e tamanho mínimo do lote (a menos que você esteja usando oanda), ele afetará seu lucro e perda. Embora pips são uma indicação se o sistema será rentável, Ive descobri que eu prefiro muito os resultados convertidos em dinheiro e observando a redução em dinheiro em vez de pips. Às vezes, encontrei algumas diferenças surpreendentes. Em terceiro lugar, certifique-se de seus resultados backtesting refletem exatamente o seu método de negociação. Escolha alguns negócios aleatórios ou questionáveis ​​e certifique-se manualmente que eles concordam com a forma como você teria trocado. Verifique também se algum stoplossprofit ordens são executadas corretamente e você não está enganando por ver o futuro em backtesting. Certifique-se de seu teste é feito em intervalos de 1 minuto. Quarto, você vai estar acordado para todos os comércios eu notei que seus intervalos são quatro horas. Tenho certeza que existem outros, mas esses são erros comuns que eu fiz. Best regards Alan Juntado May 2006 Status: Least Qualified Poster 444 Posts Hi firehorse 1. Eu expliquei a propagação. Eu usei a propagação de FXCM mesmo que eu esteja usando oanda para minha troca (a propagação é mesmo mais apertada). Desde que eu estou usando oanda o arredondamento e tamanho mínimo do lote não deve ser um problema. 2. Eu não converti os resultados em. Eu tenho uma planilha com regras de gerenciamento de risc específicas que eu planejo usar para converter os pips para ver o impacto que o levantamento teria em minha conta. O problema é que, uma vez que os dados utilizados para o backtest volta 3,5 anos que levaria uma eternidade para tentar fazer isso manualmente, uma vez que existem tantas negociações. Eu estou trabalhando em obter uma fórmula no excel que me permitiria fazer isso automaticamente. Também espero que a redução para diferentes pares aconteça em diferentes períodos de modo que haveria alguma sobreposição tornando mais fácil para a minha conta para tolerá-lo. Ainda não verifiquei isso. Ainda trabalhando nele em excel. 3. Meus resultados do backtest refletem exatamente o meu método de negociação. Eu criei um script para o método utilizado, e meu software de gráficos gerado as entradas e sai e me forneceu os resultados. Eu não otimizado o sistema de qualquer maneira, em seguida, encontrar a perda parar e tirar proveito que parecia ter os melhores resultados. Eu não usei nenhum filtro quer, mas planeja fazer isso no futuro e ver se os resultados iria melhorar. Estou usando o gráfico 4h e um comércio só pode ser colocado depois que a vela fechou por isso não há realmente uma necessidade de backtesting em tic por dados tic (ou 1 minuto). Espero que isso responda às suas perguntas. Muito obrigado pela resposta. Atenciosamente, Sergiu. Entrou em março 2006 Status: live trader 1,252 Posts Boa sorte para você. Eu quero que você saiba embora. Eu ouvi um monte de pessoas dizem que os resultados de backtesting são ruins. A melhor maneira de fazê-lo é manualmente voltar e anotar todos os negócios que você faria e fazê-lo dessa forma. Juntado Mar 2005 Status: Member 208 Posts 2. Eu não converti os resultados em. Eu tenho uma planilha com regras de gerenciamento de risc específicas que eu planejo usar para converter os pips para ver o impacto que o levantamento teria em minha conta. O problema é que, uma vez que os dados utilizados para o backtest volta 3,5 anos que levaria uma eternidade para tentar fazer isso manualmente, uma vez que existem tantas negociações. Eu estou trabalhando em obter uma fórmula no excel que me permitiria fazer isso automaticamente. Também espero que a redução para diferentes pares aconteça em diferentes períodos de modo que haveria alguma sobreposição tornando mais fácil para a minha conta para tolerá-lo. Ainda não verifiquei isso. Ainda trabalhando nele em excel. Eu tenho um total de execução nas colunas ao lado de cada resultado de comércio para converter cada comércio em tamanho de risktoploss, tamanho de comércio, profitloss em dinheiro. Eu não otimizado o sistema de qualquer maneira, em seguida, encontrar a perda parar e tirar proveito que parecia ter os melhores resultados. Este é um erro comum que eu fiz. Para fazer backtesting corretamente você precisa encontrar o melhor resultado para 2.5years e, em seguida, aplicar que para o último ano de dados não testados para obter um verdadeiro resultado para 1 ano de valor de negociação. Caso contrário, você está vendo para o futuro Ou você pode testar o primeiro ano de dados, encontrar o melhor stoploss e lucro para esse ano e, em seguida, aplicá-lo para os próximos 2,5 anos. Atenciosamente Alan eu pensei sobre isso. O teste de volta foi apenas para me dar uma idéia geral sobre se o sistema teria qualquer potencial. Eu também acho que o teste manual tem suas armadilhas. Se você vir que um comércio que um poderia ter tomado seria um mais frouxo um pôde começar procurar razões porque um não o tomaria, fazendo regras adicionais no processo que seria irrelevante à estratégia a longo prazo. Pense nisso desta maneira embora. Faça um backtest manual, furar às réguas, fazer exame de cada comércio que é sinalizado, quando você vê um que pôde ter sido um loser, toma uma nota dela. Faça isso para cada comércio que falhar. Talvez não cada comércio, mas, o que poderia ter evitado. Backtesting manual pode ajudar uma pessoa ajustar um sistema e entender um determinado par de moedas. Quando eu manualmente backtest, eu sinto que sou mais quotONEquot com meu chart. Better System Trader Seus resultados de backtest enganando você Eu acho que seus resultados Monte Carlo pode estar enganando você. Você só pode usar PampL quantidade de dólar se o seu comércio tamanho permanece constante. Ou eu sinto falta de qualquer coisa? Oi Nikolay, essa é uma ótima pergunta, então I8217ve perguntou Kevin Davey para responder. É assim que ele explicou: 8220 Ao avaliar uma estratégia de negociação em potencial, eu gosto de ver seu desempenho sem qualquer dimensionamento de posição ou técnicas de gerenciamento de dinheiro aplicadas. Então, eu normalmente avaliar estratégias potenciais com um tamanho constante de 1 contrato. Se a estratégia passar (o que significa que tem expectativa positiva a longo prazo), então vou incorporá-lo em vários portfólios de estratégia que tenho, e incorporar dimensionamento de posição nesse ponto.8221 Espero que ajude, Andrew. Grande Pergunta Nikolay. Além da resposta que eu dei a Andrew acima, eu também deveria mencionar que se você souber linguagem macro do Excel, é bastante simples para adicionar em qualquer posição abordagem de dimensionamento que você deseja. Para uma abordagem fracionária fixa, por exemplo, seria necessário apenas algumas linhas de código extra. Assim, o simulador é bom porque você pode adaptá-lo às suas necessidades. Para as pessoas que freqüentam a minha oficina, eu fornecer aos alunos uma versão especial do simulador que inclui dimensionamento de posição fracionária fixa. Hello8230.how muitas simulações faz este Monte Carlo executar Há algum número de confiança Este simulador executa 2500 iterações. Não calcula intervalos de confiança. Se você souber linguagem macro do Excel, você pode facilmente alterar ou modificar o código para o que você quer que o simulador de fazer. Trackbacks

No comments:

Post a Comment