Skip to main content

Sistema de comércio neural


Redes neurais para negociação algorítmica. Previsão de séries temporais corretas + backtesting.


Olá a todos! Há algum tempo eu publiquei um pequeno tutorial sobre a previsão de séries temporárias financeiras que era interessante, mas em alguns momentos errado. Passei algum tempo trabalhando com diferentes séries temporais de natureza diferente (aplicando NNs principalmente) na HPA, que se concentra particularmente na análise financeira e, nesta publicação, quero descrever uma maneira mais correta de trabalhar com dados financeiros. Comparando com a publicação anterior, eu quero mostrar uma maneira diferente de normalizar os dados e discutir mais questões de superposição (o que definitivamente aparece ao trabalhar com dados que têm natureza estocástica). Não vamos comparar diferentes arquiteturas (CNN, LSTM), você pode verificá-las na publicação anterior. Mas, mesmo trabalhando apenas com redes simples de feed-forward, veremos coisas importantes. Se você quiser saltar diretamente para o código - confira o IPython Notebook. Para leitores russos, é uma tradução da minha postagem aqui e você pode verificar o webinar em backtesting aqui.


Preparação de dados.


Vamos tirar séries históricas dos preços das ações da Apple a partir de 2005 até hoje. Você pode facilmente baixá-los do Yahoo Finance como arquivo. csv. Neste arquivo, os dados estão em ordem "invertida" - de 2017 até 2005, então precisamos reverter primeiro e dar uma olhada:


Como discutimos na publicação anterior, podemos tratar o problema da previsão de séries temporais financeiras de duas maneiras diferentes (vamos omitir a previsão de volatilidade, detecção de anomalias e outras coisas interessantes por enquanto):


Consideraremos o nosso problema como 1) problema de regressão (tentando prever exatamente fechar o preço ou retornar no dia seguinte) 2) problema de classificação binária (o preço aumentará [1; 0] ou abaixo [0; 1]). Primeiro vamos preparar nossos dados para treinamento. Queremos prever o valor de t + 1 com base em informações de N dias anteriores. Por exemplo, tendo preços próximos dos últimos 30 dias no mercado, queremos prever, que preço será amanhã, no 31º dia. Utilizamos as primeiras 90% das séries temporais como conjunto de treinamento (considere-a como dados históricos) e 10% como conjunto de testes para avaliação do modelo.


O principal problema das séries temporais financeiras - não são estacionárias, o que significa que suas propriedades estatísticas (média, variância, valores máximos e mínimos) mudam ao longo do tempo e podemos verificá-la com o teste Dickey-Fuller aumentado. E por isso, não podemos usar métodos clássicos de normalização de dados, como a normalização Min-Max ou Z-score.


No nosso caso, vamos enganar um pouco pelo problema de classificação. Nós não precisamos prever algum valor exato, então o valor esperado e a variação do futuro não são muito interessantes para nós - precisamos apenas prever o movimento para cima ou para baixo. É por isso que arriscaremos e normalizaremos nossas janelas de 30 dias somente por meio de sua média e variância (normalização de z-score), supondo que apenas durante a janela de tempo único não mudem muito e não toquem informações do futuro:


Para o problema de regressão, já não podemos enganar assim, então usaremos retornos (porcentagem de quanto o preço mudou comparando com ontem) com pandas e parece:


Como podemos ver, esses dados já estão normalizados e mesclam de -0,5 a 0,5.


Arquitetura da rede neural.


Como eu disse antes, trabalharemos apenas com MLPs neste artigo para mostrar como é fácil superar redes neurais sobre dados financeiros (e, na verdade, o que aconteceu na publicação anterior) e como preveni-lo. Expandir essas idéias sobre CNNs ou RNNs será relativamente fácil, mas é muito mais importante entender o conceito. Como antes, usamos a Keras como estrutura principal para a prototipagem de redes neurais.


Nossa primeira rede ficará assim:


Posso sugerir sempre usar a normalização do lote após cada camada afim ou convolucional e LeKy ReLU como função de ativação básica, só porque já se tornou "padrão industrial" - eles ajudam a treinar redes muito mais rápido. Outra coisa legal é reduzir a taxa de aprendizado durante o treinamento, Keras faz isso com ReduceLROnPlateau:


É assim que iniciamos o treinamento:


E é assim que vamos visualizar os resultados (vamos julgar os gráficos de perda e precisão)


