Thursday 22 March 2018

Geração de estratégia de negociação automatizada



Construindo Sistemas de Negociação Usando a Geração Automática de Código.
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 comercial é 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 a partir 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 do genoma de um dos pais é combinada 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. Tipicamente, uma maioria (por exemplo, 90%) de novos membros da população são produzidos através de cruzamento, com os demais membros produzidos por 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 uma revisão posterior.
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 / ou 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 livre de 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 comprimento do arquivo de dados de preço de entrada e outras configurações de compilação.
Se você quiser ser informado de novos desenvolvimentos, novidades e ofertas especiais do Adaptrade Software, por favor, junte-se à nossa lista. Obrigado.
Copyright © 2004-2015 Adaptrade Software. Todos os direitos reservados.

Geração de estratégia de negociação automatizada
Robotic Trading Systems é uma empresa de tecnologia automatizada de software de negociação de ações especializada no software automatizado de negociação de ações. Robotic Stock Trading é uma forma de inteligência artificial referida como a próxima geração de negociação de ações automatizada. Em contraste com os sistemas automatizados que executam ordens comerciais uma vez, o software de negociação de estoque robótico é capaz de executar uma estratégia de negociação definida pelo usuário de forma contínua e instantânea sem a intervenção do usuário. O comerciante robótico atua como um substituto comercial para monitorar indicadores complexos do mercado de ações e outras condições que afetam os resultados comerciais. A capacidade de trocar o "modo furtivo" também é uma distinção fundamental entre sistemas de negociação automatizados e robóticos. Como o robô computadorizado baseado em sigilo é capaz de detectar condições antes que um comerciante humano possa, a comercialização robótica tornou-se cada vez mais popular com o público em geral, pois esta tecnologia permite que os usuários dependam da velocidade de execução para tirar proveito repetidamente das flutuações de estoque ao longo de um sessão de negociação.
Veja nossas perguntas frequentes sobre características das demonstrações interativas.
COMPRE ESTE FORMULÁRIO PARA VER NOSSOS DEMÓS DE NEGOCIAÇÃO DE STOCK AUTOMÁTICO.
Este software de negociação robótico é um sistema de negociação de ações totalmente automatizado que comercializará no mercado para você 100% sem supervisão. Escolha ou crie uma estratégia, ligue-a e vá embora. Nosso software de negociação robótico irá lidar com o resto.
Ponto 100% e clique em NÃO Programação Necessária Nenhuma conta de corretagem necessária para começar Maximize os lucros durante os avanços do mercado Crie e teste estratégias em tempo real.
Nós valorizamos sua privacidade e não compartilharemos sua informação com nenhuma agência externa.
Disclaimer: The Example Strategies é apenas para fins de demonstração. Robotic Trading Systems não faz recomendações de compra, venda ou manutenção. Experiências únicas e performances passadas não garantem resultados futuros. Robotic Trading Systems são empresas relacionadas ao software e não concessionárias licenciadas. Investir no mercado de ações pode ser considerado de alto risco e os participantes devem consultar seus consultores financeiros sobre risco e adequação. Consulte Mais informação.
Crie de forma fácil e inteligente uma estratégia de negociação de ações: (leia mais.)
Deve haver um guia passo a passo para mostrar aos comerciantes novatos como criar uma estratégia de negociação. Existem estratégias disponíveis para sua utilização? Existem taxas envolvidas ou são oferecidas de graça? Você pode modificar as estratégias da prateleira?
Observe que as empresas não devem garantir um determinado retorno. As melhores empresas terão estratégias de negociação de ações curtas e curtas disponíveis sem custo e permitirão que o comerciante de ações crie a sua própria. Algumas empresas até permitem que você copie estratégias de uma lista de "amigos". Um tamanho não corresponde a todos. Se a empresa não lhe disser os detalhes da estratégia ou por que eles selecionaram ou recomendam um determinado estoque, então não é aconselhável usá-lo. Você pode estar pagando demais por serviços "proprietários" e pode obter dicas e recomendações on-line gratuitas do mercado de ações que funcionarão comparativamente.
No Robotic Trading Software, não há taxa para qualquer estratégia. Muitos usuários de software de negociação automatizada de software de negociação robótica ofereceram generosamente as estratégias que eles desenvolveram para uso público. Você pode usar as estratégias como está ou pode modificá-las da maneira que quiser. Claro, você pode desenvolver suas próprias estratégias a partir do zero. A maioria dos usuários testar qualquer estratégia que eles executam no modo de simulador por um período de tempo antes de entrar em contato com fundos reais.
Tenha uma estratégia longa e uma curta por conta: (leia mais.)
Devido ao tamanho da plataforma de negociação on-line, pode haver um limite para o número de estratégias que você pode ter carregado em cada conta. Por exemplo, se você quiser executar duas estratégias de negociação longa, talvez seja necessário ter duas contas.
Também confirme se você tem memória suficiente em seu computador para duas ou mais contas. Robotic Trading Software permite que você execute uma estratégia longa e uma curta por conta. Tradutores ativos experientes podem executar duas ou mais estratégias longas e curtas, ao mesmo tempo em que possuem contas adicionais para as estratégias que estão testando em um modo de simulador.
Quanto mais robusto o sistema de negociação automatizado, maiores são os requisitos de memória. Verifique isso antes de se inscrever ou comprar um novo computador. Se você se inscrever para mais de uma conta, sua máquina terá RAM suficiente para executar os dois ou você precisará comprar um computador extra ou mais memória? Se você tiver um Mac, pergunte se o software funciona no Mac, pois nem todos os fazem. Você pode querer ter um computador dedicado exclusivamente aos seus programas de negociação de ações automatizados e executar outros programas de processamento de texto ou planilhas em um computador separado.
Escolha entre centenas de indicadores técnicos: (leia mais.)
Existem literalmente centenas de indicadores que os comerciantes de ações podem usar para determinar quais ações comprar e vender e quando. Os programas mais robustos oferecerão centenas de indicadores para análises técnicas, como as Bandas de Bollinger, e alguns incluirão indicadores para as formações de cartazes de velas.
Os programas de negociação de robôs usam esses indicadores para definir as condições em que o investimento em linha ocorrerá. No Robotic Trading Software, temos mais de 500 indicadores técnicos. Cool Trade é uma plataforma de negociação baseada em regras. Os indicadores são usados ​​para selecionar ações para sua lista de observação, para abrir novas posições, para adicionar às posições atuais, se você escolher e sair de suas posições. Você pode copiar suas regras de lista de observação para suas regras de posição aberta ou adicionar as regras de posição atuais para torná-la ainda mais fácil de usar. Você pode até criar indicadores cronometrados que só se tornam ativos em um horário especificado. Adicionar ou excluir regras é tão simples quanto clicar nos botões Adicionar regras ou Excluir regras selecionadas, sem necessidade de programação!
Clique aqui para ver a lista de indicadores técnicos.
Simule estratégias em tempo real antes de viver ao vivo: (leia mais.)
A maioria dos comerciantes concorda que eles gostariam de testar um sistema antes de usá-lo. Alguns programas permitem isso através de "back-testing", no qual o programa usa dados históricos para executar os negócios e mostrar o que eles teriam sido.
Isso nem sempre é preciso, pois há muitos dados necessários para realizar um back-test completo e é quase impossível replicar todas as circunstâncias apenas com os dados históricos. Além disso, como o sistema funcionou em um mercado no mês passado ou no ano passado não indica como ele irá atuar aqui e agora. O melhor software de negociação automatizado permitirá que você pratique a negociação de ações usando um feed de dados ao vivo em tempo real durante as horas de mercado. Este é o método preferido, pois dá aos comerciantes uma visão muito realista de como sua estratégia de negociação está sendo realizada e a capacidade de sentir os altos e baixos da negociação diária sem investir dinheiro real. Se você pode simular negócios, não será necessário abrir uma conta de corretagem real até você "viver" com dinheiro real. Pergunte se há um limite de quanto tempo você pode executar no modo de simulação.
Um dos destaques do Robotic Trading Software é a sua capacidade de simular estratégias em tempo real indefinidamente antes de executá-las ao vivo. Robotic Trading Software tem seu próprio feed de dados, que permite que você execute as estratégias em um modo de simulador. Você também deve rever o tamanho dos lotes de negociação - eles são 100 ações ou 1000 ações? Quando você vê como a estratégia está em execução, você pode fazer alterações ou determinar qual corretor é melhor usar, com base, em parte, no tamanho de suas negociações.
Esta característica é indispensável, pois os comerciantes que valorizam seu dinheiro raramente executam uma estratégia sem testá-la primeiro.
Execute automaticamente sua estratégia de negociação: (leia mais.)
Mesmo quando você estiver longe do seu computador.
Somente o melhor software de negociação de ações executa automaticamente sua estratégia de negociação, mesmo quando você está longe do seu computador. Para o programa raro que possui essa capacidade, é feito com base no comerciante selecionando indicadores técnicos, operadores de comparação e entradas numéricas que ativarão a abertura, adicionando ou fechando posições de estoque.
Essencialmente, é um sistema de software orientado por regras. O comerciante pode selecionar entre centenas de indicadores históricos que representam as condições anteriores das ações. Os indicadores devem ser atualizados diariamente usando os dados mais recentes. Os programas que podem trocar automaticamente são o creme da cultura do software de investimento online. Eles levam a emoção de investir. Os comerciantes de longa data relatam que as estratégias mais simples, quando deixadas para correr por conta própria por longos períodos, são melhores. O programa também deve ter uma substituição manual para que o comerciante de ações possa também colocar um comércio manualmente. Especificamente, pergunte se o sistema de negociação do robô possui essa capacidade. Muitos se comercializam como fornecendo "software de negociação automatizado", mas não são verdadeiramente automatizados.
Robotic Trading Software É totalmente automatizado! Na verdade, é o único comerciante robótico totalmente automatizado existente. Você pode, literalmente, definir o seu Automated Trader para começar automaticamente todos os dias, ir ao trabalho, golfe ou fazer compras e verificar seus lucros depois de retornar.
O que é Robotic Trading?
Uma vez que eu acendi, o que eu faço?
Preciso criar uma estratégia imediatamente para usá-la?
Preciso abrir uma conta de corretagem imediatamente para usar o Trader?
Quanto dinheiro eu preciso para começar a negociar?
Robotic Trading Software recomenda estoques ou estratégias?
Qual o tipo de suporte que o Robotic Trading Software oferece?
Disclaimer: Robotic Trading Systems não faz recomendações de comprar, vender ou manter. Experiências únicas e performances passadas não garantem resultados futuros. Você deve falar com seu CPA ou representante financeiro (corretor ou analista financeiro) para garantir que o software / estratégia que você utiliza é adequado para seu perfil de investimento, antes de negociar em uma conta de corretagem ao vivo. Todos os conselhos e / ou sugestões fornecidos estão destinados a executar o software de negociação robótico apenas no modo de simulação.
Saiba mais sobre sistemas de negociação robótica.
Um sistema de negociação automatizado ou um sistema de negociação robótico é um programa de negociação de computadores que envia automaticamente negociações para uma troca. A partir do ano de 2010, mais de 70% das ações negociadas na NYSE.

