Sunday 27 August 2017

Python Genetic Algorithm For Trading System


Isso geralmente não é a forma como os algoritmos genéticos são representados, e eu pessoalmente não sinto que um algoritmo genético é a abordagem correta para isso, mas isso certamente é possível. Supondo que você apenas quer interagir com este conjunto específico de variáveis, você tem um pequeno conjunto de valores de potencial: isso significa que você pode representá-los facilmente como uma lista plana: o crossover é então apenas misturando dois cromossomos em algum ponto de divisão específico: a mutação é então Também relativamente trivial, apenas mudando um número ao acaso, trocando o operador booleano, etc. Desta vez, deixo aquele como um exercício para o leitor. Respondeu 7 de abril às 17:09 Isso assume um fluxo linear de instruções ao invés de uma árvore. Ndash Hugh Bothwell 7 de abril 14 às 17:11 HughBothwell Não faz. Isso é simplesmente lançar uma estrutura de árvore definida em uma lista com uma ordem definida de aplicação para essa árvore para crossover. O layout cromossômico aqui é independente da árvore em si, e OP não implicou que eles realmente queriam editar a estrutura da árvore. Se o fizerem, mudarei essa resposta. Ndash Slater Tyranus 7 de abril 14 às 17: 14Creando um sistema de negociação dentro do Sistema de Negociação O Laboratório do Sistema de Negociação do Laboratório gerará automaticamente Sistemas de Negociação em qualquer mercado em poucos minutos usando um programa de computador muito avançado conhecido como AIMGP (Indicação Automática de Máquina Code com Genetic Programação). A criação de um sistema de negociação no Trade System Lab é realizada em 3 etapas fáceis. Primeiro, é executado um pré-processador simples que extrai e pré-processa automaticamente os dados necessários do mercado com o qual você deseja trabalhar. A TSL aceita dados CSI, MetaStock, AIQ, TradeStation, dados de Internet gratuitos, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, Binário e Internet. Em segundo lugar, o Gerador do Sistema de Negociação (GP) é executado por vários minutos, ou mais, para evoluir um novo Sistema de Negociação. Você pode usar seus próprios dados, padrões, indicadores, relações inter-mercado ou dados fundamentais dentro da TSL. Terceiro, o Sistema de Negociação evoluído é formatado para produzir novos sinais do Sistema de Negociação dentro da TradeStation ou muitas outras plataformas de negociação. TSL escreverá automaticamente Easy Language, Java, Assembler, código C, código C e WealthLab Script Language. O Trading System pode então ser negociado manualmente, negociado através de um corretor ou negociado automaticamente. Você pode criar o Trading System você mesmo ou podemos fazer isso por você. Então, você ou o seu corretor podem trocar o sistema manualmente ou automaticamente. O Programa de Genética de Laboratórios de Sistemas de Negociação contém vários recursos que reduzem a possibilidade de ajuste de curva ou produzem um Sistema de Negociação que não continua a atuar no futuro. Primeiro, os Sistemas de Negociação evoluídos têm seu tamanho reduzido ao tamanho mais baixo possível através do que é chamado de Pressão Parsimonia, extraindo do conceito de comprimento mínimo da descrição. Assim, o Sistema de Negociação resultante é o mais simples possível e, em geral, acredita-se que quanto mais simples for o Sistema de Negociação, melhor será no futuro. Em segundo lugar, a aleatoriedade é introduzida no processo evolutivo, o que reduz a possibilidade de encontrar soluções que sejam localmente, mas não globalmente otimizadas. A aleatoriedade é introduzida não apenas sobre as combinações do material genético utilizado nos Sistemas de Negociação evoluídos, mas em Parsimony Pressure, Mutation, Crossover e outros parâmetros de GP de nível superior. O teste de fora da amostra é realizado enquanto o treinamento está em andamento com informações estatísticas apresentadas nos testes de teste de amostra e fora do teste de amostra. Os registros de execução são apresentados ao usuário para os dados de Treinamento, Validação e Fora da Amostra. Bem comportado O desempenho fora da amostra pode ser indicativo de que o Sistema de Negociação está evoluindo com características robustas. A deterioração substancial no teste automático de Out of Sample em comparação com o teste In Sample pode implicar que a criação de um Sistema de Negociação robusto está em dúvida ou que o Terminal ou Conjunto de Entrada pode precisar ser alterado. Finalmente, o Conjunto de terminais é cuidadosamente escolhido de modo a não implicar excessivamente a seleção do material genético inicial em relação a qualquer viés ou sentimento de mercado específico. A TSL não começa a ser executada com um Sistema de Negociação predefinido. Na verdade, apenas o conjunto de entrada e uma seleção do modo ou modos de entrada no mercado, para busca e atribuição automática de entrada, são feitos inicialmente. Um padrão ou comportamento indicador que pode ser pensado como uma situação de alta pode ser usado, descartado ou invertido dentro do GP. Nenhum padrão ou indicador é pré-atribuído a qualquer viés de movimento de mercado específico. Esta é uma saída radical do desenvolvimento do sistema de negociação gerado manualmente. Um Sistema de Negociação é um conjunto lógico de instruções que dizem ao comerciante quando comprar ou vender um mercado específico. Essas instruções raramente requerem intervenção de um comerciante. Os Sistemas de Negociação podem ser negociados manualmente, observando as instruções de negociação em uma tela do computador, ou podem ser negociados, permitindo que o computador entre em negociações no mercado automaticamente. Ambos os métodos estão em uso generalizado hoje. Existem mais gerentes de dinheiro profissionais que se consideram comerciantes sistemáticos ou mecânicos do que aqueles que se consideram discricionários, e o desempenho dos gerentes de dinheiro sistemáticos é geralmente superior ao dos gestores de dinheiro discrecional. Estudos mostraram que as contas de negociação geralmente perdem dinheiro com mais freqüência se o cliente não estiver usando um Sistema de Negociação. O aumento significativo nos Sistemas de Negociação nos últimos 10 anos é evidente, especialmente nas corretora de commodities, no entanto, as corretoras de mercado de ações e títulos estão cada vez mais conscientes dos benefícios através do uso de Sistemas de Negociação e alguns começaram a oferecer Sistemas de Negociação aos seus Clientes de varejo. A maioria dos gestores de fundos mútuos já estão usando algoritmos computacionais sofisticados para orientar suas decisões sobre o estoque quente a escolher ou a rotação do setor a favor. Computadores e algoritmos tornaram-se mainstream no investimento e esperamos que essa tendência continue a ser mais jovem, os investidores mais experientes em computador continuam a permitir que partes do seu dinheiro sejam gerenciadas pelos Trading Systems para reduzir o risco e aumentar os retornos. As enormes perdas experimentadas por investidores que participam da compra e detenção de ações e fundos de investimento como o mercado de ações derretido nos últimos anos está promovendo esse movimento para uma abordagem mais disciplinada e lógica para investir no mercado de ações. O investidor médio percebe que ele ou ela atualmente permite que muitos aspectos de suas vidas e a vida de seus entes queridos sejam mantidos ou controlados por computadores, como os automóveis e as aeronaves que usamos para o transporte, o equipamento de diagnóstico médico que usamos para a manutenção da saúde, Os controladores de aquecimento e refrigeração que usamos para controle de temperatura, as redes que usamos para informações baseadas na internet, até mesmo os jogos que jogamos para entretenimento. Por que, então, alguns investidores de varejo acreditam que eles podem disparar do quadril em suas decisões sobre o estoque ou o fundo mútuo para comprar ou vender e esperar ganhar dinheiro. Finalmente, o investidor médio tornou-se desconfiado dos conselhos e informações encaminhadas por corretores sem escrúpulos , Contadores, diretores corporativos e consultores financeiros. Nos últimos 20 anos, matemáticos e desenvolvedores de software pesquisaram indicadores e padrões em mercados de ações e commodities buscando informações que possam apontar para a direção do mercado. Esta informação pode ser usada para melhorar o desempenho dos Sistemas de Negociação. Geralmente, este processo de descoberta é realizado através de uma combinação de tentativa e erro e mais sofisticada mineração de dados. Normalmente, o desenvolvedor levará semanas ou meses de crunching de números para produzir um potencial Sistema de Negociação. Muitas vezes, este sistema de negociação não funcionará bem quando usado no futuro devido ao que é chamado de ajuste de curva. Ao longo dos anos, tem havido muitos Sistemas de Negociação (e empresas de desenvolvimento do Sistema de Negociação) que vieram e foram assim que seus sistemas falharam na negociação ao vivo. O desenvolvimento de sistemas de negociação que continuam a atuar no futuro é difícil, mas não é impossível de realizar, embora nenhum desenvolvedor ético ou gerente de dinheiro dê uma garantia incondicional de que qualquer Sistema de Negociação ou, por isso, qualquer ação, vínculo ou fundo mútuo, continuará Para produzir lucros no futuro para sempre. O que levou semanas ou meses para que o desenvolvedor do Sistema de Negociação produza no passado pode agora ser produzido em minutos através do uso do Trading System Lab. O Trading System Lab é uma plataforma para a geração automática de sistemas de negociação e indicadores de negociação. A TSL faz uso de um mecanismo de programação genética de alta velocidade e produzirá sistemas de negociação a uma taxa de mais de 16 milhões de barras de sistema por segundo com base em 56 entradas. Note-se que apenas alguns insumos serão realmente utilizados ou necessários, resultando em estruturas de estratégia geralmente simples desenvolvidas. Com aproximadamente 40.000 a 200.000 sistemas necessários para uma convergência, o tempo de convergência para qualquer conjunto de dados pode ser aproximado. Note-se que não estamos simplesmente executando uma otimização de força bruta de indicadores existentes que procuram parâmetros ótimos a partir dos quais usar em um Sistema de Negociação já estruturado. O Trading System Generator começa em uma origem de ponto zero, não fazendo suposições sobre o movimento do mercado no futuro e, em seguida, evolui Trading Systems a uma taxa muito alta combinando informações presentes no mercado e formulando novos filtros, funções, condições e relacionamentos como ele Progride para um Sistema de Negociação geneticamente modificado. O resultado é que um excelente sistema de negociação pode ser gerado em poucos minutos em 20-30 anos de dados de mercado diários em praticamente qualquer mercado. Ao longo dos últimos anos, houve várias abordagens para a otimização do Sistema de Negociação que empregam o Algoritmo Genético menos poderoso. Os Programas Genéticos (GPs) são superiores aos Algoritmos Genéticos (GAs) por vários motivos. Primeiro, os GPs convergem em uma solução a uma taxa exponencial (muito rápido e ficando mais rápido) enquanto os Algoritmos Genéticos convergem em uma taxa linear (muito mais lenta e não está ficando mais rápida). Em segundo lugar, os GPs realmente geram o código da máquina do Sistema de Negociação que combinava o material genético (indicadores, padrões, dados inter-mercado) de maneiras únicas. Essas combinações únicas podem não ser intuitivamente óbvias e não requerem definições iniciais pelo desenvolvedor do sistema. As relações matemáticas únicas criadas podem se tornar novos indicadores, ou variantes na Análise Técnica, ainda não desenvolvidas ou descobertas. Os GAs, por outro lado, simplesmente buscam soluções ótimas à medida que progridem no intervalo de parâmetros, não descobrem novas relações matemáticas e não escrevem seu próprio código de Sistema de Negociação. Os GPs criam o código do Sistema de Negociação de vários comprimentos, usando genomas de comprimento variável, modificarão o comprimento do Sistema de Negociação por meio do crossover não homólogo e descartarão completamente um indicador ou padrão que não contribua para a eficiência do Sistema de Negociação. Os GAs usam apenas blocos de instruções de tamanho fixo, fazendo uso de apenas crossover homólogos e não produzem código de código de troca de comprimento variável, nem descartarão um indicador ou padrão ineficiente tão prontamente quanto um GP. Finalmente, os Programas Genéticos são um avanço recente no domínio da aprendizagem por máquinas, enquanto os Algoritmos Genéticos foram descobertos há 30 anos. Os programas genéticos incluem todas as principais funcionalidades do cruzamento, reprodução, mutação e aptidão de Algoritmos Genéticos, no entanto, os GPs incluem recursos muito mais rápidos e robustos, tornando os GPs a melhor escolha para a produção de Sistemas de Negociação. O GP empregado no TSLs Trading System Generator é o GP mais rápido atualmente disponível e não está disponível em nenhum outro software de mercado financeiro no mundo. O Algoritmo de Programação Genética, o Simulador de Negociação e os Motores Fitness utilizados na TSL levaram 8 anos para produzir. O Trading System Lab é o resultado de anos de trabalho árduo por uma equipe de engenheiros, cientistas, programadores e comerciantes, e acreditamos que representa a tecnologia mais avançada disponível hoje para comercializar os mercados.

No comments:

Post a Comment