Momento importante: na última publicação, treinamos nossas redes apenas por 10 épocas - é completamente errado. Mesmo podemos ver 55% de precisão, não significa realmente que possamos prever o futuro melhor do que o aleatório. Muito provavelmente, em nosso conjunto de dados, temos apenas 55% do tempo com um comportamento (up) e 45% com outro (baixo). E nossa rede só aprende essa distribuição de dados de treinamento. Então, é melhor aprendê-los por 20-50-100 épocas e se é demais para usar a parada antecipada.


Classificação.


Os resultados não são bons, nossa perda de teste não muda, podemos ver uma superação clara, vamos fazer uma rede mais profunda e experimentá-la:


Aqui estão os resultados:


Aqui vemos mais ou menos o mesmo, pior ainda ... É hora de adicionar alguma regularização ao modelo, começando pela adição da norma L2 na soma dos pesos:


Funciona melhor, mas ainda não é bom o suficiente (mesmo a perda está diminuindo, mas a precisão é ruim). Está acontecendo com muita frequência ao trabalhar com dados financeiros - é explicado muito bem aqui.


A próxima coisa que eu quero fazer parece muito estranha, mas vamos regularizar a rede já regularizada, aumentando o abandono do hardcore com taxa de 0,5 (é ignorar aleatoriamente alguns pesos, enquanto a pós-propagação para evitar coadaptação de neurônios e, portanto, superar)


Como podemos ver, as parcelas parecem mais ou menos adequadas e podemos relatar cerca de 58% da precisão, o que é um pouco melhor do que a adivinhação aleatória.


Experimente apenas por diversão para aprender a rede para prever o movimento não no dia seguinte, mas em cinco dias (o preço é maior ou menor em 5 dias em relação a hoje). Isso funciona melhor? Se funcionar melhor - por quê?


Regressão.


Para regressão, usaremos dados de retorno, arquitetura de rede neural anterior bem-sucedida (mas sem desistências) e verifique como a regressão funciona:


E aqui está o código para traçar previsões visualmente:


Funciona simplesmente ruim, mesmo não vale a pena comentá-lo. Vou contar algumas dicas que podem ajudar com um problema de regressão na parte conclusiva.


Backtesting.


Vamos lembrar por que estamos mexendo com todas essas séries temporais em geral? Queremos construir um sistema de negociação, o que significa que ele tem que fazer alguns negócios - comprar, vender ações e, espero, crescer seu portfólio.


Há muitas boas soluções para testar suas estratégias (como a Quantopian), mas eu decidi aprender como elas foram construídas de dentro e comprei o seguinte livro com detalhes de implementação (não uma colocação de produto ahahah):


A estratégia que testei é extremamente simples: se a nossa rede diz que o preço aumentará, nós compramos o estoque e o venderemos somente depois que a rede diz que o preço irá cair e aguardará o próximo sinal de compra. A lógica parece:


Aqui estão os resultados da rede de classificação de treinamento em dados de 2018 a 2018 e testes de 2018 a maio de 2017:


Blue plot mostra crescimento de valor de carteira (wow, 3% em 1,5 anos), black shows "atividade" e red one - drawdowns (períodos de perda de dinheiro).


Discussão.


No primeiro vislumbre, os resultados são ruins. Regressão horrível e classificação não realmente surpreendente (58% de precisão) estão nos pedindo para deixar essa ideia. E depois de ver essa "incrível" renda de 3% (seria mais fácil comprar ações da Apple e manter, eles cresceram em 20% nesse momento) você talvez queira fechar o laptop e fazer algo que não envolva financiamento ou aprendizado de máquina . Mas há muitas maneiras de melhorar nossos resultados (e o que as pessoas fazem em fundos):


Use dados de alta freqüência (horários e minutos) - os algoritmos de aprendizado de máquina precisam de mais dados e prevêem melhor em curta distância. O otimização do hiperparâmetro inteligente, incluindo não apenas otimização da rede neural e os parâmetros de treinamento, mas também as janelas de tempo históricas que você treina Use melhor arquiteturas de redes neurais, como CNNs ou RNNs. Use não só o preço de fechamento ou os retornos, mas todas as tuplas OHLCV para todos os dias; se for possível - colete informações sobre os compamies mais correlacionados, o status financeiro do setor, variáveis ​​econômicas, etc. É impossível construir um bom modelo de previsão confiando nos dados simples que usamos Use funções de perda mais sofisticadas, talvez assimétricas. Por exemplo, a MSE que usamos para a regressão é invariante para o sinal, o que é crucial para a nossa tarefa.