Estudo de Caso & # 8211; Estratégia de negociação automatizada para um CTA.
O CTA estava usando vários sistemas e tecnologias diferentes para coletar dados de mercado, desenvolver estratégias e negociar. Como tal, havia preocupações sobre a manutenção do ambiente operacional, os custos operacionais e o tempo de mercado para desenvolver novas estratégias.
O CTA teve vários objetivos que tiveram de ser alcançados de forma evolutiva, em vez de "big bang", a fim de reduzir o risco do projeto. Os objetivos foram:
Reduzir o número de tecnologias Reduzir o tempo de colocação no mercado de implantação de novas estratégias de negociação Reduzir a latência entre geração de sinal e execução Criar e manter o arquivo de dados de mercado para back-testing e otimização de estratégias Reduzir o custo total de aplicação e infra-estrutura.
Dado o desejo de uma implementação em fase, concordamos e executamos a implementação em três etapas.
Etapa 1: Coleção de dados de mercado de streaming. A gravação de dados de mercado é um pré-requisito para back-testing e calibração. Nós instalamos o TimeBase e o manipulador de feed para o provedor de dados de mercado escolhido pelo cliente.
Etapa 2: Executar negociações a partir do processo de geração de sinal existente. Usando o recurso de mensagens personalizadas da TimeBase, desenvolvemos uma estratégia de execução de execução da QuantOffice que tomou como sinais de entrada gerados a partir do código de geração de sinal existente do cliente. Co-localizado em Cermak, a estratégia de execução foi executada no StrategyTradingServer e os negócios executados no CME via ExecutionServer.
Etapa 3: Gerar sinais em Deltix. Esta etapa final envolveu o cliente redigitando sua lógica de geração de sinal como uma estratégia QuantOffice. Nesta fase, havia um arquivo de dados histórico no TimeBase que havia sido coletado desde sua implantação no estágio 1. Como tal, o cliente pôde testar a geração de sinal em relação ao seu código legado. Uma vez testado, a estratégia QuantOffice, que inclui lógica de sinal e execução, foi implantada no StrategyTradingServer para negociação ao vivo.
Reduziu o número de tecnologias para um Tempo reduzido de implantação de novas estratégias de negociação Redução de latência entre geração de sinal e execução (resultando em uma execução mais eficiente) Repositório de dados de mercado criado para coletar e armazenar dados de mercado para back-testing e otimização de estratégias Reduzida custo total de aplicação e infra-estrutura.
Recursos em destaque.
A CEO Ilya Gorelik explica a automação da estratégia FX Trading.
Mantenha-se atualizado com Deltix.
Registe-se agora para receber atualizações informativas.
Do Blog Deltix.
Sobre o DELTIX.
A Deltix fornece software e serviços para empresas de compra e venda para pesquisa quantitativa e negociação algorítmica. Cobremos a coleta e agregação de dados, análises avançadas, desenvolvimento de modelos, back-testing, simulação e negociação ao vivo.
A experiência da Deltix inclui a aplicação de matemática complexa a grandes conjuntos de dados para ajudar os clientes a obter informações acionáveis ​​e a realizar "negociações inteligentes".
Postagens recentes.
Entre em contato com DELTIX.
Natick, MA 01760.
Copyright © 2017 Deltix & # 8226; Todos os direitos reservados.

