Friday 15 November 2019

Building a trading system


Sistemas de negociação: Construindo um sistema 13 Até agora, discutimos os componentes básicos dos sistemas de negociação, os critérios que eles devem atender e algumas das muitas decisões empíricas que um designer de sistemas deve fazer. Nesta seção, examinaremos o processo de construção de um sistema de negociação, as considerações que precisam ser feitas e alguns pontos-chave a serem lembrados. A construção do sistema em seis etapas 1. Configuração - Para começar a construir um sistema de negociação, você precisará de várias coisas: Dados - Como o designer do sistema deve usar testes extensivos. O histórico de preços passados ​​é essencial para a construção de um sistema comercial. Esses dados podem ser integrados no software de desenvolvimento do sistema de negociação ou como um feed de dados separado. Os dados ao vivo geralmente são fornecidos por uma taxa mensal, enquanto os dados de idade podem ser obtidos gratuitamente. Software - Embora seja possível desenvolver um sistema comercial sem software, é altamente impraticável. Desde o final dos anos 90, o software tornou-se parte integrante da construção de sistemas de negociação. Alguns recursos comuns permitem que o comerciante faça o seguinte: Coloque automaticamente trades - Isso geralmente requer permissão do final do corretor porque uma conexão constante deve estar instalada entre o software e a corretora. As negociações devem ser executadas imediatamente e a preços exatos para garantir a conformidade. Para que seu software faça negócios para você, tudo o que você precisa fazer é inserir o número da conta e a senha, e tudo o mais é feito automaticamente. Por favor, note que usar este recurso é estritamente opcional. Código de um sistema de negociação - Este recurso de software implementa uma linguagem de programação proprietária que permite que você crie regras com facilidade. Por exemplo, o MetaTrader usa o MQL (MetaQuotes Language). Este é um exemplo de seu código para vender se a margem livre for inferior a 5.000: se for FreeMargin lt 5000, então saia Frequentemente, basta ler o manual e a experimentação deve permitir-lhe retomar os conceitos básicos do idioma que o seu software usa. Backtest sua estratégia - O desenvolvimento do sistema sem backtesting é como jogar tênis sem raquete. O software de desenvolvimento de sistemas geralmente contém um aplicativo de backtesting simples que permite definir uma fonte de dados, informações de conta de entrada e backtest por qualquer período de tempo com o clique de um mouse. Aqui está um exemplo do MetaTrader: Depois que o teste de retorno é executado, é gerado um relatório que descreve as especificidades dos resultados. Este relatório geralmente inclui lucro, número de negociações mal sucedidas, dias consecutivos baixos, número de negociações e muitas outras coisas que podem ser úteis ao tentar determinar como solucionar problemas ou melhorar o sistema. Finalmente, o software geralmente cria um gráfico que mostra o crescimento do investimento ao longo do período de tempo testado. 2. Design - O design é o conceito por trás do seu sistema, a maneira como os parâmetros são usados ​​para gerar lucros ou prejuízos. Você implementa essas regras e parâmetros, programando-os. Às vezes, esta programação pode ser feita automaticamente através de uma interface de usuário gráfica. Isso permite que você crie regras sem aprender uma linguagem de programação. Aqui é um exemplo de um sistema de cross-over médio móvel: Se o SMA (20) CrossOver EMA (13), então, insira Se SMA (20) CrossUnder EMA (13), saia Regras como essas que são colocadas no código permitem que o software automaticamente Gerar entrada e saídas nos pontos quando as regras são aplicáveis. Aqui está o aspecto da interface de design no MetaTrader: o sistema é criado simplesmente digitando as regras na janela e salvando-as. Referências para as diferentes funções disponíveis (por exemplo, osciladores e tal) podem ser encontradas clicando no ícone do livro. A maioria dos softwares terá uma referência similar disponível no próprio programa ou em seu site. Depois de criar as regras desejadas e codificar o sistema, você simplesmente salva o arquivo. Então, você pode usá-lo selecionando-o na tela principal. 3. Tomada de decisão - Há muitas decisões a serem tomadas neste ponto: Em que mercado eu quero negociar em 13 Quais os períodos de tempo que devo usar 13 Quais séries de preços devo usar 13 Que subconjunto de ações devo usar para testes Manter em Tenha em mente que os sistemas de negociação devem ser consistentemente lucrativos em muitos mercados. Ao personalizar o período de tempo e a série de preços demais, você pode manchar os resultados e produzir resultados não característicos.4. Prática - Backtesting e papel comercial são essenciais para o desenvolvimento bem sucedido de um sistema comercial: Execute vários backtests em diferentes períodos de tempo e certifique-se de que os resultados sejam consistentes e satisfatórios. Papel comercial o sistema (use dinheiro imaginário, mas registre os negócios e os resultados), e novamente, procure uma rentabilidade consistente. Verifique cuidadosamente se há erros no programa, ou trocas não intencionais. Estes podem ser um resultado de programação defeituosa ou falha em prever certas circunstâncias que tenham repercussões indesejadas. 5. Repetir - Repetição é necessária. Continue trabalhando no sistema até que você possa obter lucro consistentemente na maioria dos mercados e condições. Sempre há eventos imprevistos que ocorrem assim que um sistema é atualizado. Aqui estão alguns fatores que muitas vezes causam resultados negativos: Custos de transação - Certifique-se de que está usando a comissão real. E alguns extras para explicar preenchimentos imprecisos (diferença entre os preços de lance e de venda). Em outras palavras, evite o deslizamento (para analisar o que é e como ocorre, veja a seção anterior deste tutorial.) Vigilância - Não ignore a perda de negociações, mantenha um olho em todas as negociações. Otimização - Não sobre otimize o sistema. Em outras palavras, não adapte o sistema a um ambiente de mercado muito específico, tente ser rentável em um ambiente tão amplo quanto possível. Risco - Nunca ignore ou se esqueça do risco. É muito importante ter maneiras de limitar as perdas (também conhecidas como "stop-loss") e formas de garantir lucros (tirar lucros). 6. Comércio - Experimente, mas espere resultados não desejados. Certifique-se de usar operações não automatizadas até estar confiante no desempenho e consistência dos sistemas. Demora muito tempo para desenvolver um sistema de negociação bem-sucedido, e antes de você aperfeiçoá-lo, você pode ter que suportar algumas perdas de negociação ao vivo para detectar falhas: os testes de volta não podem representar perfeitamente as condições do mercado ao vivo e a negociação de papel pode ser imprecisa. Se o seu sistema perde dinheiro, volte para o quadro de desenho e veja onde ele deu errado (veja o passo 5). Conclusão Estas seis etapas fornecem uma visão geral de todo o processo de construção de um sistema comercial. Na próxima seção, construiremos esse conhecimento e analisaremos mais detalhadamente a solução de problemas e a modificação. Sistemas de Negociação: Solução de Problemas e Otimização. Biblioteca de Artigos de Construção. Construindo Sistemas de Negociação Usando a Geração Automática de Código por Michael R. Bryant À medida que mais e mais comerciantes se mudaram para negociação automatizada, o interesse em estratégias de negociação sistemática aumentou. Enquanto alguns comerciantes desenvolvem suas próprias estratégias de negociação, a curva de aprendizado íngreme necessária para desenvolver e implementar um sistema de negociação é um impedimento para muitos comerciantes. Uma solução recentemente desenvolvida para esse problema é o uso de algoritmos de computador para gerar automaticamente o código do sistema comercial. O objetivo desta abordagem é automatizar muitas das etapas do processo tradicional de desenvolvimento de sistemas de negociação. O software de geração automática de código para sistemas de negociação de construção geralmente é baseado na programação genética (GP), que pertence a uma classe de técnicas chamadas algoritmos evolutivos. Algoritmos evolutivos e GP em particular foram desenvolvidos por pesquisadores em inteligência artificial baseados nos conceitos biológicos de reprodução e evolução. Um algoritmo de GP evolui uma população de estratégias de negociação de uma população inicial de membros gerados aleatoriamente. Os membros da população competem uns contra os outros com base na sua aptidão física. Os membros do ajuste são selecionados como pais para produzir um novo membro da população, que substitui um membro mais fraco (menos adequado). Dois pais são combinados usando uma técnica chamada crossover, que imita o cruzamento genético na reprodução biológica. Em crossover, parte de um genoma de pais é combinado com parte do genoma dos outros pais para produzir o genoma da criança. Para a geração do sistema de negociação, os genomas podem representar diferentes elementos da estratégia de negociação, incluindo vários indicadores técnicos, como médias móveis, estocásticos e assim por diante diferentes tipos de pedidos de entrada e saída e condições lógicas para entrar e sair do mercado. Outros membros da população são produzidos por mutação, e qual membro da população é selecionado para ser modificado alterando aleatoriamente partes de seu genoma. Normalmente, uma maioria (por exemplo, 90) de novos membros da população são produzidos através de cruzamento, com os membros restantes produzidos por meio de mutação. Sobre sucessivas gerações de reprodução, a aptidão geral da população tende a aumentar. A aptidão é baseada em um conjunto de objetivos de construção que classificam ou pontuação de cada estratégia. Exemplos de objetivos de construção incluem várias medidas de desempenho, como o lucro líquido, redução, porcentagem de vencedores, fator de lucro e assim por diante. Estes podem ser declarados como requisitos mínimos, como um fator de lucro de pelo menos 2.0 ou como objetivos para maximizar, como maximizar o lucro líquido. Se houver múltiplos objetivos de compilação, uma média ponderada pode ser usada para formar a métrica de fitness. O processo é interrompido após algum número de gerações ou quando a aptidão pára de aumentar. A solução é geralmente tomada como o membro mais apto da população resultante, ou toda a população pode ser classificada por meio de aptidão e guardada para posterior revisão. Como a programação genética é um tipo de otimização, o excesso de ajuste é uma preocupação. Isso geralmente é abordado usando testes fora da amostra, nos quais os dados não utilizados para avaliar as estratégias durante a fase de compilação são usados ​​para testá-los posteriormente. Essencialmente, cada estratégia candidata construída durante o processo de construção é uma hipótese que é apoiada ou refutada pela avaliação e ainda é apoiada ou refutada pelos resultados fora da amostra. Existem vários benefícios para construir sistemas de negociação através da geração automática de código. O processo de GP permite a síntese de estratégias com apenas um conjunto de metas de desempenho de alto nível. O algoritmo faz o resto. Isso reduz a necessidade de conhecimento detalhado de indicadores técnicos e princípios de projeto de estratégia. Além disso, o processo de GP é imparcial. Considerando que a maioria dos comerciantes desenvolveu vieses para ou contra indicadores específicos e a lógica de negociação, o GP é guiado apenas pelo que funciona. Além disso, ao incorporar uma semântica de regras de negociação adequada, o processo de GP pode ser projetado para produzir regras de negociação logicamente corretas e código sem erros. Em muitos casos, o processo GP produz resultados que não são únicos, mas não óbvios. Essas gemas escondidas seriam quase impossíveis de encontrar de outra maneira. Por fim, ao automatizar o processo de compilação, o tempo necessário para desenvolver uma estratégia viável pode ser reduzido de semanas ou meses a uma questão de minutos em alguns casos, dependendo do tamanho do arquivo de dados de preço de entrada e outras configurações de compilação. Se você gostaria de ser informado de novos desenvolvimentos, novidades e ofertas especiais do Adaptrade Software, por favor, junte-se à nossa lista de e-mail. Obrigado. Como construir um sistema de negociação Ter um sistema de negociação completo, robusto e lucrativo ou conjunto de sistemas de negociação é a base de qualquer negócio comercial bem-sucedido. Mesmo se você é um comerciante discricionário, você ainda precisa de regras que orientem suas decisões comerciais e ajudem você a ser disciplinado e consistente. Você também precisa de um processo a seguir para introduzir novos métodos comerciais no seu repertório. Vamos esboçar todo o processo de desenvolvimento do sistema de negociação de sua idéia inicial para a implementação. As etapas do desenvolvimento do sistema de negociação são: 1) a idéia 2) hipótese 3) pesquisa 4) desenvolvimento 5) teste 6) otimização 7) implementação e 8) monitoramento (ver ldquoFrom start to finishrdquo). Todo sistema comercial começa com uma idéia. A idéia é um conceito que descreve algum aspecto da forma como um determinado mercado, ou todos os mercados, funcionam. As idéias provêm de pesquisas ou apenas observando os mercados diariamente. Algumas áreas de pesquisa que foram benéficas para o desenvolvimento do sistema incluem lacunas no mercado, impulso e ações corporativas (ver ldquoIdeasrdquo). Tudo o que o inspira, uma idéia deve ter sentido e ocorrer com uma freqüência útil que pode ser testada. Um sistema comercial deve vir de você. Não precisa ser completamente original para ganhar dinheiro, mas você deve entender completamente por que funciona para ter confiança para trocar o sistema com precisão. O próximo passo é definir uma hipótese testável baseada em sua idéia. Deve ser possível encontrar dados de suporte para testar sua hipótese e você deve poder quantificar a hipótese para que possa ser programada e testada. Um exemplo seria: ldquoPorque o encerramento da sessão ordinária é uma suspensão arbitrária na negociação, os contratos de futuros que exibiram um movimento intra-dia significativo devem continuar a se mover na mesma direção em sessões de negociação subseqüentes. rdquo (Isto é para ilustração. ) Para quantificar esta regra, devemos ter definições precisas para cada uma das variáveis ​​em nossa hipótese. Isso significa que temos que definir em quais mercados estamos falando, quais instrumentos dentro de cada mercado e quão grande é um movimento que constitui um elemento único em uma determinada direção. A quantificação de sua hipótese é dividida em quatro partes: Seleção de mercado, filtro de instrumento, condições de configuração e sinal de entrada. Qual mercado você pode aplicar sua idéia às Idéias que são aplicáveis ​​a múltiplos mercados são mais valiosos do que aqueles que só funcionarão para um único mercado ou instrumento. O filtro do instrumento determina quais instrumentos individuais dentro do mercado selecionado serão elegíveis para o comércio. Isso pode basear-se em volatilidade, preço, volume comercial ou uma combinação de todos estes. É importante que você inclua apenas instrumentos líquidos com volatilidade razoável para dar ao seu sistema a melhor chance de superar os custos de negociação. As condições de configuração são regras específicas que devem ser verdadeiras para identificar um comércio potencial. Em nossa hipótese de amostra, poderíamos dizer que o contrato deve ter movido 5 do preço de abertura para assinar uma entrada. O sinal de entrada é um conjunto de regras que determina se um comércio deve ser colocado. Estes podem ser combinados com as condições de configuração, mas é mais comum ter um conjunto separado de regras para sinalizar uma entrada comercial. Por exemplo, podemos entrar apenas cinco minutos antes do fechamento, se o preço estiver dentro de um determinado limite da alta diária. Para o nosso exemplo, podemos apresentar as seguintes regras: Para todos os contratos de futuros do primeiro semestre negociados na Globex com um volume diário médio de pelo menos 1.000 contratos nos últimos cinco dias que têm mais de um X aumento de preço desde o aberto até Y minutos antes do encerramento da sessão regular, insira-a no final, se estiverem dentro de Z ticks do seu alto para o dia (veja ldquoBuilding a traderdquo). Isso representa uma hipótese testável de que podemos nos transformar em um sistema de negociação mecânica para testar se seria historicamente rentável e também gerar trades suficientes para ser um sistema comercial útil. Neste ponto, no desenvolvimento do nosso sistema comercial, não especificamos valores exatos para as variáveis ​​em nossa hipótese (X, Y e Z), que vem mais tarde. As principais variáveis ​​na hipótese são chamadas graus de liberdade porque cada variável pode assumir valores múltiplos que, em essência, definem uma instância diferente do nosso sistema comercial. É importante não incluir muitos graus de liberdade em um sistema, pois isso pode dar origem a adaptação das nossas variáveis ​​aos dados passados ​​e resultará em um sistema que funciona muito bem nos dados históricos, mas não funciona na negociação real. Em geral, três ou quatro graus de liberdade geralmente são adequados para descrever uma boa idéia do sistema comercial. Se você achar que você precisa de muitas variáveis ​​para descrever seu sistema, isso é uma indicação de que sua idéia é muito complicada e deve ser dividida em aspectos básicos simples. Depois de simplificar e quantificar sua hipótese, você pode mover-se para coletar os dados necessários e testar a hipótese. Se a sua ideia não pode ser quantificada desta forma, não é suficientemente específica e deve ser adaptada para que ela possa ser representada por um conjunto de variáveis ​​e regras. Tendo definido uma hipótese testável e identificado as variáveis ​​que definem o sistema de negociação, podemos agora pesquisar a viabilidade do sistema. Um computador é uma ferramenta inestimável para esse processo. Procurar uma hipótese manualmente é demorado, tedioso e propenso a erros manuais e psicológicos porque nossos egos estão envolvidos. A pesquisa deve ser tendenciosa para refutar a hipótese de que muitas idéias promissoras resultam em sistemas de negociação que não são melhores do que aleatórios e não podem superar os custos de implementá-los. Para pesquisar nosso exemplo, precisaríamos de dados que nos forneçam o preço aberto e de fechamento de todos os contratos da Globex do primeiro trimestre e o aberto, alto, baixo e próximo dos próximos dias. Para testar o tempo, precisamos de contratos contínuos. Se você tiver dados exigidos por sua hipótese que não está prontamente disponível em forma histórica, você pode ter que reunir e gravá-lo nos próximos meses para ter o suficiente para testar. Se suas variáveis ​​se baseiam simplesmente em aberto, alto, baixo, fechado e em volume, você não deveria ter um problema. As fontes de dados são propensas a erros e imprecisões. Cada fornecedor de dados tem métodos diferentes para construir contratos de futuros contínuos e você deve verificar para garantir que você ache seus métodos de cálculo aceitáveis ​​para seu sistema de negociação particular. Neste ponto, podemos calcular a variação percentual a cada dia e escolher um número que nos forneça uma quantidade razoável de negócios. Se quisermos um comércio por dia, escolha o movimento percentual adequado. Um possível ambiente de teste é uma combinação do Microsoft Excel e um produto secundário que facilmente mescla os dados históricos no Excel. O Excel é um ambiente muito flexível para testar idéias comerciais porque você pode usar o código do Visual Basic for Application (VBA) se você não conseguir o que você precisa apenas nas fórmulas do Excel. As desvantagens são que não há estrutura ou fórmulas incorporadas especificamente para implementar e testar sistemas de negociação. Vários outros ambientes de teste do sistema comercial existem que fazem 80 do trabalho para você automaticamente, mas são os 20 que eles não podem fazer isso é importante. Aproveitar o tempo para aprender a testar seus próprios sistemas comerciais é uma habilidade valiosa e dá-lhe a confiança de não abandonar seus sistemas quando eles passam por um inevitável. Além disso, porque você quer mudar os valores das variáveis ​​em uma fase posterior durante a otimização , Queremos um ambiente onde possamos mudar as coisas e ver automaticamente o efeito das mudanças no desempenho do sistema. Agora que temos a idéia, hipóteses, variáveis ​​e dados que precisamos, podemos desenvolver o sistema em um ambiente de teste para ver se tem algum valor. As partes restantes do sistema que devem ser definidas antes de poder testá-lo são o algoritmo de dimensionamento de posição e o sinal de saída. As regras de dimensionamento de posição nos dizem o quanto o comércio. Usaremos um algoritmo simples que dimensiona nossa posição para que a diferença entre o preço de entrada e a perda de parada seja duas vezes maior do que o Rácio Real Médio (ATR) nos últimos 10 dias e será igual a 1 do capital alocado a este sistema. Este é um simples algoritmo de dimensionamento de posição baseado em volatilidade. O sinal de saída nos diz quando fechar o comércio. Usaremos uma parada de arranque simples baseada no dobro do ATR. Esta parada será movida para cima depois de cada dia de aproximação, subtraindo duas vezes o ATR da alta. Neste ponto, simplesmente usaremos valores sensíveis para as demais variáveis ​​principais do sistema ao invés de tentar escolher os valores que geram maior lucro. Nosso objetivo é descobrir se o sistema comercial é viável, não para maximizar os lucros potenciais durante um período histórico de testes. TESTE DO SEU SISTEMA O teste de um sistema de comércio específico é dividido em três etapas principais: testes históricos, teste de papel em tempo real e testes de dinheiro real de tamanho pequeno. Durante cada fase do teste, devemos ser capazes de avaliar como o sistema está executando e comparar diferentes versões Do sistema em diferentes estágios de desenvolvimento. A expectativa é uma boa maneira de fazer isso. Para comparar diferentes versões do sistema de negociação em desenvolvimento, precisamos de uma forma de determinar o valor do sistema e se ganhará dinheiro ou não. Uma boa maneira de fazer isso é chamado de expectativa do sistema. Para cada comércio que o sistema faz, calcule a proporção de lucro ou prejuízo para o risco inicial (como um número positivo), isso pode ser referido como R. Em seguida, pegue a R média para calcular a Expectativa (E). As equações para isso são: R Lucro ou perda A expectativa de risco inicial nos dá uma medida de quanto esse sistema deve fazer em média por unidade de risco. Se você estiver arriscando 1.000 em um comércio e a expectativa do sistema é 0.25, você deve fazer 250 por comércio, em média. A expectativa pode ser usada para comparar diferentes versões de um único sistema, ou sistemas completamente diferentes porque está sempre nas mesmas unidades (lucro por risco unitário). Assim, usando a expectativa em cada caso, podemos comparar os resultados e saber exatamente quanto do lucro ou perda é atribuível a qual aspecto do sistema: entrada, dimensionamento, saída, comissões, deslizamento e propagação. Obviamente, se a expectativa é negativa ou baixa, para qualquer um dos testes, exceto aquele em que os custos de implementação estão incluídos, temos um sistema que não funciona ou que precisa ser modificado. Idealmente, a expectativa deve aumentar após cada teste. Se o sistema tiver uma expectativa positiva após os custos de negociação serem tidos em conta, então vale a pena passar para o próximo estágio, que está testando em tempo real no papel. Se o sistema tiver expectativa negativa, podemos abandoná-lo, modificá-lo ou tentar otimizar as variáveis ​​para fazê-lo funcionar. A otimização de um sistema de expectativa negativa só deve ser considerada se forem apenas os custos comerciais que estão fazendo com que o sistema perca dinheiro. Nesta fase, a otimização informal pode ser usada para mudar cada uma das variáveis ​​no sistema para ver como elas afetam a expectativa geral. O sistema deve ser uma expectativa positiva dentro de uma grande seleção de valores para as principais variáveis. Isto é o que o torna robusto. Se o sistema funcionar apenas com alguns valores específicos para as principais variáveis, é provável que seja uma anomalia de curto prazo e não funcionará por períodos mais longos. Desconfie de uma porcentagem de alta vitória. Se o sistema tiver negócios vencedores mais de cerca de 60 do tempo, é provável que seja uma anomalia de curto prazo e, eventualmente, falhará. O primeiro nível de teste diz como o sistema teria realizado no passado. Só porque um sistema funcionou bem no passado não significa que ele funcionará bem no futuro. No entanto, dada uma escolha entre um sistema que sempre perdeu dinheiro e um que ganhou dinheiro, qual deles tem a melhor chance. Durante os testes históricos, cada componente do sistema deve ser testado de forma independente antes de ser combinado. Temos quatro tipos de testes. 1. Sinal de entrada tamanho de posição fixa sinal de saída fixo 2. Sinal de entrada sinal de saída de tamanho fixo de saída de sinal de saída 3. Sinal de entrada tamanho de posição variável sinal de saída variável 4. Sinal de entrada tamanho da posição variável custos de implementação do sinal de saída variável No primeiro teste, nós apenas Troque um contrato e saia após um horário fixo. No segundo teste, apresentamos uma parada de lucro ou de trânsito que permitiria que os lucros funcionassem mais para os negócios que são grandes vencedores. No terceiro teste, posicionaríamos o tamanho como uma porcentagem do capital alocado ao sistema com base em negociações anteriores para que, à medida que o sistema vencer, ele arrisque mais. No teste final, testaremos todo o sistema, incluindo um cálculo para comissões e quanto o preço de entrada e saída deve diferir dos preços históricos nos dados de teste. Um sistema tem que ser lucrativo o suficiente para superar os custos de negociação e o inevitável deslizamento (a diferença de preço entre sua entrada ou saída e onde você está preenchido). Supondo que o sistema tenha expectativa positiva ao longo de vários anos, podemos corrigir as principais variáveis ​​em um valor que produz o número desejado de negócios e passar para a comercialização de papel em tempo real. Supondo que os testes históricos do sistema produz resultados positivos, testamos o sistema em papel em tempo real. Isso prova que nós não reforçamos o sistema aos dados e demonstramos que os sinais são gerados na freqüência desejada. Monitore o mercado e os instrumentos para a configuração e sinais de entrada e registre os negócios que são inseridos no papel. Aplique o tamanho relevante da posição e saia sinais e calcule o múltiplo R para cada comércio. Certifique-se de incluir custos de implementação e uma tolerância razoável para derrapagem. Pelo menos 30 transações devem ser testadas em tempo real sem alterar nenhum aspecto do sistema. Se o sistema ainda exibir uma expectativa positiva semelhante ao teste histórico, é hora de negociá-lo de forma real com pequenas posições. Se você decidir alterar qualquer valor ou regra do sistema durante este período de teste, lembre-se de voltar e fazer o teste histórico e, em seguida, iniciar novamente o teste de papel em tempo real. O teste de dinheiro real é projetado para garantir que o sistema possa ser implementado conforme você o projetou. O tamanho mínimo da posição deve ser usado. Por isso, os custos de implementação serão uma proporção muito maior do valor comercial do que com as posições em tamanho real. Não estamos tentando ganhar dinheiro aqui, basta testar que podemos implementar o sistema de negociação com precisão com uma derrapagem razoável. Agora temos um sistema de expectativa positiva que testamos historicamente em papel em tempo real e com posições de tamanho pequeno. Antes de implementá-lo com posições de tamanho completo, precisamos decidir se queremos otimizar qualquer aspecto do sistema. A otimização pode ser usada de três maneiras: encontrar conjuntos de valores para as principais variáveis ​​que funcionam para transformar um sistema de expectativa negativa em um positivo, encontrar o melhor sistema de desempenho histórico e encontrar o possível intervalo de variáveis ​​que funciona melhor e escolher Aqueles que estão no meio desta faixa. A otimização só deve ser usada no último caso. Ele pode ser usado para encontrar conjuntos de valores que funcionam para um sistema, mas apenas se houver muitas instâncias de expectativa positiva relacionadas de perto. Mais uma vez, casos isolados de alta expectativa são uma forte indicação de que o sistema é uma anomalia e não funcionará na negociação real. A maneira mais fácil de otimizar um sistema de negociação é passar por cada valor das principais variáveis ​​e executar seus testes históricos após cada etapa. Em seguida, você pode construir uma tabela que mostra para cada valor da variável principal a expectativa do sistema. Em seguida, escolha uma versão do sistema que tenha a expectativa mediana em vez de maior. Agora que temos uma versão rentável, otimizada e eficiente do nosso sistema comercial, podemos incorporá-lo em nosso ambiente comercial e dar-lhe uma alocação completa do capital comercial. A implementação está em duas partes: primeiro, devemos automatizar o máximo possível do sistema para minimizar os erros de implementação e o tempo necessário para operar. Em seguida, alocamos o capital do sistema. A automação de um sistema de negociação é diferente para cada sistema e comerciante. Sistemas de longo prazo que tomam sinais usando dados de fim de dia para o seguinte aberto, têm paradas relativamente grandes e as posições de espera por semanas ou meses requerem muito pouca automação e podem ser monitoradas manualmente em alguns minutos após cada fechamento. Para sistemas que tomam vários sinais por dia e ocupam posições por apenas alguns minutos, é necessária uma automação máxima. A maioria dos corretores eletrônicos oferece uma Interface de Programação de Aplicativos (API) para sua conta que você pode usar para automatizar um sistema de negociação. Alternativamente, alguns corretores se especializam em automação de sistemas de negociação em seu nome. Uma simples regra de alocação de capital para um novo sistema seria alocar o capital disponível para todos os sistemas que estão sendo negociados na proporção da expectativa. Isso recompensaria os melhores sistemas com mais capital. Se o dimensionamento da posição for baseado na alocação atual para cada sistema, ao ganhar dinheiro, pode levar posições maiores ou menores quando perde. Saber se um sistema está perdendo dinheiro requer monitoramento de desempenho. Isso deve consistir em recalcular a expectativa após cada comércio fechado e certificar-se de que não se tornou negativo durante os últimos 50 negócios. Se a expectativa ao longo dos negócios recentes se tornou negativa, suspenda o comércio de dinheiro real e volte para a negociação de papel até que a expectativa volte ao normal. E se a hipótese original em que seu sistema se baseia torna-se inválida, suspenda a negociação imediatamente. A conclusão é que o desenvolvimento de um sistema comercial deve ser um processo controlado e bem pensado. Não deve ser abordado ao acaso e não deve abrandar as etapas vitais que são necessárias para o sucesso comercial a longo prazo. Paul King é um comerciante proprietário, treinador comercial e consultor financeiro independente em Vermont em sua empresa, a PMKing Trading LLC. Ele pode ser alcançado em pmkingtrading. E-mail: futuresmagpmkingtrading. Artigos relacionados

No comments:

Post a Comment