Conclusão.


A previsão de dados financeiros é extremamente complicada. É fácil superar, não sabemos o alcance histórico correto para treinar e é difícil obter todos os dados necessários. Mas, como podemos ver, funciona, e até mesmo pode dar alguns lucros. Este artigo pode ser um bom ponto de partida e pipeline para pesquisa e descoberta adicionais.


Nas próximas postagens, planejo mostrar o processo automatizado de busca de hiperparâmetros, adicionar mais dados (indicadores OHLCV e financeiros completos), aplicar o reforço aprendendo a aprender a estratégia e verificar se o agente de reforço confiará nas nossas previsões. Fique ligado!


Ao bater palmas mais ou menos, você pode nos indicar quais são as histórias que realmente se destacam.


Alex Honchar.


máquinas de ensino e raphamento.


Mundo de aprendizagem de máquinas.


O melhor sobre Aprendizado de Máquinas, Visão de Computador, Aprendizagem Profunda, Processamento de linguagem natural e outros.


Redes neurais para negociação algorítmica. Previsão de séries temporais simples.


ACTUALIZAÇÃO IMPORTANTE:


Esta é a primeira parte dos meus experimentos em aplicação de aprendizado profundo para financiar, em particular para negociação algorítmica.


Eu quero implementar o sistema de negociação a partir do zero com base apenas em abordagens de aprendizado profundo, então, para qualquer problema que temos aqui (previsão de preços, estratégia de negociação, gerenciamento de riscos), usaremos diferentes variações de redes neuronais artificiais (RNAs) e veremos o quanto elas podem lide com isso.


Agora eu planejo trabalhar nas próximas seções:


Previsão de séries temporais com dados brutos Previsão de séries temporais com recursos personalizados Otimização de hiperparâmetros Implementação de estratégia de negociação, backtesting e gerenciamento de riscos Estratégias de negociação mais sofisticadas, reforço de aprendizagem Indo ao vivo, corretores API, ganhando (l̶o̶s̶i̶n̶g̶) dinheiro.


Eu recomendo que você verifique o código e o IPython Notebook neste repositório.


Nesta primeira parte, quero mostrar como MLPs, CNNs e RNNs podem ser usados ​​para a previsão de séries temporais financeiras. Nesta parte, não vamos usar nenhuma engenharia de recursos. Vamos considerar o conjunto de dados históricos dos movimentos dos preços do índice S & P 500. Temos informações de 1950 a 2018 sobre preços abertos, fechados, altos e baixos para todos os dias do ano e volume de negócios. Primeiro, tentaremos apenas prever fechar o preço no final do próximo dia, em segundo lugar, tentaremos prever o retorno (preço fechado - preço aberto). Baixe o conjunto de dados do Yahoo Finance ou deste repositório.


Definição do problema.


Consideraremos o nosso problema como 1) problema de regressão (tentando prever exatamente fechar o preço ou retornar no dia seguinte) 2) problema de classificação binária (o preço aumentará [1; 0] ou abaixo [0; 1]).


Para treinar NNs, usaremos framework Keras.


Primeiro vamos preparar nossos dados para treinamento. Queremos prever o valor de t + 1 com base em informações de N dias anteriores. Por exemplo, tendo preços próximos dos últimos 30 dias no mercado, queremos prever, que preço será amanhã, no 31º dia.


Utilizamos as primeiras 90% das séries temporais como conjunto de treinamento (considere-a como dados históricos) e 10% como conjunto de testes para avaliação do modelo.


Aqui é exemplo de carregamento, dividindo em amostras de treinamento e pré-processamento de dados de entrada brutos:


Problema de regressão. MLP.


Será apenas um perceptron de 2 camadas escondidas. O número de neurônios escondidos é escolhido de forma empírica, vamos trabalhar na otimização de hiperparâmetros nas próximas seções. Entre duas camadas ocultas, adicionamos uma camada de Saída para evitar a sobreposição.


O importante é Dense (1), Activation ('linear') e 'mse' na seção de compilação. Queremos um produto que possa estar em qualquer intervalo (prevemos valor real) e nossa função de perda é definida como erro quadrático médio.


Vamos ver o que acontece se apenas passarmos pedaços de preços próximos de 20 dias e prever o preço no 21º dia. Final MSE = 46.3635263557, mas não é uma informação muito representativa. Abaixo está um gráfico de previsões para os primeiros 150 pontos do conjunto de dados de teste. A linha preta é dados reais, um azul - previsto. Podemos ver claramente que nosso algoritmo não é nem mesmo de perto, mas pode aprender a tendência.


