Monday, 6 November 2017

Trading system development book


Guia para o desenvolvimento do sistema comercial A evolução contínua do software de análise técnica simplificou a criação de sistemas de negociação automatizados por computador. Alguns sistemas apenas geram os sinais para o comerciante seguir, enquanto outros colocam os negócios no mercado em nome do comerciante. No entanto, ser capaz de programar sua plataforma de negociação favorita é apenas o começo. Você deve ter uma estrutura para testar suas teorias de negociação para ter certeza de que os backtests lucrativos não são apenas por causa da sorte, mas são os resultados da modelagem robusta de um comportamento de mercado. Esta série de artigos apresentará uma abordagem simplificada para desenvolver um sistema de negociação para o mercado cambial de varejo. A ferramenta de desenvolvimento do sistema wersquoll usará MetaTrader 4 (MT4), embora as idéias e o processo apresentados se apliquem a uma ampla gama de plataformas de software. A metodologia abordará conceitos gerais direcionados ao comerciante do sistema inicial. Quando tomamos atalhos por conveniência, a Wersquoll encaminha o leitor a recursos adicionais para obter informações mais detalhadas. Existem cinco fases distintas no desenvolvimento do sistema de negociação: Fase 1: o desenvolvimento do modelo de mercado e o sistema automatizado básico mdash, o sistema automatizado básico implementa esse modelo, mas não incorpora perdas ou metas de lucro. O sistema básico é para o único propósito de coletar dados para análise estatística utilizada nas fases de desenvolvimento posterior. Fase 2: Gerenciamento de risco mdash a perda de parada inicial (ISL). Usando os dados coletados na Fase 1 e com base na análise estatística desses dados, adicionamos uma ISL à estratégia de negociação. Usamos a otimização para encontrar um parâmetro de paragem que atenda às nossas necessidades. Usaremos análise walk-forward para testar esta versão do sistema. Fase 3: Gerenciamento de lucro mdash o objetivo de lucro (PT). Como na Fase 2, usaremos a análise estatística de nossos dados para incorporar um objetivo de lucro no sistema. Mais uma vez, usaremos a otimização para encontrar um alvo de lucro apropriado e, em seguida, usaremos a análise progressiva para testar esta versão do sistema. Fase 4: Gerenciamento de dinheiro mdash o algoritmo de tamanho de comércio (TSA). Esta fase não depende dos dados coletados na Fase 1. Em vez disso, incorporaremos o método popular de tamanho da fração fixa para determinar quantos lotes são alocados para cada comércio. A literatura de comércio popular está repleta de conselhos para restringir o risco por comércio dentro de um intervalo de 1 a 3 do patrimônio da conta. Vamos executar a nossa otimização usando essas porcentagens e, mais uma vez, usar análise walk-forward para testar esta versão do sistema. Em conjunto, as fases 2 a 4 compreendem o gerenciamento comercial, mas há um passo mais crítico: Fase 5: análise de Monte Carlo muitos comerciantes param após a Fase 4. No entanto, nossos testes não estão completos naquele momento e o sistema não está pronto para Implantação (supondo que seja lucrativo). Apesar da nossa análise progressiva, não podemos ter certeza de que nossos resultados não são por causa da sorte. Em outras palavras, nosso modelo pode não descrever o comportamento do mercado, resultados com resultados precisos podem ter se beneficiado de um ambiente de mercado cuja ação de preço acabou por coincidir com nossa lógica. A análise de Monte Carlo ajudará a determinar se nosso modelo foi bem sucedido devido à sorte (aleatoriedade) ou à sua capacidade de identificar e explorar um padrão de mercado real. Este artigo abrangerá os artigos subsequentes da Fase 1, abrangerão as Fases 2 a 5. Artigos relacionados Opções de ferramentas de desenvolvimento do sistema Conceitualmente, você pode usar a parte traseira de um envelope para desenvolver suas idéias do sistema comercial. No entanto, a maioria dos comerciantes quer alguma forma de confirmar que seus sistemas recém-projetados podem se comportar de forma lucrativa antes de comprometerem o verdadeiro capital comercial. Isso significa que você precisa de uma maneira de testar seu sistema, simulando trades usando dados históricos. Opções de hardware de desenvolvimento de sistema Fazendo a matemática que o8217s requer para testar seu sistema pode realmente diminuir a velocidade do seu computador e pode gerar muitos dados. Quase qualquer computador fará o trabalho quando você começar, mas se você acabar testando muitas idéias do sistema, você definitivamente precisa de uma grande quantidade de armazenamento em disco e um computador rápido. O equipamento informático necessário para executar uma plataforma de negociação exclusiva, incluindo produtos como TradeStation ou MetaStock, geralmente é suficiente para o desenvolvimento e teste do sistema. Opções de software de desenvolvimento de sistema Muitos sistemas de negociação system8211 e produtos de teste estão no mercado. Algumas plataformas de negociação proprietárias, como a TradeStation ou o MetaStock, incluem recursos de teste do sistema. O software de planilha, como o Microsoft Excel, também é útil para analisar sistemas de negociação simples e para analisar os resultados gerados pelo software de desenvolvimento e teste especializado. Sistema de negociação8211processamento e software de teste Você precisa considerar vários dos seguintes critérios ao avaliar o seu software de desenvolvimento e teste de sistema: todos os sistemas de negociação e os programas de teste do sistema 8282 usam algum tipo de linguagem computacional para descrever e testar seu sistema. Alguns são difíceis de usar e os outros são mais intuitivos. Os comerciantes com forte capacidade de computação ou programação têm pouco problema em dominar qualquer uma dessas linguas, mas outras lutam. Preste muita atenção a este idioma de desenvolvimento antes de selecionar um sistema. Certifique-se de que você pode usar seu sistema escolhido. Você precisa integrar seu sistema de negociação com seus gráficos de ações. Algum software de desenvolvimento de sistema requer que você realmente escreva um código de computador que permita que você exiba seu sistema comercial e gráficos de ações simultaneamente. Evite esses sistemas se você não for um código de computador de escrita incômodo. A maneira e a eficácia pela qual seu software de desenvolvimento e teste de sistema informam sobre o desempenho do seu sistema comercial é fundamental. Alguns sistemas fornecem estatísticas extremamente detalhadas sobre o desempenho de seus sistemas de negociação. Outros, no entanto, listam pouco mais do que os sinais de compra ou venda. Em geral, mais informações são melhores. Certifique-se de que seus programas de desenvolvimento e teste de sistema sejam capazes de exportar os dados que eles geram, os dados de preços históricos incluídos, em uma planilha para análise posterior. A TradeStation é a plataforma de desenvolvimento de sistemas banhado a ouro. Tem muitas ferramentas integradas que tornam o seu trabalho de desenvolvimento e teste relativamente fácil. Para aqueles de vocês em orçamentos apertados, uma das alternativas menos dispendiosas que você pode querer considerar é um programa de criação de sites e de desenvolvimento de sistemas, como o AmiBroker. Embora flexível e poderoso, o AmiBroker isn8217t é rico em recursos ou polido como TradeStation, e requer muito mais esforço de sua parte. Por exemplo, o AmiBroker inclui indicadores de análise técnica bem conhecidos como médias móveis e MACD, mas o número de indicadores incluídos é um pequeno subconjunto em comparação com o que a TradeStation oferece. Da mesma forma, você deve usar a linguagem de fórmula AmiBroker8217s para criar e inserir outros indicadores que você esteja usando. Software de planilha Embora um programa de planilhas possa fazer tudo o que um programa de desenvolvimento e teste de sistema especializado pode fazer, ele pode adicionar um pouco de potência de análise ao seu kit de ferramentas de desenvolvimento de sistema. Você pode codificar e testar sistemas de negociação simples diretamente na planilha. Você também pode avaliar os resultados dos testes do seu sistema comercial usando as funções de estatística e análise integradas do spreadsheet8217s. Você pode, por exemplo, copiar os dados de preços para um estoque em sua planilha, calcular as médias móveis e outros indicadores, e depois configurar os sinais de compra, venda ou venda-curto. Você também pode exportar sinais comerciais do seu programa de desenvolvimento do sistema e importar os resultados para a sua planilha para análise posterior. Um projeto de planilha que você pode tentar é calcular os movimentos máximos favoráveis ​​e desfavoráveis ​​após o seu sistema ter disparado um sinal de compra ou venda. Simples de fazer, ajuda você a entender os pontos fortes e fracos do seu sistema comercial em grande detalhe. Você pode ver se os problemas com seu sistema comercial podem ser resolvidos usando diferentes procedimentos de saída ou pontos de parada-perda mais apertados (ou mais soltos). Por exemplo, embora seus sinais de entrada possam ser promissores, seus sinais de saída podem estar causando que você deixe muito dinheiro na mesa. Estas situações são difíceis de ver quando você está trabalhando apenas com gráficos, mas pode saltar quando você está trabalhando com dados brutos durante sua análise de planilha. Alguns programas de desenvolvimento de sistemas fornecem uma grande análise estatística, de modo que escolher entre ferramentas de planilhas e ferramentas de desenvolvimento de sistema é um trade-off entre minuciosidade e conveniência. Depois de você ter passado pelos exercícios de teste algumas vezes, você percebe a força de cada abordagem. Como encontrar dados históricos para o teste do sistema Testar seu sistema significa avaliar como ele funciona ao simular a negociação usando dados históricos de preço. De dez a vinte anos de dados históricos de fim de dia para os índices e estoques em que você planeja negociar geralmente são mais do que suficientes para simular corretamente os negócios para testar seu sistema. Você pode baixar dados históricos da Internet, e alguns dados on-line estão disponíveis gratuitamente. Algumas plataformas de negociação proprietárias também incluem acesso a dados históricos. Você pode querer obter dados de mais de uma fonte para confirmar sua precisão. O Yahoo Finance fornece dados históricos gratuitos e permite que você baixe os dados em uma planilha. Para acessar o feed de dados do Yahoo, obtenha uma cotação para o estoque e selecione 8220Historical Prices8221 no item do menu Quotes. Em seguida, clique em 8220Download to Spreadsheet.8221 Aqui estão alguns lugares que oferecem várias formas de dados históricos: Close alert Você deixou de seguir esse autor. Você não receberá mais notificações por e-mail deste autor. Guia de desenvolvimento de sistemas comerciais Por Neil Rosenthal A evolução contínua do software de análise técnica simplificou a criação de sistemas de negociação automatizados por computador. Alguns sistemas apenas geram os sinais para o comerciante seguir, enquanto outros colocam os negócios no mercado em nome do comerciante. No entanto, ser capaz de programar sua plataforma de negociação favorita é apenas o começo. Você deve ter uma estrutura para testar suas teorias de negociação para ter certeza de que os backtests lucrativos não são apenas por causa da sorte, mas são os resultados de modelagem robusta de um comportamento do mercado. Esta série de artigos apresentará uma abordagem simplificada para desenvolver um sistema de negociação para o mercado cambial de varejo. A ferramenta de desenvolvimento do sistema we8217ll usará MetaTrader 4 (MT4), embora as idéias e os processos apresentados se apliquem a uma ampla gama de plataformas de software. A metodologia abordará conceitos gerais direcionados ao comerciante do sistema inicial. Quando tomamos atalhos por conveniência, devemos referir o leitor a recursos adicionais para obter informações mais detalhadas. Existem cinco fases distintas no desenvolvimento do sistema de negociação: Fase 1: Desenvolvimento do modelo de mercado e do sistema automatizado básico 8212. O sistema automatizado básico implementa esse modelo, mas não incorpora perdas de parada ou metas de lucro. O sistema básico é para o único propósito de coletar dados para análise estatística utilizada nas fases de desenvolvimento posterior. Fase 2: Gerenciamento de risco 8212 a perda de parada inicial (ISL). Usando os dados coletados na Fase 1 e com base na análise estatística desses dados, adicionamos uma ISL à estratégia de negociação. Usamos a otimização para encontrar um parâmetro de paragem que atenda às nossas necessidades. Usaremos análise walk-forward para testar esta versão do sistema. Fase 3: Gerenciamento de lucros 8212 o objetivo de lucro (PT). Como na Fase 2, usaremos a análise estatística de nossos dados para incorporar um objetivo de lucro no sistema. Mais uma vez, usaremos a otimização para encontrar um alvo de lucro apropriado e, em seguida, usaremos a análise progressiva para testar esta versão do sistema. Fase 4: Gerenciamento de dinheiro 8212 o algoritmo de tamanho comercial (TSA). Esta fase não depende dos dados coletados na Fase 1. Em vez disso, incorporaremos o método popular de tamanho da fração fixa para determinar quantos lotes são alocados para cada comércio. A literatura de comércio popular está repleta de conselhos para restringir o risco por comércio dentro de um intervalo de 1 a 3 do patrimônio da conta. Vamos executar a nossa otimização usando essas porcentagens e, mais uma vez, usar análise walk-forward para testar esta versão do sistema. Tomados em conjunto, as fases 2 a 4 compreendem o gerenciamento comercial, mas há um passo mais crítico: Fase 5: análise de Monte Carlo 8212 muitos comerciantes param após a Fase 4. No entanto, nossos testes não estão completos naquele momento e o sistema não está pronto para Implantação (supondo que seja lucrativo). Apesar da nossa análise progressiva, não podemos ter certeza de que nossos resultados não são por causa da sorte. Em outras palavras, nosso modelo pode não descrever o comportamento do mercado, resultados com resultados precisos podem ter se beneficiado de um ambiente de mercado cuja ação de preço acabou por coincidir com nossa lógica. A análise de Monte Carlo ajudará a determinar se nosso modelo foi bem sucedido devido à sorte (aleatoriedade) ou à sua capacidade de identificar e explorar um padrão de mercado real. Este artigo abordará os artigos subsequentes da Fase 1, abrangerão as Fases 2 a 5. Formando o modelo. Este tutorial abrange os processos de desenvolvimento automatizado do sistema de negociação e nenhuma estratégia comercial específica. Por isso, nossa lógica modelo será baseada em um sistema de entrada aleatória para manter o foco no processo de desenvolvimento. Para reunir dados suficientes para análise, o sistema comercializará o par de moeda EURUSD, que é extremamente líquido e familiar para a maioria dos comerciantes. Para criar uma entrada aleatória, o sistema irá simular um flip de moeda. Nosso modelo de mercado é simplesmente 8220 comprar nas cabeças, vender na cauda.8221 Com base nos resultados do flip da moeda, o sistema irá comprar (inserir) ou vender (entrar em curto) às 8 da manhã (leste) no início da Nova York Sessão de negociação. O sistema irá sair do comércio às 5 p. m. (Leste) no final da sessão de negociação de Nova York. Vamos testar o sistema em barras horárias (referido como 8220H18221 no linguagem MT4). Nós codificamos a lógica aleatória usando a linguagem de programação MT48217s MQL4. Isso é feito criando o que é chamado de Consultor Especializado (EA). Nós chamamos esse particular Random Entry DTS (para o dia do sistema de negociação). Nosso EA usou a função MathRand () para gerar números pseudo-aleatórios e um algoritmo curto foi criado para simular um flip de moeda. Às 8 da segunda a sexta-feira, o sistema 8220flips8221 a moeda virtual. Se o resultado for um número positivo (cabeças virtuais), o sistema iniciará um longo comércio no par de moedas do euro. Se o resultado for zero ou um número negativo (caudas virtuais), o sistema iniciará um curto comércio. Uma moeda justa, teoricamente, produzirá 5050 castiços divididos à medida que o número de flips se aproxima do infinito. Com um número finito de flips, no entanto, a divisão irá derivar do teórico, mas um número suficientemente grande de flips produzirá divisões próximas a isso. Com um número suficientemente grande de negócios, portanto, a divisão entre vencedores e perdedores também deve abordar uma divisão 5050. Coleta de dados Nosso próximo passo é estabelecer o quadro para o teste que irá coletar dados para análise posterior. O saldo da conta hipotética inicial é de 10.000. O tamanho do comércio é padronizado em um lote de 10.000 (um mini-lote), com um valor de pip de 1. O EA foi programado para reunir os seguintes dados para cada comércio: Barras desde a entrada, maior comércio alto, barras para o maior comércio alto, Menor comércio baixo, barras para baixo comércio baixo, excursão adversa máxima (MAE) e excursão máxima favorável (MFE). O sistema exporta esses dados para arquivos de texto com valores separados por vírgula (CSV). Os arquivos CSV podem ser importados para qualquer planilha para análise. Para a análise apresentada aqui, o Microsoft Excel foi usado, mas a planilha de código aberto OpenOffice Calc (openoffice. org) de código aberto funciona da mesma forma. MAE e MFE desempenham um papel importante na nossa análise. MAE é a maior distância que o mercado viaja contra o comércio. MFE é a maior distância que o mercado viaja a favor do comércio. Por exemplo, suponha que o sistema tenha entrado o euro em 1.5000. Entre o momento da entrada e a saída automática de fim de dia, o mercado mudou para 1.4950 e até 1.5075. A maior distância que o mercado moveu contra a posição longa, ou MAE, é de 1.5000 8211 1.4950 0.0050, ou 50 pips. A maior distância que o mercado moveu em favor do comércio, ou MFE, é 1.5075 8211 1.5000 0.0075, ou 75 pips. Essas duas medidas podem nos dar uma base para configurar a ISL e o PT. MT4 possui um módulo de backtesting chamado Strategy Tester. Nós carregamos nossa EA no Strategy Tester e executamos o teste. Além do arquivo de dados exportado pela EA, o Strategy Tester produz um relatório de backtesting que contém todas as métricas de teste usuais (lucro líquido, porcentagem de winloss, redução máxima, etc.) e um gráfico de equidade do sistema. Os dados do relatório serão usados ​​para comparar cada versão do sistema e nos permitirão rastrear nosso progresso no desenvolvimento. Assumiremos que a EA já foi testada completamente para garantir que sua lógica esteja correta. O sistema está entrando e saindo de trades como esperado, e nossos dados estão exportando corretamente. Usando o Strategy Tester, a EA foi testada em quatro anos (1 de janeiro de 2008, até 31 de dezembro de 2017) de dados históricos da EURUSD. No final do teste, nosso arquivo CSV está completo, a planilha eletrônica é iniciada e os dados são importados. Agora podemos realizar nossa análise estatística. As medidas que buscamos são bastante simples: a média, a mediana e o desvio padrão do MAE e do MFE. Análise de dados O sistema produziu 1.038 negócios, dos quais 505 (48.65) eram negócios longos e 533 (51.35) eram curtos. Como esperado, este resultado aproxima os 5050 headtails teóricos divididos por um número ilimitado de voltas de moedas. Os vencedores e os perdedores foram quase uma divisão igual, também: 513 vencedores (49,42) e 525 perdedores (51,58). Vitórias consecutivas e perdas consecutivas foram em média duas em uma linha. O valor médio do comércio vencedor foi de 64,38 e o valor médio da perda de comércio foi de 64,51 8212 novamente, quase igual. Devido a esta pequena diferença, o sistema gerou uma perda líquida de 838.60, representando uma perda de equidade de 8.386 (ver 8220Strategy tester report, 8221 abaixo). Se pudermos reduzir o valor da perda média (com perda de stop) e aumentar o valor da vitória média (com um objetivo de lucro), o sistema pode ser lucrativo. MAE e MFE devem nos ajudar a fazer isso. Usando a capacidade de classificação do Excel8217s, os negócios vencedores são separados dos negócios perdidos. O Excel pode calcular a média, a média e o desvio padrão de MAE e MFE usando suas funções internas, MÉDIA, MEDIANO e STDEV. Clique aqui para ver estatísticas mais detalhadas. Os resultados dos cálculos são mostrados em 8220Análise estatística8221 (abaixo). (Os cálculos para todos os negócios combinados também são mostrados para completude.) O MAE médio é 0,00291, ou 29,1 pips. Para negociações que saem definitivamente rentáveis, o mercado mede cerca de 29 pips contra a posição antes da saída. Contraste isso com o MAE médio para perder negócios: 95,6 pips. Claramente, não há necessidade de tolerar um movimento de 96 pips contra o comércio. Os dados do MAE indicam que é improvável que o comércio saia rentável após essa excursão adversa. Por outro lado, seria imprudente ajustar a ISL cegamente em 29 pips porque muitas boas negociações serão interrompidas prematuramente. A perda ideal de parada provavelmente está em algum lugar intermediário. Voltando aos dados MFE, com um MFE médio de 97,1 pips, o mercado mede 97 pips de lucro aberto antes da saída. Observe a diferença entre o MFE médio de 97 pips e a média de ganhos de aproximadamente 64 pips (um pip 1 ao negociar um único mini-lote). O típico comércio vencedor é, aparentemente, devolver pelo menos 30 pips de lucro antes que o comércio seja encerrado no final da sessão. Se pudermos capturar esses pips adicionais, em seguida, combinados com a perda de parada, devemos ser capazes de aumentar a proporção da média de ganhos para a perda média de um sistema lucrativo líquido. Aqui, estabelecemos as bases estatísticas para melhorar o nosso sistema central. No próximo artigo, adicionaremos a ISL ao sistema e usaremos nossos achados do MAE para otimizar. O próximo passo será fazer o mesmo no lado do lucro: adicione o PT ao sistema e use o MFE para otimizar isso. Cada passo é uma base fundamental para o nosso objetivo final de desenvolver um sistema comercial completo. As informações nestas páginas contém declarações prospectivas que envolvem riscos e incertezas. Mercados e instrumentos perfilados nesta página são apenas para fins informativos e não devem, de forma alguma, encontrar uma recomendação para comprar ou vender nesses valores mobiliários. Você deve fazer sua própria pesquisa completa antes de tomar qualquer decisão de investimento. A FXStreet não garante, de forma alguma, que esta informação é livre de erros, erros ou distorções materiais. Também não garante que essas informações sejam oportunas. Investir no Forex envolve um grande risco, incluindo a perda de toda ou parte do seu investimento, bem como a perda emocional. Todos os riscos, perdas e custos associados ao investimento, incluindo perda total de principal, são de sua responsabilidade.

No comments:

Post a Comment