Skip to main content

Sistema De Negociação De Algoritmos Genéticos


Criando um Sistema de Negociação dentro do Sistema de Negociação Lab Lab System irá gerar automaticamente Sistemas de Negociação em qualquer mercado em poucos minutos usando um programa de computador muito avançado conhecido como AIMGP (Indução Automática de Código de Máquina com Programação Genética). Criação de um sistema de negociação dentro Trading System Lab é realizado em 3 passos simples. Primeiro, um pré-processador simples é executado que automaticamente extrai e pré-processa os dados necessários do mercado que você deseja trabalhar. TSL aceita CSI, MetaStock, AIQ, TradeStation, Dados de Internet grátis, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, dados binários e Internet Streaming. 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 de intermarket ou dados fundamentais dentro de TSL. Em terceiro lugar, o Sistema de Negociação evoluído é formatado para produzir novos sinais do Sistema de Negociação dentro da TradeStation ou de muitas outras plataformas de negociação. TSL irá escrever automaticamente Easy Language, Java, Assembler, código C, código C e WealthLab Script Language. O Sistema de Negociação pode então ser negociado manualmente, negociado através de um corretor ou negociado automaticamente. Você pode criar o sistema de comércio você mesmo ou nós podemos fazê-lo para você. Em seguida, você ou seu corretor podem negociar o sistema manualmente ou automaticamente. Trading System Labs Genetic Program contém vários recursos que reduzem a possibilidade de ajuste de curva, ou produzindo um sistema de negociação que não continua a realizar no futuro. Primeiro, os Sistemas de Negociação evoluídos têm seu tamanho podado até o menor tamanho possível através do que é chamado Pressão de Parcimônia, extraindo do conceito de comprimento de descrição mínimo. Assim, o Sistema de Negociação resultante é tão simples quanto possível e geralmente se acredita que quanto mais simples for o Sistema de Negociação, melhor será o desempenho 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 óptimas. A aleatoriedade é introduzida não apenas sobre as combinações do material genético usado nos Sistemas de Negociação evoluídos, mas também em Parsimony Pressure, Mutation, Crossover e outros parâmetros GP de nível mais alto. O teste fora da amostra é realizado enquanto o treinamento está em andamento com informações estatísticas apresentadas nos testes de amostra e fora do sistema de negociação. Os logs de execução são apresentados ao usuário para os dados de treinamento, validação e fora da amostra. Bem comportado Out of Sample desempenho pode ser indicativo de que o sistema de negociação está evoluindo com características robustas. Uma deterioração substancial no teste automático de ausência de amostra em comparação com o teste de amostra pode implicar que a criação de um robusto sistema de negociação está em dúvida ou que o terminal ou o conjunto de entrada pode precisar ser alterado. Finalmente, o Conjunto Terminal é cuidadosamente escolhido de modo a não exagerar a seleção do material genético inicial para qualquer tendência ou sentimento de mercado particular. A TSL não inicia sua execução com um Sistema de Negociação predefinido. De facto, apenas o Conjunto de Entradas e uma selecção de modos ou modos de entrada no mercado, para a procura e atribuição automática de entradas, é inicialmente feita. Um comportamento de padrão ou 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 tendência de movimento de mercado em particular. Este é um desvio 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 determinado mercado. Estas instruções raramente requerem a intervenção de um comerciante. Os sistemas negociando podem negociados manualmente, observando instruções negociando em uma tela de computador, ou podem ser negociados permitindo que o computador incorpore negociates no mercado automaticamente. Ambos os métodos estão em uso generalizado hoje. Existem mais gerentes de dinheiro profissional que se consideram comerciantes sistemáticos ou mecânicos do que aqueles que se consideram discricionária, eo desempenho dos gestores de dinheiro sistemático é geralmente superior ao de gestores de dinheiro discrecional. Estudos têm mostrado que as contas comerciais geralmente perdem dinheiro com mais freqüência se o cliente não está usando um sistema de negociação. O aumento significativo nos Sistemas de Negociação nos últimos 10 anos é evidente, especialmente nas corretoras de commodities, entretanto as corretoras de ações e corretoras 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 sofisticados algoritmos de computador para orientar suas decisões sobre qual estoque quente para escolher ou o setor de rotação está a favor. Computadores e algoritmos tornaram-se mainstream no investimento e esperamos que esta tendência continue enquanto os investidores mais jovens e informáticos continuam a permitir que partes do seu dinheiro sejam administradas pela Trading Systems para reduzir o risco e aumentar os retornos. As enormes perdas sofridas pelos investidores que participam na compra e manutenção de ações e fundos mútuos como o mercado de ações derretido nos últimos anos está promovendo este 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 as vidas de seus entes queridos para ser mantido ou controlado por computadores como os automóveis e 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 o 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 podem atirar do quadril em suas decisões sobre o que estoque ou fundo mútuo para comprar ou vender e esperar para ganhar dinheiro Finalmente, o investidor médio tornou-se cauteloso do conselho e informações encaminhadas por corretores sem escrúpulos , Contadores, diretores corporativos e consultores financeiros. Durante os últimos 20 anos, matemáticos e desenvolvedores de software pesquisaram indicadores e padrões nos mercados de ações e commodities procurando informações que pudessem apontar para a direção do mercado. Esta informação pode ser utilizada 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 de Data Mining. Normalmente, o desenvolvedor levará semanas ou meses de número crunching, a fim de produzir um potencial sistema de negociação. Muitas vezes este sistema negociando não executará bem quando usado realmente no futuro devido ao que é chamado ajuste da 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 como seus sistemas falharam em negociação ao vivo. Desenvolvimento de sistemas de negociação que continuam a desempenhar no futuro é difícil, mas não impossível de realizar, embora nenhum desenvolvedor ético ou gerente de dinheiro vai dar uma garantia incondicional de que qualquer sistema de negociação, ou para qualquer assunto, ações ou fundos mútuos, continuará Para produzir lucros no futuro para sempre. O que demorou 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. Trading System Lab é uma plataforma para geração automática de Sistemas de Negociação e Indicadores de Negociação. TSL faz uso de uma alta velocidade Genetic Programming Engine e produzirá Trading Systems a uma taxa de mais de 16 milhões de sistema-barras por segundo com base em 56 entradas. Observe que apenas algumas entradas serão realmente usadas ou necessárias, resultando em estruturas de estratégia geralmente simples evoluídas. 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. Observe que não estamos simplesmente executando uma otimização da força bruta de indicadores existentes procurando parâmetros ótimos a partir dos quais usar em um sistema de negociação já estruturado. O Gerador do Sistema de Negociação começa em uma origem de ponto zero sem fazer suposições sobre o movimento do mercado no futuro e, em seguida, desenvolve Sistemas de Negociação a uma taxa muito alta combinando informações presentes no mercado e formulando novos filtros, funções, condições e relacionamentos como ele Avança 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 diários de mercado em praticamente qualquer mercado. Ao longo dos últimos anos, tem havido várias abordagens para Trading System otimização que empregam a menos poderosa Algoritmo Genético. Os Programas Genéticos (GPs) são superiores aos Algoritmos Genéticos (AGs) por várias razões. Primeiro, os GPs convergem em uma solução em uma taxa exponencial (muito rápido e ficando mais rápido), enquanto que os Algoritmos Genéticos convergem em uma taxa linear (muito mais lenta e não ficando mais rápida). Em segundo lugar, GPs realmente gerar código de máquina do sistema de negociação que combinou 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 exigem definições iniciais do desenvolvedor do sistema. As relações matemáticas originais criadas podem se tornar novos indicadores, ou variantes na Análise Técnica, ainda não desenvolvidos ou descobertos. GAs, por outro lado, simplesmente procurar soluções ótimas à medida que progridem sobre o intervalo de parâmetros que não descobrem novas relações matemáticas e não escrever seu próprio código de sistema de negociação. GPs criar código de sistema de negociação de vários comprimentos, usando genomas de comprimento variável, irá modificar o comprimento do sistema de negociação através do que é chamado de crossover não homóloga e descartar completamente um indicador ou padrão que não contribui para a eficiência do sistema de negociação. GAs usam apenas blocos de instruções de tamanho fixo, fazendo uso de apenas crossover homóloga e não produzem código de Sistema de Negociação de comprimento variável, nem descartam um indicador ou padrão ineficiente tão facilmente quanto um GP. Finalmente, os Programas Genéticos são um avanço recente no domínio da aprendizagem mecânica, enquanto que os Algoritmos Genéticos foram descobertos há 30 anos. Os programas genéticos incluem todas as principais funcionalidades de crossover, reprodução, mutação e fitness, mas os GPs incluem características muito mais rápidas e robustas, 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 do mundo. O Algoritmo de Programação Genética, o Simulador de Negociação e os Motores de Fitness usados ​​dentro da TSL levaram mais de 8 anos para produzir. Trading System Lab é o resultado de anos de trabalho árduo por uma equipe de engenheiros, cientistas, programadores e comerciantes, e acreditamos que representa a mais avançada tecnologia disponível hoje para a negociação dos mercados. Seleção Natural: Algoritmo Genético para a Otimização do Sistema Programação Genética Evo 2 É a nossa avançada biblioteca de algoritmos genéticos que incorpora o mais recente design de algoritmos genéticos, tais como processos biologicamente idênticos, interruptores epigenéticos, recozimento simulado, prevenção de endogamia de Westermarck, recombinação limitada por idade e muito mais. O algoritmo Evo 2 não é baseado no padrão único cromossomo GA design. O Evo 2 resolve rapidamente os problemas de otimização multivariada e se adapta bem à complexidade. O algoritmo Evo 2 foi projetado para programação genética (criação autônoma de sistemas de negociação), otimização de sistemas de negociação e otimização de portfólios. Evo 2 permite aos desenvolvedores construir otimizações de sistemas de negociação multivariada com facilidade. Bio-Identidade Genoma e Algoritmo Evo 2 não é apenas bio-inspirado, mas é bio-idêntico em muitos aspectos. Evo 2 simula cada processo natural da seleção do companheiro à embalagem do ADN e à meiose completa. A maioria dos algoritmos genéticos padrão negligencia a realização dos múltiplos passos da meiose que são de vital importância para a variação genética, uma variável crucialmente importante para evitar optima local. Durante a prófase, a sinapse dos cromossomos e uma pequena quantidade de DNA são trocados entre cromossomos homólogos através de um processo conhecido como cruzamento. A parte crítica da profase é o alinhamento de tetrads em pares homólogos. O algoritmo Evo 2 garante que os homólogos são criados apenas a partir de cromossomos sexuais não relacionados e opostos. Metafase e Anafase A metafase e a anáfase são as fases em que muita variação é incorporada ao genoma, entretanto, a maioria dos algoritmos genéticos deixa completamente esses passos. Evo 2 simula ambas as fases completamente e com precisão. Nenhuma endogamia permitida A maioria dos algoritmos genéticos padrão são sopa endogâmica, tecnicamente falando. A endogamia reduz a variação genética, o que basta dizer, impede que os sistemas evoluam e se adaptem ao seu ambiente. Em GAs padrão, isso significa que um sistema pode ser mais provável que fique preso em optima local. Enquanto a natureza tem pelo menos três mecanismos para evitar a endogamia, a maioria dos algoritmos genéticos não conseguem resolver este problema. O primeiro método: impedir que a prole reproduza. A consanguinidade resulta em homozigose aumentada, o que pode aumentar as chances de prole ser afetado por traços recessivos ou deletérios. O segundo mecanismo: afastar os jovens do sexo masculino, a fim de evitar o acasalamento de incesto entre irmãos. O terceiro mecanismo: O efeito Westermarck. Este é um efeito psicológico através do qual os indivíduos que são criados em estreita proximidade durante a infância tornam-se dessensibilizados para a atração sexual posterior. A consequência final da endogamia é a extinção de espécies devido à falta de diversidade genética. A chita, uma das espécies mais endogâmicas na terra, é um excelente exemplo. E, também acontece de estar enfrentando a extinção. Vinte mil anos atrás, as chitas vagavam por toda a África, Ásia, Europa e América do Norte. Cerca de 10 mil anos atrás, devido à mudança climática, todas as espécies, menos uma, se extinguiram. Com a redução drástica em seus números, os parentes próximos foram forçados a se reproduzir, ea chita tornou-se geneticamente endogâmico, o que significa que todos os chitas estão muito intimamente relacionados. Embora a natureza proíba a endogamia, quase todos os algoritmos genéticos simulados por computador ignoram esse problema. Evo 2 previne a endogamia através do efeito Westermarck e outros efeitos simulados. Switches epigenéticos A teoria epigenética descreve como as mudanças na expressão gênica podem ser causadas por mecanismos diferentes das mudanças na seqüência de dna subjacente, temporariamente ou através de várias gerações, influenciando uma rede de interruptores químicos dentro de células conhecidas coletivamente como o epigenoma. O Evo 2 pode simular switches epigenéticos para permitir que o sistema seja temporariamente penalizado por ações como ser muito ganancioso ou avessos ao risco. Recozimento Simulado O recozimento simulado é um metaheurístico probabilístico para o problema de otimização global de localizar uma boa aproximação ao ótimo global de uma determinada função em um grande espaço de busca. É freqüentemente usado quando o espaço de pesquisa é discreto. Para certos problemas, o recozimento simulado pode ser mais eficiente do que a enumeração exaustiva. Family Tree Evo 2 pode salvar informações genealógicas para cada genoma para que os usuários podem rever a progressão do algoritmo genético para ver como certos genes evoluíram ao longo do tempo. Karyogram Viewer Evo 2 apresenta um karyogram embutido, que permite a visualização de genomas enquanto algoritmos genéticos estão evoluindo. O cariograma pode ser personalizado para exibir informações de genealogia para genomas específicos através de um menu de contexto. Aplicações Evo 2 O Evo 2 pode ser usado no lado cliente ou servidor para programação genética (criação autônoma de sistemas de negociação), otimização de sistemas de negociação, otimização de portfólio, alocação de ativos e aplicações não relacionadas a finanças, incluindo mas não se limitando a criatividade artificial, Design, bioinformática, cinética química, quebra de código, engenharia de controle, modelos Feynman-Kac, filtragem e processamento de sinal, aplicações de agendamento, engenharia mecânica, otimização estocástica e problemas de horário. Exemplos de programação genética Exemplos de programação TradeScript mostram aos desenvolvedores como criar modelos de programação genética capazes de testar e otimizar estratégias. A documentação de programação pode ser baixada aqui. Utilizando Algoritmos Genéticos Para Prever Mercados Financeiros Burton sugeriu em seu livro A Random Walk Down Wall Street (1973) que um macaco vendado nos dardos em páginas financeiras de jornais poderia selecionar um portfólio que faria apenas Bem como um cuidadosamente selecionado por especialistas. Enquanto a evolução pode ter feito o homem não mais inteligente na colheita de estoques, Charles Darwins teoria tem muito eficaz quando aplicado mais diretamente. Algoritmos genéticos (GAs) são métodos de resolução de problemas (ou heurísticas) que imitam o processo de evolução natural. Ao contrário das redes neurais artificiais (RNAs), projetadas para funcionarem como neurônios no cérebro, esses algoritmos utilizam os conceitos de seleção natural para determinar a melhor solução para um problema. Como resultado, os GAs são comumente usados ​​como otimizadores que ajustam parâmetros para minimizar ou maximizar alguma medida de realimentação, que pode então ser usada independentemente ou na construção de uma ANN. Nos mercados financeiros. Algoritmos genéticos são mais comumente usados ​​para encontrar os melhores valores de combinação de parâmetros em uma regra de negociação, e eles podem ser construídos em modelos ANN projetado para escolher ações e identificar negócios. Vários estudos têm demonstrado que esses métodos podem ser eficazes, incluindo Genetics Algorithms: Genesis of Stock Evaluation (2004) por Rama, e The Applications of Genetic Algorithms in Market Data Mining Optimization (2004) por Lin, Cao, Wang, Zhang. Como os Algoritmos Genéticos Funcionam Os algoritmos genéticos são criados matematicamente usando vetores, que são quantidades que têm direção e magnitude. Os parâmetros para cada regra comercial são representados com um vetor unidimensional que pode ser considerado como um cromossomo em termos genéticos. Entretanto, os valores utilizados em cada parâmetro podem ser pensados ​​como genes, que são então modificados usando a seleção natural. Por exemplo, uma regra de negociação pode envolver o uso de parâmetros como Moving Average Convergence-Divergence (MACD). Exponential Moving Average (EMA) e Estocástica. Um algoritmo genético poderia então introduzir valores nestes parâmetros com o objetivo de maximizar o lucro líquido. Ao longo do tempo, pequenas mudanças são introduzidas e aqueles que fazem um desejável impacto são mantidos para a próxima geração. Existem três tipos de operações genéticas que podem então ser realizadas: Crossovers representam a reprodução e crossover biológico visto na biologia, pelo qual uma criança assume certas características de seus pais. As mutações representam a mutação biológica e são utilizadas para manter a diversidade genética de uma geração de uma população para outra, introduzindo pequenas alterações aleatórias. As selecções são a fase em que os genomas individuais são escolhidos de uma população para reprodução posterior (recombinação ou crossover). Estes três operadores são então utilizados em um processo de cinco passos: Inicializar uma população aleatória, onde cada cromossomo é n-comprimento, sendo n o número de parâmetros. Isto é, um número aleatório de parâmetros é estabelecido com n elementos cada. Selecione os cromossomos, ou parâmetros, que aumentam os resultados desejáveis ​​(presumivelmente lucro líquido). Aplique operadores de mutação ou crossover aos pais selecionados e gere uma prole. Recombinar a prole ea população atual para formar uma nova população com o operador de seleção. Repita os passos dois a quatro. Ao longo do tempo, este processo resultará em cromossomas cada vez mais favoráveis ​​(ou, parâmetros) para uso em uma regra comercial. O processo é então terminado quando um critério de paragem é atingido, o que pode incluir tempo de execução, aptidão, número de gerações ou outros critérios. (Para mais informações sobre o MACD, leia Trading The MACD Divergence.) Usando Algoritmos Genéticos em Trading Enquanto algoritmos genéticos são usados ​​principalmente por comerciantes quantitativos institucionais. Os comerciantes individuais podem aproveitar o poder de algoritmos genéticos - sem um grau em matemática avançada - usando vários pacotes de software no mercado. Estas soluções vão desde pacotes de software independentes voltados para os mercados financeiros até complementos do Microsoft Excel que podem facilitar análises mais práticas. Ao usar essas aplicações, os comerciantes podem definir um conjunto de parâmetros que são então otimizados usando um algoritmo genético e um conjunto de dados históricos. Alguns aplicativos podem otimizar quais parâmetros são usados ​​e os valores para eles, enquanto outros são focados principalmente em simplesmente otimizar os valores para um determinado conjunto de parâmetros. (Para saber mais sobre estas estratégias derivadas de programas, consulte O Poder das Operações do Programa.) Dicas e Truques Importantes de Otimização O encaixe da curvatura (excesso de ajuste), projetando um sistema comercial em torno de dados históricos ao invés de identificar o comportamento repetível, algorítmos genéticos. Qualquer sistema de negociação que utilize GAs deve ser testado em frente no papel antes do uso ao vivo. Escolher parâmetros é uma parte importante do processo, e os comerciantes devem procurar parâmetros que se correlacionam com as mudanças no preço de um determinado valor. Por exemplo, experimente diferentes indicadores e veja se alguns parecem se correlacionar com grandes turnos do mercado. Algoritmos genéticos são formas únicas de resolver problemas complexos aproveitando o poder da natureza. Ao aplicar esses métodos para prever os preços dos títulos, os comerciantes podem otimizar as regras de negociação, identificando os melhores valores a serem usados ​​para cada parâmetro para um determinado valor. No entanto, estes algoritmos não são o Santo Graal, e os comerciantes devem ter o cuidado de escolher os parâmetros certos e não ajuste de curva (sobre ajuste). (Para ler mais sobre o mercado, verifique para escutar o mercado, não seus Pundits.)

Comments