Vamos dimensionar nossos dados usando o método de sklearn pré-processamento. Escala () para ter nossa série zero de tempo e variância unitária e treinar o mesmo MLP. Agora temos MSE = 0.0040424330518 (mas está em dados dimensionados). No gráfico abaixo, você pode ver as séries temporais reais escaladas (preto) e a nossa previsão (azul) para ela:


Para usar este modelo no mundo real, devemos retornar às séries temporais não escaladas. Podemos fazê-lo, multiplicando ou preditivo por desvio padrão de séries temporais que usamos para fazer predição (20 etapas de tempo não escalonadas) e adicione seu valor médio:


MSE neste caso é igual a 937.963649937. Aqui está o enredo de previsões restauradas (vermelho) e dados reais (verde):


Não está mal, não é? Mas vamos tentar algoritmos mais sofisticados para esse problema!


Problema de regressão. CNN.


Eu não vou mergulhar na teoria das redes neurais convolutivas, você pode verificar esses recursos incríveis:


Vamos definir a rede neural convolucional de 2 camadas (combinação de camadas de convolução e max-pooling) com uma camada totalmente conectada e a mesma saída que anteriormente:


Vamos verificar resultados. MSEs para dados escalados e restaurados são: 0.227074542433; 935.520550172. As parcelas estão abaixo:


Mesmo olhando para MSE em dados escalados, esta rede aprendeu muito pior. Provavelmente, uma arquitetura mais profunda precisa de mais dados para o treinamento, ou simplesmente é superada devido ao número muito alto de filtros ou camadas. Vamos considerar esta questão mais tarde.


Problema de regressão. RNN.


Como arquitetura recorrente, eu quero usar duas camadas LSTM empilhadas (leia mais sobre LSTM aqui).


As parcelas das previsões estão abaixo, MSEs = 0.0246238639582; 939.948636707.


A previsão da RNN se parece mais com o modelo médio móvel, não pode aprender e prever todas as flutuações.


Então, é um resultado pouco esperável, mas podemos ver que os MLPs funcionam melhor para esta previsão de séries temporais. Vamos verificar o que acontecerá se nós passarmos de regressão para problema de classificação. Agora, usaremos os preços não fechados, mas o retorno diário (fechar preço-preço aberto) e queremos prever se o preço fechado é maior ou menor do que o preço aberto com base nos últimos 20 dias de devolução.


Problema de classificação. MLP.


O código é alterado um pouco - alteramos nossa última camada Densa para ter saída [0; 1] ou [1; 0] e adicione a saída softmax para esperar resultados probabilísticos.


Para carregar saídas binárias, mude a linha seguinte do código:


Também mudamos a função de perda para cross-entopy binário e adicionamos métricas de precisão.


Oh, não é melhor do que adivinhar aleatoriamente (50% de precisão), vamos tentar algo melhor. Confira os resultados abaixo.


Problema de classificação. CNN.


Problema de classificação. RNN.


Conclusões.


Podemos ver que o tratamento da previsão de séries temporárias financeiras como problema de regressão é uma abordagem melhor, pode aprender a tendência e os preços próximos do real.


O que foi surpreendente para mim, que MLPs estão tratando dados de seqüência melhor como CNNs ou RNNs que deveriam funcionar melhor com séries temporais. Explico isso com conjunto de dados bastante pequeno (


Selos de tempo de 16k) e escolha de hiperparâmetros fofos.


Você pode reproduzir resultados e melhorar usando o código do repositório.


Eu acho que podemos obter melhores resultados em regressão e classificação usando diferentes recursos (não apenas séries temporais escalonadas) como alguns indicadores técnicos, volume de vendas. Também podemos tentar dados mais freqüentes, digamos carrapatos minuto a minuto para ter mais dados de treinamento. Todas essas coisas que eu vou fazer depois, então fique atento :)


Ao bater palmas mais ou menos, você pode nos indicar quais são as histórias que realmente se destacam.


Alex Honchar.


máquinas de ensino e raphamento.


Mundo de aprendizagem de máquinas.


O melhor sobre Aprendizado de Máquinas, Visão de Computador, Aprendizagem Profunda, Processamento de linguagem natural e outros.


COMO BENEFÍCIOS DOS SISTEMAS DE NEUROS ARTIFICIAIS.


Por Lou Mendelsohn.


