Tuesday 18 December 2018

Forex predição algoritmos


Como Funciona O principal objetivo da Forex-Forecasting é fornecer previsões diárias e intra-dia de alta qualidade dos preços de mercado FOREX. Você receberá previsões de moeda em um formato de tabela gráfica, com base em cinco períodos diferentes período (5 e 15 minutos, 1 hora, 1 dia e 1 mês), juntamente com os sinais de buysell apropriados. Forex-Forecasting usa algoritmos de previsão inicialmente desenvolvidos para previsão de estoque e adaptados para o mercado Forex. Você pode acessar nosso serviço de duas maneiras: on-line através do nosso site. Depois de criar uma conta, você receberá acesso ao painel de controle e às ferramentas que temos para oferecer. Usando seu software favorito, como Metastock, Metatrader e outros. Você precisará baixar e instalar o plugin Forex-Forecasting. Em seguida, você pode usar nossas previsões em conjunto com as fórmulas e algoritmos de negociação que você já usa. O conceito: Muitas amostras de tendências de moeda têm uma estrutura de onda (ou não-periódica, oscilante). Isso pode ser representado matematicamente como uma combinação do número de harmônicas com freqüências desconhecidas, mudando e as tendências amplitudes. Assim, a informação sobre estes harmónicos é muito útil tanto para as previsões de séries temporais (predições de preços de mercado) como para o apoio à decisão (aconselhamento de buysell). No entanto, métodos analíticos comuns não podem ser usados ​​para separar os harmônicos de parâmetros variáveis. Desenvolvemos um método de previsão especial para séries temporais econômicas com base em nossa tecnologia inovadora e exclusiva. Central ao nosso método é a decomposição da tendência e os componentes oscilatórios das séries temporais com a ajuda de filtros digitais. Esta técnica adaptativa especial, baseada em redes neurais, é usada para atualizar nossos modelos e detectar dias em que a série de preços altera suas propriedades (nosso know-how). Em contraste com outros métodos, nossa técnica pode identificar tendências e oscilações de longo prazo com a mudança de freqüência, ao mesmo tempo em que fornece resultados muito mais convenientes do que, por exemplo, uma análise de Fourier. Workshop Internacional sobre Sistemas Inteligentes de Aquisição de Dados e Sistemas Computacionais Avançados: Tecnologia e Aplicações 6-8 de Setembro de 2007, Dortmund, Alemanha 58ª Conferência Internacional da Economia Atlântica, Chicago, Illinois, 7-10 de Outubro, 2004Utilizando Algoritmos Genéticos para Prever os Mercados Financeiros Burton sugeriu na sua Livro, A Random Walk Down Wall Street, (1973) que, Um macaco de olhos vendados jogando dardos em uma páginas financeiras jornais poderia selecionar uma carteira que faria tão 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, confira Ouça o mercado, não é seu Pundits.) Algoritmo genético SnowCron em sistemas de negociação FOREX Usando Algoritmo Genético para criar rentável FOREX Trading Estratégia. Algoritmo Genético em Cortex Redes Neurais Software Feedforward Backpropagation Neural Network Aplicação para computações genéticas baseado Forex trading. Este exemplo usa conceitos e idéias do artigo anterior, por isso leia Neural Network Genetic Algorithm em FOREX Trading Systems em primeiro lugar, embora não seja obrigatório. Sobre este texto Em primeiro lugar, leia o aviso de isenção de responsabilidade. Este é um exemplo de usar a funcionalidade de algoritmo genético de Software de Redes Neurais de Cortex, não um exemplo de como fazer negociação rentável. Eu não sou seu guru, nem eu deveria ser responsável por suas perdas. Cortex Neural Networks Software tem redes neurais nele, e FFBP discutimos antes é apenas uma maneira de escolher uma estratégia de negociação forex. É uma boa técnica, poderosa e quando aplicado corretamente, muito promicing. No entanto, ele tem um problema - para ensinar a Rede Neural. Precisamos saber a saída desejada. É bastante fácil de fazer quando fazemos aproximação de função, apenas tomamos o valor real de uma função, porque sabemos o que deve ser. Quando fazemos previsão de redes neurais. Nós usamos a técnica (descrita em artigos anteriores) de ensinar a Rede Neural sobre a história, novamente, se nós prevemos, digamos, uma taxa de câmbio, sabemos (durante o treinamento) qual é a previsão correta. No entanto, quando estamos construindo um sistema de negociação, não temos idéia do que a decisão de negociação correta é, mesmo se nós conhecemos a taxa de câmbio Como a matéria de fato, temos muitas estratégias de negociação forex que podemos usar em qualquer ponto do tempo, e Precisamos encontrar um bom - como O que devemos alimentar como a saída desejada de nossa rede Neural Se você seguiu o nosso artigo anterior, você sabe, que temos traído para lidar com esse problema. Nós ensinamos a Rede Neural para fazer previsão de taxa de câmbio (ou taxa de câmbio baseado) e, em seguida, usou essa previsão para fazer negociação. Então, fora da parte de Rede Neural do programa, nós tomamos uma decisão sobre qual Rede Neural é a melhor. Algoritmos genéticos podem lidar com este problema diretamente, eles podem resolver o problema declarado como encontrar os melhores sinais comerciais. Neste artigo vamos usar o Cortex Neural Networks Software para criar tal programa. Usando Algoritmo Genético Algoritmos Genéticos são muito bem desenvolvidos, e muito diversificada. Se você quiser aprender tudo sobre eles, sugiro que você use a Wikipedia, como este artigo é apenas sobre o que Cortex Neural Networks Software pode fazer. Tendo Cortex Neural Networks Software. Nós podemos criar uma rede neural que toma alguma entrada, digamos, os valores de um indicador, e produz alguma saída, digamos, sinais de negociação (comprar, vender, segurar.) E parar a perda ter níveis de lucro para posições a serem abertas. Claro, se nós semente desta Rede Neural s pesos ao acaso, os resultados comerciais serão terríveis. No entanto, vamos dizer que criamos uma dúzia de tais NNs. Então podemos testar o desempenho de cada um deles, e escolher o melhor, o vencedor. Esta foi a primeira geração de NNs. Para continuar na segunda geração, precisamos permitir que nosso vencedor procreate, mas para evitar a obtenção de cópias idênticas, vamos adicionar algum ruído aleatório para seus pesos descententes. Na segunda geração, temos nosso vencedor de primeira geração e suas cópias imperfeitas (mutadas). Vamos fazer o teste novamente. Teremos outro vencedor, que é melhor do que qualquer outra rede neural na geração. E assim por diante. Simplesmente permitimos que os vencedores se reproduzam e eliminem os perdedores, assim como na evolução da vida real, e obteremos nossa Rede Neural de melhor negociação. Sem qualquer conhecimento prévio sobre o que o sistema de negociação (algoritmo genético) deve ser semelhante. Rede Neural Algoritmo Genético: Exemplo 0 Este é o primeiro exemplo de algoritmo genético. E um muito simples. Vamos caminhar por ela passo a passo, para aprender todos os truques que os exemplos a seguir usarão. O código tem comentários inline, por isso permite apenas concentrar-se em momentos-chave. Primeiro, criamos uma rede neural. Ele está usando pesos aleatórios, e ainda não foi ensinado. Então, no ciclo, fazemos 14 cópias dele, usando MUTATIONNN fumtion. Esta função faz uma cópia de uma Rede Neural de origem. Adicionando valores aleatórios de 0 a (em nosso caso) 0,1 para todos os pesos. Nós mantemos alças para resultar em 15 NNs em uma matriz, podemos fazê-lo, como identificador é apenas um número inteiro. A razão pela qual usamos 15 NNs não tem nada a ver com negociação: Cortex Neural Networks Software pode plotar até 15 linhas em um gráfico simultaneamente. Podemos usar diferentes abordagens para o teste. Primeiro, podemos usar o conjunto de aprendizado, tudo de uma só vez. Em segundo lugar, podemos testar, digamos, 12000 restrições (de 100000), e percorrer o conjunto de aprendizado, do começo ao fim. Isso tornará os aprendizes diferentes, pois iremos procurar redes neurais que sejam lucrativas em qualquer dado dado, não apenas no conjunto. A segunda abordagem pode nos dar problemas, se os dados mudam, do começo ao fim. Em seguida, a rede vai evoluir, obtendo a capacidade de comércio no final do conjunto de dados, e perder a capacidade de comércio no seu início. Para resolver esse problema, vamos pegar aleatórios 12000 registros fragmentos de dados, e alimentá-lo para a Rede Neural. É simplesmente um ciclo infinito, já que 100000 ciclos nunca serão alcançados à nossa velocidade. Abaixo adicionamos uma criança para cada rede, com pesos ligeiramente diferentes. Note que 0,1 para mutação tange não é a única escolha, como a matéria de fato, mesmo este parâmetro pode ser otimizado usando algoritmo genético. Os NNs recém-criados são adicionados após 15 existentes. Desta forma, temos 30 NNs em uma matriz, 15 velhos e 15 novos. Então vamos fazer o próximo ciclo de testes, e matar perdedores, de ambas as gerações. Para fazer o teste, aplicamos a Rede Neural aos nossos dados, para produzir saídas e, em seguida, chamamos a função Teste, que usa essas saídas para simular a negociação. Resultados de negociação são usados ​​para deside, que NNs são melhores. Usamos um intervalo de registros nLearn, de nStart para nStart nLearn, onde nStart é um ponto aleatório dentro do conjunto de aprendizado. O código abaixo é um truque. A razão pela qual o usamos é para ilustrar o fato de que o algoritmo genético pode criar algoritmos genéticos. Mas não necessariamente será o melhor, e também, sugerir, que podemos melhorar o resultado, se implicarmos algumas limitações ao processo de aprendizagem. É possível, que o nosso sistema de comércio funciona muito bem em longos comércios, e muito pobre em curto, ou vice-versa. Se, digamos, longos comércios são MUITO bons, este algoritmo genético pode ganhar, mesmo com grandes perdas em negócios curtos. Para evitá-lo, atribuímos mais peso aos negócios longos em negócios curtos e curtos em ciclos pares. Este é apenas um exemplo, não há garantia, que ele vai melhorar algo. Mais sobre isso abaixo, em discussão sobre correções. Tecnicamente, você não tem que fazê-lo, ou pode torná-lo de forma diferente. Adicione lucro a uma matriz ordenada. Ele retorna uma posição de inserção e, em seguida, usamos essa posição para adicionar identificador de rede neural, aprendendo e testando lucros para matrizes não ordenadas. Agora temos dados para a Rede Neural atual no mesmo índice de array que seu lucro. A idéia é chegar a matriz de NNs, classificados por rentabilidade. Como matriz é classifica por lucro, para remover 12 de redes, que são menos rentáveis, só precisamos remover NNs 0 a 14 As decisões de negociação são baseadas no valor de sinal de rede neural, a partir deste ponto de vista o programa é idêntico a exemplos de Artigo anterior. Estratégia de negociação FOREX: Discutir o exemplo 0 Primeiro de tudo, vamos dar uma olhada em gráficos. O primeiro gráfico de lucro durante a primeira iteração não é bom em tudo, como seria de esperar, a Rede Neural perde dinheiro (imagem evolution00gen0.png copiada após a primeira iteração da pasta de imagens): A imagem para lucro no ciclo 15 é melhor, às vezes , Algoritmo genético pode aprender muito rápido: No entanto, observe a saturação em uma curva de lucro. É interessante também observar a forma como os lucros individuais mudam, tendo em mente que o número da curva, digamos, 3 nem sempre é para a mesma Rede Neural. Como eles estão a nascer e terminou o tempo todo: Note também que o pequeno sistema de comércio automatizado forex é pobre em negócios curtos e muito melhor em longas, o que pode ou não estar relacionado com o fato de que o dólar estava caindo em comparação com Euros durante esse período. Também pode ter algo a ver com parâmetros do nosso indicador (talvez, precisamos período diferente para shorts) ou a escolha de indicadores. Aqui está a história após 92 e 248 ciclos: Para nossa surpresa, o algoritmo genético falhou completamente. Vamos tentar descobrir por que, e como ajudar a situação. Primeiro de tudo, não é cada geração suposto ser melhor do que o previuos A resposta é não, pelo menos não dentro do modelo que usamos. Se tomarmos ENTIRE aprendizado conjunto de uma vez, e usado repetidamente para ensinar NNs, então sim, eles vão melhorar em cada geração. Mas em vez disso, pegamos fragmentos aleatórios (12000 registros no tempo), e os usamos. Duas perguntas: por que o sistema falhou em fragmentos aleatórios do conjunto de aprendizagem, e por que havent usamos todo o conjunto de aprendizagem bem. Para responder à segunda pergunta, eu fiz. NNs realizado muito - no conjunto de aprendizagem. E falharam no teste ajustado, pela mesma razão falha quando nós usamos o aprendizado de FFPB. Dito de outra forma, nossos NNs ficaram sobre-especializados, aprenderam a sobreviver no ambiente que estão acostumados, mas não fora dela. Isso acontece muito na natureza. A abordagem que nós tomamos em vez disso destinava-se a compensar isso, forçando NNs para executar bom em qualquer fragmento aleatório do conjunto de dados, de modo que, esperamos, eles também poderiam executar em um conjunto de testes desconhecidos. Em vez disso, eles falharam nos testes e no conjunto de aprendizado. Imagine animais vivendo em um deserto. Muito sol, sem neve. Este é um metafor para rizing mercado, como para NNs nossos dados desempenham o papel do ambiente. Os animais aprenderam a viver num deserto. Imagine animais, que vivem em um clima frio. Neve e sem sol. Bem, eles se ajustaram. No entanto, em nosso experimento, colocamos aleatoriamente nossas NNs em um deserto, na neve, na água, nas árvores. Apresentando-os com diferentes fragmentos de dados (aleatoriamente aumentando, caindo, flat.). Animais morreram. Ou, para colocá-lo de forma diferente, nós selecionamos a melhor Rede Neural para o conjunto de dados aleatórios 1, que, digamos, foi para o mercado em alta. Em seguida, apresentamos, para os vencedores e seus filhos, uma queda nos dados dos mercados. NNs executado mal, que levou melhor de artistas pobres, talvez, uma das crianças mutantes, que perdeu a capacidade de comércio no mercado em ascensão, mas tem alguma capacidade de lidar com a queda de um. Então nós giramos a tabela outra vez, e outra vez, nós começamos o mais melhor performer - mas melhor entre executores pobres. Nós simplesmente não damos NNs nossas chances de se tornar universal. Existem técnicas que permitem que o algoritmo genético aprenda novas informações sem perder o desempenho em informações antigas (afinal, os animais podem viver no verão e no inverno, assim a evolução é capaz de lidar com mudanças repetidas). Podemos discutir essas técnicas mais tarde, embora este artigo é mais sobre o uso de Cortex Neural Networks Software. Do que sobre a construção de um sistema de comércio automatizado forex bem sucedido. Algoritmo Genético de Rede Neural: Exemplo 1 Agora é hora de falar sobre correções. Um algoritmo genético simples que criamos durante a etapa anterior tem duas falhas importantes. Primeiro, ele não negociou com lucro. É ok, podemos tentar usar o sistema parcialmente treinado (foi rentável no início). A segunda falha é mais séria: não temos controle sobre as coisas, que esse sistema faz. Por exemplo, ele pode aprender a ser rentável, mas com grandes abaixamentos. É um fato bem conhecido, que na vida real, a evolução pode otimizar mais de um parâmetro simultaneamente. Por exemplo, podemos obter um animal, que pode correr rápido E ser resistente ao frio. Por que não tentar fazer o mesmo no nosso sistema de negociação automatizado forex. Isso é quando usamos as correções, que não são nada, mas o conjunto de punições adicionais. Digamos, nosso sistema negocia com drawdown 0.5, enquanto nós queremos confirmá-lo para 0 - 0.3 intervalo. Para dizer ao sistema que cometeu um erro, diminuímos seu lucro (um usado para determinar qual algoritmo genético venceu) ao grau, que é proporcional ao tamanho de DD. Então, o algoritmo de evolução cuida do resto. Há poucos fatores mais, que queremos levar em consideração: podemos querer ter mais ou menos igual número de operações de compra e venda, queremos ter mais de operações lucrativas, depois de falhas, podemos querer que o gráfico de lucro Ser linear e assim por diante. Em evolution01.tsc implementamos um conjunto simples de correções. Em primeiro lugar, usamos um grande número para um valor de correção inicial. Multiplicamo-lo a um pequeno (geralmente, entre 0 e 1) valores, dependendo da punição que queremos aplicar. Então nós multiplicamos nosso lucro a esta correção. Como resultado, o lucro é corrigido, para refletir o quanto o algoritmo genético corresponde aos nossos outros critérios. Então usamos o resultado para encontrar uma Rede Neural vencedora. Estratégia de negociação FOREX: Discutir o exemplo 1 O exemplo 1 funciona muito melhor do que o exemplo 0. Durante os primeiros 100 ciclos, aprendeu muito e os gráficos de lucro parecem tranquilizadores. No entanto, como no exemplo 0, os negócios longos são muito mais rentáveis, o que provavelmente significa que há um problema em nossa abordagem. No entanto, o sistema encontrou um equilíbrio entre algumas condições iniciais contraditórias: Há alguma dinâmica positiva tanto no conjunto de aprendizagem e, mais importante, no conjunto de testes. Quanto ao aprendizado, no ciclo 278 podemos ver que o nosso sistema se sobreenturou. Isso significa que ainda temos progresso no conjunto de aprendizado: Mas o conjunto de testes mostra fraqueza: este é um problema comum com NNs: quando ensinamos no aprendizado, ele aprende a lidar com ele, e às vezes, ele aprende muito bem - para o Grau, quando ele perde desempenho no conjunto de testes. Para lidar com esse problema, uma solução tradicional é usada: nós continuamos procurando a Rede Neural. Que executa melhor no conjunto de testes e salvá-lo, sobrescrevendo o anterior melhor, cada vez que o novo pico é atingido. Esta é a mesma abordagem, nós usamos no treinamento FFBP, exceto, desta vez temos que fazê-lo nós mesmos (adicionando código, que procura uma melhor rede neural em um conjunto de testes, e chamando SAVENN, ou exportando pesos de rede neural para um Arquivo). Desta forma, quando você parar o seu treinamento, você terá o melhor desempenho ON TESTING SET salvo e esperando por você. Note também, que não é o max. Lucro que você está procurando, mas o desempenho ideal, então considere usar correções, ao procurar um melhor desempenho em um conjunto de testes. Algoritmo Genético para FOREX Análise Técnica: Onde agora Depois que você tem o vencedor Rede Neural. Você pode seguir os passos, descritos no artigo anterior, para exportar pesos dessa Rede Neural. E depois usá-los em sua plataforma de negociação em tempo real, como Meta Trader, Trade Station e assim por diante. Alternativamente, você pode se concentrar em outras formas de otimização da Rede Neural. Ao contrário do algoritmo FFBP, aqui você pode obter avay de usar conjuntos de aprendizagem e teste, e mover a aprendizagem sequencial. Download Cortex Order Cortex Ver lista de preços A visibilidade é muito importante para este site. Se você gosta, por favor, ligue a este URL

No comments:

Post a Comment