Geração de estratégia de negociação automatizada
Se você ainda procura uma vantagem nos mercados, os sistemas de negociação automatizada são a melhor maneira de obtê-lo. Saber mais.
Copyright (c) 2010 Adaptrade Software. Todos os direitos reservados.
OS RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TÊM CERTAS LIMITAÇÕES INERENTES. DESEJO UM REGISTRO DE DESEMPENHO REAL, OS RESULTADOS SIMULADOS NÃO REPRESENTAM A NEGOCIAÇÃO REAL. TAMBÉM, DESDE QUE OS NEGÓCIOS NÃO SEJAM REALMENTE EXECUTOS, OS RESULTADOS PODEM TENER SOB OU COMENTÁRIOS COMPLEMENTARES PARA O IMPACTO, SE HAVER, DE CERTOS FATORES DE MERCADO, TAL COMO FALTA DE LIQUIDEZ. PROGRAMAS DE NEGOCIAÇÃO SIMULADOS EM GERAL SÃO TAMBÉM SUJEITOS AO FATO QUE ESTÃO DESIGNADOS COM O BENEFÍCIO DE HINDSIGHT. NENHUMA REPRESENTAÇÃO ESTÁ FAZENDO QUE QUALQUER CONTA VÁ OU SEJA PROBABILITÁVEL PARA ALCANÇAR LUCROS OU PERDAS SIMILARES ÀOS MOSTRADOS.
EasyLanguage e TradeStation são marcas registradas da TradeStation Technologies, Inc.
Uma das maiores tendências no comércio varejista na última década foi o aumento da popularidade do comércio automatizado. Neste tipo de negociação, também conhecida como execução automatizada de ordens, os sinais de compra e venda gerados por um sistema de negociação são executados automaticamente por uma plataforma conectada à conta corretora do comerciante. Isso permite o comércio livre de mãos, o que permite uma execução mais rápida, menos erros e a capacidade de trocar prazos mais curtos com estratégias de maior freqüência.
O algoritmo básico para a construção de sistemas de negociação usando a geração automática de código é mostrado abaixo na Fig. 1. Começa com um método para combinar diferentes elementos da estratégia de negociação. Esses elementos podem incluir 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.
Figura 1. Algoritmo básico para construção de estratégia automatizada.
Depois que os diferentes elementos são combinados em uma estratégia coerente, ele pode ser avaliado no mercado ou mercados de interesse. Isso requer dados de mercado - preços, volume, interesse aberto, etc. - para cada mercado. De um modo geral, você também teria um conjunto de objetivos de construção para ajudar a classificar ou marcar 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.
Base teórica da geração automática de código.
Conforme descrito acima, construir um sistema comercial usando a geração automática de código é essencialmente um problema de otimização. A combinação de elementos estratégicos que maximizam os objetivos de construção é tomada como a estratégia final. Alguns comerciantes argumentariam que os sistemas comerciais deveriam ser construídos com base em uma hipótese de comportamento ou ação do mercado. Se você tem uma boa hipótese de como os mercados funcionam, uma estratégia pode ser construída em torno dessa hipótese e testada. Se isso funciona, ele apóia a hipótese e justifica a negociação da estratégia.
Gerador de código de sistema padrão para TradeStation.
Esta seção descreve uma abordagem ad hoc para a geração automática de código em que um sistema comercial para a TradeStation gera automaticamente outros sistemas de negociação baseados em padrões para a TradeStation. O sistema AutoSystemGen procura um conjunto de regras de negociação, juntamente com os valores de parâmetros associados, que atendem a um conjunto específico de requisitos de desempenho.
Embora quase qualquer tipo de indicador ou lógica de negociação possa ser incluído no gerador do sistema comercial descrito aqui, para manter as coisas bastante simples, as regras dos sistemas gerados serão restritas aos padrões de preços. Cada regra de entrada de um sistema de negociação gerado terá a seguinte forma:
A chave para este processo é encontrar sistemas de negociação de candidatos. Um sistema pode consistir de uma e dez regras do formulário mostrado acima. As negociações são introduzidas no mercado se todas as regras forem verdadeiras, e os negócios são encerrados um certo número de barras mais tarde. Se isso fosse codificado como um sistema TradeStation tradicional, com um máximo de 10 regras, haveria 52 entradas. Isso faria para uma estratégia pesada.
O código para o sistema AutoSystemGen e suas funções relacionadas está disponível no Breakout Futures (breakoutfutures /) na página Free Downloads.
Por exemplo, considere o mercado de futuros de obrigações de tesouraria de 30 anos (símbolo US. P na TradeStation 8). O AutoSystemGen foi otimizado nos últimos 20 anos de preços de T-bond com a entrada OptStep aumentada de 1 para 10000. Isso significa que o sistema avaliou 10.000 sistemas de negociação diferentes. A otimização foi executada duas vezes, uma vez por trades longos e uma vez para negociações curtas. Foram utilizados os seguintes requisitos de desempenho: lucro líquido de pelo menos US $ 30.000, o pior caso de desconto no máximo de US $ 7500, pelo menos 200 negócios, porcentagem rentável de pelo menos 50% e fator de lucro de pelo menos 1,2. Em um computador dual core com o Vista, levou aproximadamente 10 minutos para executar cada otimização (10.000 sistemas por otimização).
Sistema 2332, US. P, 17/9/2007 12:23:00, Long Trades.
Lucro líquido = 53562.50, DD máximo = -7381.25, Num Trades = 250, Percentual de vitórias = 56.80, Prof factor = 1.631.
Var: EntNext (falso);
EntNext = Open [2] & gt; = Low [16] e.
Fechar [14] & lt; = Low [6] and.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 2 então.
Venda o próximo bar no mercado;
Sistema 5771, US. P, 17/9/2007 12:27:00, Long Trades.
Lucro líquido = 42145,00, DD máximo = -5733.75, Num Trades = 207, Percentagem de vitórias = 57,00, factor Prof = 1,631.
Var: EntNext (falso);
EntNext = High [7] & gt; = Low [19] e.
Fechar [20] & gt; = Fechar [5] e.
High [18] & gt; = Low [2] and.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 2 então.
Venda o próximo bar no mercado;
Sistema 7622, ​​EUA. P, 9/17/2007 12:29:00, Long Trades.
Lucro líquido = 59348.75, Max DD = -7222.50, Num Trades = 208, Percentual de vitórias = 60.58, Fator Prof. = 1.924.
Var: EntNext (falso);
EntNext = Low [2] & lt; = High [9] and.
Abra [11] & gt; = Abrir [18] e.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 3 então.
Venda o próximo bar no mercado;
Sistema 7718, US. P, 17/9/2007 12:29:00, Long Trades.
Lucro líquido = 35526.25, DD máximo = -6936.25, Num Trades = 292, Percentual de vitórias = 56.85, factor Prof = 1.418.
Var: EntNext (falso);
EntNext = Fechar [3] & gt; = High [19] and.
High [6] & lt; = Open [10] e.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 1 então.
Venda o próximo bar no mercado;
Sistema 6160, US. P, 17/9/2007 12:42:00, Short Trades.
Lucro líquido = 31277,50, DD máximo = -6846,25, Num Trades = 369, Percentual de vitórias = 51,76, Fator Prof. = 1,297.
Var: EntNext (falso);
EntNext = High [9] & gt; = Low [6] and.
Fechar [15] & gt; = Alto [8] e.
High [7] & lt; = Low [20] e.
Se EntNext então.
Venda curta barra seguinte no mercado;
Se BarsSinceEntry = 1 então.
Compre para cobrir a próxima barra no mercado;
A listagem para cada sistema inclui o número do sistema (correspondente à entrada OptStep), o símbolo do mercado, a data atual e se o sistema é apenas longo ou curto. A próxima linha contém algumas estatísticas de desempenho resumidas para ajudar na avaliação de cada sistema. Finalmente, o código do sistema é mostrado. Para avaliar os sistemas na TradeStation, o código entre as duas linhas de comentários () pode ser copiado e colado em uma estratégia no TradeStation e, em seguida, executado na janela do gráfico.
O último sistema no arquivo de saída é para um sistema de apenas curto-som (# 6160). Quando guardado na TradeStation como uma estratégia e aplicado ao mesmo gráfico de T-bond, a seguinte curva de equidade foi produzida:
Figura 3. Sistema de apenas curto prazo para títulos T, nos últimos 20 anos, com US $ 15 por negócio deduzido para custos de negociação, gerado pelo sistema AutoSystemGen.
Programação genética para geração automática de código.
A abordagem ad hoc descrita na seção anterior é simples, mas tem duas limitações: (1) as estratégias geradas aleatoriamente não convergem para os objetivos de construção e (2) o modelo do sistema de padrões é difícil de generalizar para estratégias mais complexas . Isso sugere que uma abordagem mais sofisticada seja necessária.
Um método para a geração automática de código que aborda essas duas preocupações é chamado de programação genética (GP), 1 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 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". 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).
Reduz a necessidade de conhecimento de indicadores técnicos e design de estratégias. O algoritmo GP seleciona as regras de negociação individuais, indicadores e outros elementos da estratégia para você.
O processo de construção da regra permite uma complexidade considerável, incluindo regras comerciais não-lineares.
O processo GP elimina os elementos mais laboriosos e tediosos do processo de desenvolvimento da estratégia tradicional; ou seja, surgir uma nova idéia comercial, programá-la, verificar o código, testar a estratégia, modificar o código e repetir. Isso é feito automaticamente no GP.
O processo de GP é imparcial. Considerando que a maioria dos comerciantes desenvolveu vieses para ou contra indicadores específicos e / ou lógica de negociação, o GP é guiado apenas pelo que funciona.
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.
O processo GP geralmente produz resultados que não são únicos, mas não óbvios. Em muitos casos, essas gemas escondidas seriam quase impossíveis de encontrar de outra maneira.
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 comprimento do arquivo de dados de preço de entrada e outras configurações de compilação.
A programação genética tem sido usada com sucesso em diversos campos, incluindo processamento de sinal e imagem, controle de processo, bioinformática, modelagem de dados, geração de código de programação, jogos de computador e modelagem econômica; veja, por exemplo, Poli et al. 2 Uma visão geral do uso de GP em finanças é fornecida por Chen. 3 Colin 4 foi um dos primeiros a explicar como usar o GP para otimizar combinações de regras para uma estratégia de negociação.
J. Koza. Programação genética. O MIT Press, Cambridge, MA. 1992.
R. Poli, W. B. Langdon e N. F. McPhee. Um guia de campo para programação genética. Publicado através de lulu e disponível gratuitamente em gp-field-guide. org. uk, 2008. (Com contribuições de J. R. Koza).
Shu-Heng Chen (Editor). Algoritmos genéticos e programação genética em finanças computacionais. Kluwer Academic Publishers, Norwell, MA. 2002.
A. Colin. Algoritmos genéticos para modelagem financeira, Trading on the Edge. 1994, páginas 165-168. John Wiley & amp; Sons, Inc. Nova York.
Risto Karjalainen. Evolução das regras de negociação técnica para futuros S & amp; P 500, Regras de Negociação Avançadas, 2002, Páginas 345-366. Elsevier Science, Oxford, Reino Unido.
Jean-Yves Potvin, Patrick Soriano, Maxime Vallee. Gerando regras de negociação nos mercados de ações com programação genética. Computadores e Pesquisa de operações, Volume 31, edição 7, junho de 2004, páginas 1033-1047.
Massimiliano Kaucic. Investimento utilizando métodos evolutivos de aprendizagem e regras técnicas. European Journal of Operational Research, volume 207, edição 3, 16 de dezembro de 2010, páginas 1717-1727.
Algoritmo de construção usando programação genética.
Expandindo o algoritmo de compilação apresentado anteriormente (ver Fig. 1), um algoritmo mais detalhado é ilustrado abaixo na Fig. 4 com base na programação genética. As caixas sombreadas de cinza representam os dados de entrada, que incluem os dados de preços para o (s) mercado (s) de interesse, indicadores e tipos de pedidos no chamado conjunto de compilação e as opções e critérios de desempenho (objetivos de construção) selecionados pelo do utilizador.
Figura 4. Algoritmo de compilação para geração automática de código com programação genética.
O processo GP pode ser usado para desenvolver simultaneamente dois elementos de estratégia essenciais: condições de entrada e pedidos de entrada e saída. As condições de entrada são tipicamente representadas como estruturas de árvores, como mostrado abaixo na Fig. 5.
A chave para a evolução das ordens de entrada e saída usando programação genética é representar os diferentes tipos de pedidos de forma generalizada. Por exemplo, parar e limitar os preços de entrada podem ser representados da seguinte forma:
Embora a programação genética seja capaz de gerar estratégias de negociação com uma variedade considerável, é necessário começar com uma estrutura generalizada para as estratégias a serem seguidas. A estrutura de estratégia mostrada abaixo em pseudo-código fornece uma estrutura para estratégias de construção com base em condições de entrada e tipos de pedidos como os discutidos acima:
Entradas: N1, N2, N3, ...
Se a posição for plana e LongEntryCondition for verdade, então.
Ordem de entrada longa ...
Inicialize as ordens de saída longas, conforme necessário ...
Se a posição for plana e ShortEntryCondition for verdade, então.
Ordem de entrada curta ...
Inicialize ordens de saída curtas, conforme necessário ...
Se a posição é longa então.
Ordem de saída longa 1 ...
Ordem de saída longa 2 ...
Se a posição for curta, então.
Ordem de saída curta 1 ...
Ordem de saída curta 2 ...
[Saída opcional de fim de dia]
As estratégias começam com a lista de insumos. É fornecida uma entrada para qualquer parâmetro do indicador, comprimento do look-back do padrão de preços e quaisquer parâmetros exigidos pelas ordens de entrada e saída, como o comprimento de look-back para o ATR.
Para ilustrar o uso de programação genética para a geração automática de código na construção de estratégias, o programa Adaptrade Builder foi administrado em barras diárias de um mercado de futuros de índices de ações para uma pequena população e um número limitado de gerações. As métricas de desempenho escolhidas para orientar o processo foram o lucro líquido, o número de trades, o coeficiente de correlação, a significância estatística e a relação retorno / redução. Alvos específicos foram definidos para o número de negociações e a relação retorno / retirada. As outras métricas selecionadas foram maximizadas. A função de fitness foi uma média ponderada de termos para cada métrica.
Figura 6. Percentagem de membros da população com lucro líquido fora da amostra superior a US $ 1.000.
Da mesma forma, o lucro líquido médio da OOS aumentou após cinco e dez gerações, como mostrado na Figura 7. Observe que esses resultados são para o lucro líquido da OOS. Por definição, os dados fora da amostra não são usados ​​na compilação, então os resultados da OOS são imparciais; eles não se beneficiam de retrospectiva. Isso implica que o processo GP não só tende a melhorar os resultados na amostra em sucessivas gerações, o que é um efeito direto do algoritmo GP, mas os resultados da OOS também tendem a melhorar à medida que as estratégias são desenvolvidas. Isso indica uma compilação de alta qualidade.
Código de Estratégia EasyLanguage para a TradeStation.
Membro da população: 46.
Criado por: Adaptrade Builder versão 1.1.0.0.
Criado: 19/10/2010 2:19:52 PM.
Código do TradeStation para TS 6 ou posterior.
Arquivo de preço: C: \ TestData. txt.
Var: EntCondL (falso),
EntCondL = (Maior (Volume, NL1) & gt; = Menor (Volume, NL2)) ou (Volume & lt; Média (Volume, NL3));
Se MarketPosition = 0 e EntCondL, em seguida, comece.
Compre a próxima barra na XAverage (L, NBarEnL1) + EntFrL * ATREnL parar;
Se MarketPosition = 0 e EntCondS, em seguida, comece.
Vender curto barra seguinte no Mais alto (H, NBarEnS1) - EntFrS * AbsValue (Menor (L, NBarEnS2) - Menor (H, NBarEnS3)) parar;
SStop = Power (10, 10);
Se MarketPosition & gt; 0 então comece.
Se BarsSinceEntry & gt; = NBarExL então.
Venda o próximo bar no mercado;
Venda o próximo bar no EntryPrice + TargFrL * ATRTargL limite;
Se MarketPosition & lt; 0 então comece.
Se EntryPrice - C & gt; ATRFrTrailS * ATRTrailS então.
Se STrailOn então começar.
NewSStop = EntryPrice - TrailPctS * (EntryPrice - C) / 100 .;
SStop = MinList (SStop, NewSStop);
Se BarsSinceEntry & gt; = NBarExS então.
Compre para cobrir a próxima barra no mercado;
Se STrailOn então.
Compre para cobrir a próxima barra na parada SStop;
Construir sistemas de negociação através da geração automática de código é um tipo de otimização. A maioria dos comerciantes sistemáticos provavelmente está familiarizado com a otimização de parâmetros, em que as entradas para uma estratégia são otimizadas. Ao contrário da otimização de parâmetros, a geração automática de código otimiza a lógica de negociação da estratégia. No entanto, o risco de sobre-otimização, ou "excesso de ajuste", também é uma preocupação para a geração automática de código, assim como é para a otimização de parâmetros.
Para obter informações sobre software para estratégias de negociação de construção usando programação genética, clique aqui.
Se você quiser ser informado de novos desenvolvimentos, novidades e ofertas especiais do Adaptrade Software, por favor, junte-se à nossa lista. Obrigado.
Copyright © 2004-2015 Adaptrade Software. Todos os direitos reservados.

No comments:

Post a Comment