Durante mais de uma década, os futuros sofisticados e os comerciantes de ações usaram software de negociação técnica para ajudar a tomar decisões comerciais. No entanto, até agora, a busca pelo & # 8220; Santo Graal & # 8221; tem sido indescritível. Os pacotes de gráficos deixam os comerciantes com a tarefa de fazer "julgamentos subjetivos" e # 8221; para chegar a uma decisão comercial.


& # 8220; Caixa preta & # 8221; sistemas de negociação, promovendo registros impressionantes e historicamente testados, fornecem sinais de compra e venda com base em regras de negociação não divulgadas, que impedem a verificação dos resultados ou a personalização dos parâmetros do sistema.


Os sistemas de negociação totalmente baseados em regras, que incluem uma capacidade de teste histórica, dependem do & # 8220; otimizado & # 8221; testando para encontrar modelos de negociação preditivos. Esta abordagem tornou-se amplamente utilizada nos sistemas comerciais de fim de dia e em tempo real, evidenciados ao longo dos últimos anos pela proliferação de tais programas de software, incluindo aqueles que dão aos comerciantes a capacidade de escrever e testar suas próprias regras.


No entanto, ao pressupor que o refluxo e o fluxo de um mercado específico podem ser representados adequadamente por regras de negociação predefinidas com base na análise do mercado único, todo esse gênero de software tem graves limitações inerentes. Muitas vezes, as regras de negociação, baseadas exclusivamente na pesquisa de um especialista sobre a dinâmica do mercado, não conseguem discernir o mercado e as forças fundamentais dos mercados globais de hoje. Além disso, os sistemas de negociação baseados em regras, por sua própria natureza, não têm flexibilidade para se adaptar rapidamente às novas condições de mercado que não se encontraram anteriormente.


Agora, & # 8220; sexta geração & # 8221; tecnologia comercial, utilizando sistemas neuronais artificiais e # 8221; & # 8211; uma forma avançada de inteligência artificial e # 8211; está prestes a desafiar os métodos e técnicas analíticas prevalecentes. Através do desenvolvimento de sistemas de negociação neural, que são adaptáveis ​​às condições de mercado em mudança sem o uso de regras de negociação preconcebidas, esta tecnologia de ponta está preparada para redefinir a análise técnica como a conhecemos hoje.


Enquanto os procedimentos de teste no risco de software de hoje sucumbem à armadilha de & # 8220; curve-fitting & # 8221; ou a "superoptimização", os sistemas neurais, ao contrário, conseguem uma maior previsão do processamento extensivo de dados técnicos e fundamentais do intermarket. Isso é feito filtrando o & # 8220; noise & # 8221; para descobrir os padrões ou tendências subjacentes que existem dentro de um mercado e entre mercados relacionados.


O que, exatamente, são sistemas neuronais artificiais? Como eles são treinados & # 8221; para reconhecer esses padrões ocultos nos mercados acelerados de hoje? Finalmente, onde é esse avanço no desenvolvimento do sistema de negociação e na análise de mercado susceptível de liderar? Estas são apenas algumas das questões que devem ser respondidas à medida que os comerciantes começam a experimentar e empregam esta nova tecnologia de negociação.


Os sistemas neurais artificiais são conhecidos por muitos nomes, incluindo redes neurais, sistemas adaptativos, redes neurais, neurocomputadores e sistemas naturalmente inteligentes. São modelos de processamento de informações inspirados em como o cérebro humano processa a informação. Com base em modelos arquitetônicos simulados da estrutura e função do cérebro, os sistemas neurais, como o cérebro humano, não estão limitados por regras predefinidas. Como eles realmente podem aprender e generalizar a partir da experiência passada, os sistemas de negociação neural representam uma nova forma de "inteligência baseada em computador" # 8221 ;.


Os sistemas neurais compreendem camadas de células interligadas ou "neurônios" # 8221 ;. Enquanto os neurônios dentro de uma camada não se comunicam entre si, os neurônios dentro das camadas adjacentes fazem, com pesos matemáticos ou forças de conexão atribuídas às suas conexões.


O design adequado do sistema neural é crítico para o sistema se formar com sucesso. Desenvolver um sistema neural rentável é tanto uma arte como uma ciência, que se beneficia da experiência em desenvolvimento de software e negociação. Um projeto de sistema neural, & # 8220; feedforward & # 8211; propagação traseira & # 8211; com aprendizagem supervisionada & # 8221; já está sendo usado com sucesso na previsão financeira.


