Saturday 19 August 2017

Testing A Trading System


Codificação de Sistemas de Negociação: Testes, Solução de Problemas e Otimização Agora que você possui um sistema de negociação projetado e codificado, é hora de testá-lo para garantir que sua codificação esteja livre de erros técnicos e lógicos. Também analisaremos algo conhecido como otimização - um recurso em alguns programas de negociação que lhe permitem ajustar suas regras de negociação de acordo com as ações que você planeja negociar. Testando seu sistema de negociação A grande maioria dos aplicativos comerciais que suportam linguagens de programação também suporta ferramentas de teste. Essas ferramentas são divididas em duas categorias: 1. Técnicas As ferramentas de teste técnico buscam erros técnicos em seu código. Por exemplo, se você esquecer de adicionar um ponto-e-vírgula após uma declaração, a ferramenta de teste técnico irá notificá-lo de que sua declaração não é válida. A localização da ferramenta de teste técnico depende da aplicação comercial que está sendo usada. O MetaTrader exibe um erro ou resultados defeituosos quando você tenta compilar seu código, enquanto as aplicações comerciais como a Tradecision possuem um utilitário de verificação de código incorporado na interface que permite verificar seu código por erros antes de aplicá-lo. 2. As ferramentas de teste lógico logístico procuram erros lógicos no seu código. Por exemplo, se você usou um sinal maior que o sinal em vez de um sinal menor que o que não é um erro técnico, uma ferramenta de teste lógico irá mostrar que seus resultados não fazem sentido. A ferramenta de teste lógico mais popular é a ferramenta backtesting. Esta ferramenta permite que você tire dados anteriores e aplique seu sistema de negociação a esses dados. Isso dá uma idéia do seguinte: Se o seu sistema de negociação é lucrativo 13 Que condições se mostram mais lucrativas 13 Onde exista algum erro nas suas regras (Para obter mais informações, consulte Backtesting: Interpretando o Passado.) Solucionando problemas de negociação Sistema Como com qualquer outro tipo de programação, a solução de problemas pode ser uma tarefa tediosa e difícil. Encontrar erros no seu código exige ordenar sistematicamente seu código para identificar erros sintáticos que, embora menores de idade, possam interromper seu programa. Aqui estão alguns erros comuns a procurar: Semicolons faltantes após declarações - Estas devem ser após cada declaração. 13 Variáveis ​​indefinidas - Lembre-se de que você deve declará-las antes de usá-las. 13 Erros ortográficos. Se algum nome ou função estiver escrito incorretamente, o aplicativo comercial retornará um erro (veja o exemplo abaixo). 13 Uso incorreto de () - Lembre-se de que atribui um valor a outro valor, enquanto significa igual. 13 Uso incorreto de funções internas - Consulte a documentação de aplicativos comerciais ou a interface de programação de aplicativos (API) para garantir que você esteja usando a sintaxe correta. Alguns aplicativos comerciais contêm um recurso que permitirá que você teste seu código antes de usá-lo ou compilá-lo. Este recurso permite que você veja qual é o erro e em que linha pode ser encontrada. Pegue a Tradecision, por exemplo: Aqui podemos ver que a Tradecision nos dá a localização (linha e coluna) do erro, uma descrição do erro e o tipo de erro (neste caso, é sintático). Se olharmos para a expressão, podemos ver que na coluna 8 xrossBelow não é uma função válida. Se substituímos o x (que está na coluna 8) com um c, então teremos um código válido. Se olharmos o MetaTrader, podemos ver que os erros surgiram quando tentamos compilar o programa: Aqui podemos ver que, na descrição, a variável BuyNow não foi definida. Clicar duas vezes nessa mensagem de erro nos levará ao local específico do erro no código. Como você pode ver, a maioria dos aplicativos comerciais oferece uma maneira fácil de localizar erros técnicos e corrigi-los. Reparar os erros simplesmente envolve sistematicamente passar por cada mensagem de erro e, em seguida, recompilar o código e ou aplicar o sistema de negociação em seus gráficos. Otimizando seu sistema de negociação Algumas aplicações comerciais permitem selecionar variáveis ​​a serem otimizadas. Tradecision, por exemplo, permite que você selecione facilmente uma variável e substitua-a pelo código que tentará a otimização. A otimização em si é simplesmente um processo que encontra o valor ótimo para um elemento do sistema comercial específico com base em resultados e desempenho anteriores. Note-se que a sobre-otimização resulta em sistemas de negociação que não conseguem se adaptar às condições do mercado, é importante apenas otimizar algumas variáveis ​​importantes, nem todas as variáveis. Aqui está o aspecto da funcionalidade de otimização na Tradecision: você pode ver que declaramos Duas novas variáveis ​​e configurá-las como iguais. Simplesmente significa que o programa de negociação irá substituir isso pelo número ótimo. Em seguida, você pode ver que usamos as novas variáveis ​​dentro de nossa estratégia comercial. Finalmente, estabelecemos um intervalo para os números (para que o programa não procure no infinito). Alguns outros programas de negociação possuem recursos que operam de forma semelhante, permitindo que você substitua o valor numérico por um e informe o aplicativo de negociação para otimizar. Conclusão Até agora, você deveria ter desenvolvido um sistema comercial comercial em que você possa ter confiança. Na próxima parte desta série, você aprenderá como aplicar o seu sistema de negociação aos gráficos e como usá-lo para tomar decisões comerciais. As páginas mostram a metodologia correta para configurar um sistema comercial para melhor uso. O primeiro ponto que vem à mente da maioria dos comerciantes médios é o quanto o trabalho está envolvido em fazer esta tarefa essencial corretamente. Então, você pode fazer algumas perguntas antes de começar. Você está dedicado Você quer ter uma renda alta e um bom futuro sem preocupações com dinheiro Você consegue manter um sistema sem adivinhar os sinais Você está preparado para colocar em 2-6 meses de pesquisa intensiva para obter o resultado no2 desejado. Conseguiu a paciência para negociar, embora atrapalhadores que poderiam ser 20-30 ou mais Você teve paciência para suportar longos períodos subaquáticos de até um ano Se a resposta a tudo acima é sim, então você pode ler. Etapa 1: estabeleça sua lista de mercados e congele o conjunto de dados em um período estático. Para ter certeza de resultados sólidos, você precisará testar seu sistema em uma grande variedade de mercados. Certifique-se de ter muitos dados (pelo menos 5 anos) Certifique-se de corrigir as datas do seu teste para que os resultados sejam justos, porque se você atualizar continuamente o seu conjunto de dados, os testes mais novos mostrarão resultados diferentes à medida que mais fluxos de dados In. Passo 2: Comece com uma ampla gama de testes grosseiros. Certifique-se de que pregou todas as configurações corretamente, comece a testar com as configurações que são muito lentas e correm até as configurações que são muito rápidas. O show de configuração mais lenta na extrema esquerda produziu apenas 2945 negócios em 123 ações em uma corrida de dez anos, e a configuração mais rápida produziu mais de 44 mil transações na mesma lista. Se seu sistema for robusto, você provavelmente observará um padrão de distribuição agradável como mostrado no gráfico à esquerda. Claramente, podemos ver que o Precision stop 2011 é rentável em todas as configurações mostradas e o maior sucesso é alcançado na região de várias configurações entre 0,7 e 0,4. Uma vez que você fez os testes grosseiros, você pode dar uma olhada no sistema doce No local, prestando muita atenção aos descontos, níveis de engrenagem e valores subaquáticos. Note-se que é muito importante padronizar os níveis de engrenagem em cada corrida, observando-se que os sistemas de freqüência mais alta produzem uma engrenagem mais alta que os modelos F baixos, pois o sistema é mais sensível às recentes mudanças de capital. Certifique-se de registrar seus resultados de engrenagem e re-testar até que você tenha o mesmo nível médio para cada teste. Se você não fizer isso, seu tempo de teste será desperdiçado, pois nenhuma comparação realista pode ser alcançada. Passo 3: Examine o manto do sistema executando o mesmo conjunto de dados com etapas finais mais finas. Depois de ter feito os testes mais finos, você irá observar quais configurações são melhores. O gráfico à esquerda mostra novamente uma boa forma de curva de sino indicando um sistema muito robusto. Claramente visível é 0,5 múltiplo melhorou o conjunto de dados e é um vencedor claro. Neste ponto, você pode ver seus valores de descida e valores subaquáticos para verificar se o modelo é algo que você pode manter na negociação real. Como se você não conseguisse manter o modelo, então você precisa fazer ajustes até o sistema se adequar à sua personalidade. Note-se que é muito importante tomar notas breves para cada teste, indicando as observações que você fez. Passo 4: Estude os resultados prestando atenção aos detalhes. A tabela abaixo mostra os resultados dos testes de incremento menores detalhados, os melhores campos mostrados em azul, o pior em vermelho. A Parada de precisão 2011 funcionou melhor na configuração múltipla de 0,5 neste teste, demonstrando uma distribuição muito robusta de resultados rentáveis ​​em todos os ajustes usados. Você pode ver claramente como a água subterrânea (UW) atravessa o telhado quando o sistema é acelerado à medida que as comissões queimam lucros durante períodos de mercado mais silenciosos. O encanamento é mantido em 4,5 com uma tolerância de 0,3 nos resultados, 0,4 teste mostra 4.779 engrenagens , Mas não vale a pena testar novamente porque os valores subaquáticos são muito altos. Passo 5: Estude o sistema em um conjunto de dados diferente. Você pode observar meus testes em um conjunto de dados diferente na página de vídeo de simulação. Usando a configuração múltipla de 0,5 e a engrenagem média de 4.459 tempo de equivalência patrimonial, os resultados foram um lucro de 176.755.656, com uma redução máxima de 24.29 com 260 dias no máximo debaixo d'água. Que afunda completamente os resultados na tabela acima. No caso de você se perguntar por que uma diferença tão grande nos lucros, o ponto que isso demonstra é a importância de selecionar mercados favoráveis ​​ao comércio. Todo teste feito em diferentes conjuntos de dados produzirá flutuações selvagens nos resultados e, de fato, quando eu testar em mercados escolhidos pela cereja que sabem trabalhar bem com meus sistemas, os lucros resultantes excedem trilhões. Passo 6: Verifique se seus resultados são precisos O ponto inteiro de fazer simulações de teste do sistema é ter uma idéia de como seu sistema irá atuar no presente executando o passado. Quanto maior a duração dos dados que você testar, mais a chance de encontrar condições de mercado que sejam semelhantes às condições atuais, a determinação dos custos de negociação com precisão e a concessão de desvios são essenciais antes que você possa colocar qualquer tipo de fé no seu sistema escolhido . Se o seu teste for suspeito, você o conhecerá na parte de trás da sua mente e isso provavelmente o levará a saltar em um fora do sistema, adivinhando por segunda vez quando trocará e não conseguindo manter isso por muito tempo. Passo 7: Compare outros sistemas com os mesmos conjuntos de dados. Mesmo que o sistema que seu teste produza bons resultados, é importante continuar procurando algo melhor, pois há muitas almas brilhantes no mundo que projetam sistemas que seriam muito bons, é um Boa ideia de verificar se o seu sistema escolhido é realmente o melhor que você pode encontrar. Alguns dos termos usados ​​podem não ser familiares para você, portanto, mais abaixo a página é uma explicação detalhada dos termos usados. Depois de assistir o vídeo, você vai me ver clicar no relatório Gerar Excel, este relatório real está disponível para download para sua própria leitura. Se você tiver problemas para visualizar todos os números ao assistir o vídeo, tente ajustar a resolução para 720 HD, que é encontrada na barra de ferramentas de vídeo, então o vídeo será HD. Em breve, vou adicionar alguns vídeos de comparação que mostram o sistema de tendência Donchian 210 dias versus o modelo Precision stop 2011. Acredita-se que Richard Donchian seja a primeira pessoa a projetar um sistema de seguimento de tendências, e o modelo muito simples que utilizou foi longo (comprado) quando atingiu um período de 210 dias e foi curto (vendido) quando atingiu um mínimo de 210 dias. O valor correspondente de 210 dias correspondente é usado como a entrada de parada para o próximo comércio. Embora o sistema Donchian seja muito básico, ele realmente tende a gerar lucros razoáveis ​​a longo prazo à custa de grandes remessas. Antes que os comerciantes descartem o modelo de Donchian como bruto e excessivamente simples, também é lembre que seu trabalho é a pedra angular de todos os sistemas de tendências disponíveis hoje. O sistema Donchian foi testado por Ed Seykota em um antigo computador Fortran há muitos anos usando cartões de soco, para seu espanto o Sr. Seykota achou que era lucrativo, então ele continuou com o design de sua própria tendência exponencial de tendência média seguindo o modelo e inspirou muitos outros comerciantes Para desenvolver os seus próprios. A Precision stop 2011 é puramente um modelo de seguimento baseado em meus muitos anos de experiência em comércio, testes e análise técnica. Algumas das minhas inspirações para projetar este modelo são resultado do estudo do trabalho dos dois senhores acima mencionados, buscando melhorias onde consegui encontrá-los. É diferente do modelo Seykota e do modelo Donchian, o único fator comum é que segue as tendências de maneira mais precisa. Roger Medcalf 2010. Informações de esclarecimentos adicionais À medida que o teste usava os preços de fechamento para fechamento aberto e baixo, não é possível extrair os preços de oferta e solicitação. Para contornar isso com precisão, existem dois recursos separados para dar uma simulação realista. Distribuir por cento. Se o sistema comprar um estoque que tenha um preço de fechamento de 100p e o percentual de spread for definido como 1.5, isso significa que ele verá os dados pedir 101.5 e basear livros com base nisso. O mesmo acontece quando os negócios são fechados. Então, se o comércio fosse aberto e fechado no mesmo nível de 100p, ele venderia a um preço de 98.5p fazendo um custo total de 3 por negociação. Alguns estoques no teste têm uma propagação apertada de menos de 0,25 e outros são mais amplos até 5, então esse recurso o progride bem. Fator de queda. Esta característica adicional torna o teste do sistema ainda mais rigoroso, pois, em seguida, acrescenta mais custos à equação. E. G se o preço de entrada pretendido for o 101.5 acima e os dias altos forem 105, a simulação irá reservar este comércio em (101.5 105) 2 fazendo um nível de entrada no 103.2 Software. Observe que o software que gerou esta simulação não está à venda ao público, pois é meu próprio projeto de software proprietário. O item de venda é o Precision stop 2011, que é um add on para Tradestation (todas as versões) e Multicharts (todas as versões), que deverá ser lançado em janeiro de 2011.

No comments:

Post a Comment