Para treinar um sistema neural, você deve primeiro fornecer informações fundamentais e dados técnicos, incluindo preços diários, volume e interesse aberto, relacionados ao resultado do mercado que você deseja prever.


Essas entradas são primeiro pré-processadas ou & # 8220; massaged & # 8221; usando várias técnicas estatísticas e analíticas. Eles são emparelhados com valores conhecidos que você deseja que o sistema preveja (a saída desejada). Cada par de dados de entrada / saída é chamado de fato.


O treinamento envolve um processo iterativo pelo qual o sistema neural aprende os padrões subjacentes dentro dos dados comparando suas previsões com os valores conhecidos para calcular sinais de erro. Esses sinais, em seguida, se propagam para trás através das camadas, modificando os pesos de conexão entre os neurônios para reduzir esses erros durante iterações subseqüentes. Quando o nível geral de erro do sistema é minimizado, ele é totalmente treinado.


Neste ponto, você pode avaliar a precisão preditiva do sistema em novos dados de entrada em condições de tempo real. Isso é análogo a hoje # 8217; s & # 8220; simulação cega & # 8221; teste. Dependendo dos resultados, você pode querer experimentar a alteração do número de camadas ocultas, neurônios, entradas de dados, saídas ou técnicas de massagem. Você não pode treinar um sistema neural para prever resultados para diferentes mercados. Em vez disso, você deve formar um sistema exclusivo para cada mercado. Quando você está pronto para usar um sistema neural treinado para prever preços e sinais em tempo real, você simplesmente fornecerá os dados de entrada necessários todos os dias.


Onde é este avanço fascinante no desenvolvimento do sistema de comércio e análise de mercado susceptível de liderar durante a próxima década? Já existem vários simuladores de treinamento neural disponíveis. No entanto, uma vez que o campo está em sua infância, esses programas não foram escritos especificamente para uso pelos comerciantes. Portanto, por enquanto, há uma curva de aprendizado bastante íngreme para futuros e comerciantes de ações que desejam se familiarizar com essa nova tecnologia.


Os sistemas de negociação neural, orientados a menus e personalizados, incluindo aqueles que já estão pré-treinados e # 8221; estão agora sendo desenvolvidos para uso nos mercados financeiros. Em breve, os programas de aplicação estarão disponíveis, que podem prever com precisão os preços do próximo dia de vários mercados financeiros e agrícolas negociados em todo o mundo.


Lou Mendelsohn, presidente da Market Technologies, Wesley Chapel, Flórida.


Com sede em Wesley Chapel, Flórida, ao norte de Tampa, Market Technologies, os fabricantes do VantagePoint Software permanecem na vanguarda da pesquisa de software comercial e desenvolvimento de software. Nosso trabalho está enraizado na aplicação de tecnologias de inteligência artificial para a análise do intermarket dos mercados financeiros globais interconectados de hoje, utilizando uma poderosa ferramenta matemática conhecida como redes neurais.


Redes Neurais: Previsão de Lucros.


As redes de neurônios são algoritmos de última geração, imutáveis, que imitam certos aspectos importantes no funcionamento do cérebro humano. Isso lhes dá uma capacidade única de auto-treinamento, a capacidade de formalizar informações não classificadas e, o mais importante, a capacidade de fazer previsões com base na informação histórica que eles têm à sua disposição.


As redes de neurônios têm sido usadas cada vez mais em uma variedade de aplicativos de negócios, incluindo soluções de pesquisa de previsão e marketing. Em algumas áreas, como detecção de fraude ou avaliação de riscos, são líderes indiscutíveis. Os principais campos em que as redes neurais encontraram aplicações são operações financeiras, planejamento empresarial, negociação, análise de negócios e manutenção de produtos. As redes neurais podem ser aplicadas de forma lucrativa por todos os tipos de comerciantes, por isso, se você é um comerciante e ainda não foi introduzido em redes neurais, nós o acompanharemos através deste método de análise técnica e mostraremos como aplicá-lo a seu estilo de negociação.


Use redes neurais para descobrir oportunidades.


Assim como qualquer tipo de excelente produto ou tecnologia, as redes neurais começaram a atrair todos aqueles que estão procurando por um mercado em desenvolvimento. Torrents de anúncios sobre software de próxima geração inundaram o mercado - anúncios comemorando o mais poderoso de todos os algoritmos de rede neural já criados. Mesmo nesses casos raros, quando reivindicações publicitárias se assemelham à verdade, tenha em mente que um aumento de 10% na eficiência é provavelmente o máximo que você obterá de uma rede neural. Em outras palavras, ele não produz retornos milagrosos e, independentemente de quão bem ele funciona em uma situação particular, haverá alguns conjuntos de dados e classes de tarefas para as quais os algoritmos utilizados anteriormente são superiores. Lembre-se disso: não é o algoritmo que faz o truque. Informações de entrada bem preparadas sobre o indicador segmentado são o componente mais importante do seu sucesso com as redes neurais.


A Convergência mais rápida é melhor?


Muitos daqueles que já utilizam redes neurais acreditam erroneamente que quanto mais rápido sua rede fornece resultados, melhor será. Isso, no entanto, é uma ilusão. Uma boa rede não é determinada pela taxa em que produz resultados e os usuários devem aprender a encontrar o melhor equilíbrio entre a velocidade na qual a rede treina e a qualidade dos resultados que produz.


Aplicação correta de redes neurais.


Muitos comerciantes aplicam redes neurais de forma incorreta porque depositam muita confiança no software que utilizam, sem terem fornecido instruções adequadas sobre como usá-lo adequadamente. Para usar uma rede neural do jeito certo e, portanto, de forma lucrativa, um comerciante deve prestar atenção a todas as etapas do ciclo de preparação da rede. É o comerciante e não a rede dele que é responsável por inventar uma ideia, formalizando essa idéia, testando e melhorando, e, finalmente, escolhendo o momento certo para descartá-la quando não for mais útil. Consideremos os estágios deste processo crucial com mais detalhes:


1. Encontrando e Formalizando uma Idéia de Negociação.


2. Melhorando os Parâmetros do seu Modelo.


3. Eliminação do modelo quando se torna obsoleto.


Todo modelo baseado na rede neural possui uma vida útil e não pode ser usado indefinidamente. A longevidade do período de vida de um modelo depende da situação do mercado e de quanto tempo as interdependências do mercado refletem nele permanecerem atualizadas. No entanto, mais cedo ou mais tarde, qualquer modelo se torna obsoleto. Quando isso acontece, você pode redirecionar o modelo usando dados completamente novos (ou seja, substituir todos os dados que foram usados), adicionar alguns dados novos ao conjunto de dados existente e treinar o modelo novamente, ou simplesmente retirar o modelo completamente.


Muitos comerciantes cometem o erro de seguir o caminho mais simples - eles dependem fortemente e usam a abordagem para a qual seu software fornece a funcionalidade mais amigável e automatizada. Essa abordagem mais simples é prever um preço de algumas barras à frente e basear seu sistema de negociação nesta previsão. Outros comerciantes prevêem variação de preço ou porcentagem da mudança de preço. Esta abordagem raramente produz melhores resultados do que prever o preço diretamente. Ambas as abordagens simplistas não conseguem descobrir e explorar de forma lucrativa a maior parte das importantes interdependências a longo prazo e, como resultado, o modelo torna-se rapidamente obsoleto à medida que as forças motrizes globais mudam.


A Abordagem Geral Mais Ótima para o Uso de Redes Neurais.


SISTEMAS DE NEGOCIAÇÃO.


Criando um Sistema de Negociação Usando Redes Neurais.


A aprendizagem de máquinas tornou-se incrivelmente popular durante a última década com o advento de melhores algoritmos e poder computacional suficiente para enfrentar até mesmo os problemas mais exigentes. Hoje, os algoritmos de aprendizagem de máquinas resolvem problemas em muitas áreas onde relacionamentos complexos entre variáveis ​​são presentes e isso torna a aprendizagem de máquinas uma ferramenta potencialmente viável para a criação de estratégias de negociação. Mas como podemos criar um sistema comercial usando esse tipo de tecnologia? Neste artigo, vamos aprender a usar um algoritmo básico de aprendizado de máquina e ndash; chamado rede neural e ndash; para criar um sistema de negociação simples no EUR / USD.


Todos os fragmentos de codificação são amostras retiradas da nossa estrutura de programação F4, disponível na Asirikuy. A biblioteca de código aberto Shark é usada para a criação e treinamento dos algoritmos de aprendizado da máquina. No entanto, as ideias gerais e as noções algorítmicas apresentadas neste artigo podem ser traduzidas para outras bibliotecas e linguagens de programação.


O que é uma Rede Neural?


Uma rede neural é um tipo de algoritmo de aprendizagem de máquinas. A rede neural clássica mais simples é composta por uma camada de entrada, uma camada oculta e uma camada de saída, onde cada camada contém um número determinado de & ldquo; neurones & rdquo ;. Cada neurônio na camada de entrada obtém um valor, processa-o usando uma função e passa para um ou vários neurônios na camada oculta com um determinado conjunto de pesos, os neurônios repitam o processo e passam os valores para um ou vários neurônios de saída . Em essência, a rede neural possui alguns valores de entrada e entrega alguns valores de saída ao processar as entradas através da sua estrutura funcional. Os neurônios não são senão unidades de processamento funcionais que passam valores multiplicados por certos pesos a outras unidades.


Fragmento de código 1. Função em C ++ que cria 84 exemplos usando 2 retornos como entradas eo retorno da barra seguinte como saída.


No entanto, uma rede neural não sabe como processar entradas desde o início, uma vez que não conhece os pesos atribuídos a cada conexão de rede neural. É por isso que precisamos de & ldquo; train & rdquo; uma rede neural usando um determinado conjunto de entradas e valores de saída, de modo que os pesos que definem as conexões entre os neurônios possam ser adequadamente definidos. Em seguida, usamos uma rede neural treinada para prever os resultados em dados desconhecidos, que é onde podemos obter um benefício ao prever alguns resultados relacionados com os dados de preços.

Comments

Popular posts from this blog

R sinais de negociação

Negociação algorítmica com MATLAB®: mais sinais. No AlgoTradingDemo3.m vimos como adicionar dois sinais juntos para obter resultados melhorados usando aprendizagem evolutiva. Nesta demonstração, usaremos a ampliação da abordagem para três sinais: MA, RSI e Williams% R. Copyright 2018, The MathWorks, Inc. Todos os direitos reservados. Carregar em alguns dados. Mais uma vez, nós importaremos os dados do Bund amostrados minuciosamente. Williams% R. Williams% R estratégia de negociação. Gerar um sinal de negociação cada vez que cruzamos a marca de -50% (até uma compra, baixa é uma venda). WPR desempenho. Gerar sinais de negociação. Sinais comerciais. Trace o "estado" do mercado representado pelos sinais. Gerar a população inicial. Gerar população inicial para sinais. Função Fitness. Objetivo é encontrar um alvo bitstring (valor mínimo) Definição da função objetiva. Avalie o objetivo da população. Resolva com Algoritmo Genético. Encontre a melhor regra de negociação e a proporção ...

Ganhando enorme dinheiro no forex

Ganhando enorme dinheiro no forex para obter o bônus StartUp. quaisquer investimentos e riscos. 404 Erro - A página não foi encontrada. O mercado Forex é de alto rendimento e risco significa de tirar proveito pelas operações com as taxas de câmbio. Os instrumentos de trabalho no mercado Forex de muitas maneiras determinam o resultado da negociação de moeda feita pelos participantes do mercado Forex & ndash; clientes de corretores. Todo corretor Forex oferece seu próprio terminal, no entanto, a maioria dos corretores e comerciantes concordam em escolher os terminais MetaTrader 4 e MetaTrader 5. Este fórum é criado para aqueles que preferem o terminal da série MetaTrader na negociação em Forex. Previsões do mercado Forex, opiniões independentes de comerciantes novatos e especialistas do mercado de câmbio e ndash; Tudo isso você encontrará no Forex-forum of trade of discussion. A experiência sólida de trabalho no Forex é preferível, mas todos os curiosos, incluindo os novatos Forex, ...

Fórum liteforex

Forex forum mt4. Se você estiver na negociação forex, então você deve ter ouvido o nome de uma de suas plataformas de negociação populares é o MetaTrader 4. Mas, se não, não se preocupe, pois esta publicação trata especificamente disso. Para aproveitar o conhecimento detalhado sobre MT4, um deve optar pelo forex forum MT4. Agora, você pode ficar confuso de como os fóruns podem ser benéficos para obter conhecimentos significativos sobre o MT4. Não seja, basta ler esta publicação e obter informações interessantes sobre forex. O Fórum é um espaço de trabalho onde uma série de comerciantes comercializam e compartilham suas experiências entre eles e os recém-chegados. Este é um lugar onde os comerciantes podem se conectar facilmente com os especialistas através do meio on-line e podem aprender suas técnicas e estratégias de negociação. Considerando o fórum forex MT4, uma vez que o MetraTrader 4 é um dos mais amplamente utilizados no mercado de software, a maioria dos comerciantes está usand...