Tudo sobre Inteligência Artificial (IA) - página 4

 

Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação

Como colocar um filtro de noticias em um ea grid?

Rogerio Figurelli, 2019.07.01 00:08

Olá vitorlukas14, é fácil criar um filtro para eventos do calendário econômico, com data/hora definidos antecipadamente, e se você fizer isso no mercado FX provavelmente já terá um resultado melhor. Mas não esqueça que, na verdade, todos os mercados e instrumentos financeiros são dependentes de notícias intermitentes, verdadeiras e falsas, como boatos, e com os mais variados impactos, nas mais variadas periodicidades, e portanto o que você está querendo fazer é de alta complexidade, quando se trata de reagir em tempo real para eventos incertos.
A resposta do colega Joscelino Celso de Oliveira é interessante, pois apresenta uma abordagem baseada em NLP (Natural Language Processing), mas é necessário você monitorar notícias em uma escala mundial e os riscos são altos de falsos positivos e negativos, em soluções assim. Além disso, você não vai conseguir fazer um backtesting para ajustar seus modelos, o que é uma vantagem de sistemas inteligentes baseados apenas em dados estruturados locais, como o próprio market data. Além disso, será bastante complexo criar um modelo para proteger você de fake news. O melhor que conheço e já testei, criado por colegas no MIT, tem uma margem de erros significativa, para mercados dessa complexidade.
Dessa forma, considero uma das melhores ferramentas para notícias, verdadeiras ou falsas, a gestão inteligente de seus efeitos a partir do S/L (StopLoss), e é exatamente o que utilizo bastante em meus robôs, principalmente quando se faz isso usando aprendizado de máquina.
Ainda mais que a maior parte do mercado faz gestão de S/L por métodos que considero já obsoletos, com indicadores de volatilidade como ATR ou trailing stop com valores fixos, o que facilita muito um sistema inteligente trabalhar de forma contrária a esses métodos, quando não a própria corretora, se ela estiver agindo de má fé (o que não é nada incomum no mercado FX, e que pode ocorrer em qualquer mercado).
Sds.,
Rogério Figurelli


 
Construção de um Robô Investidor baseado em Redes Neurais Artificiais e Preditores Econométricos
https://www.ppgee.ufmg.br/defesas/1361M.PDF
 
Aplicação prática das correlações na negociação
Aplicação prática das correlações na negociação
  • www.mql5.com
Como o coeficiente de Spearman, o coeficiente de correlação por postos de Kendall é a medida da relação linear entre as variáveis aleatórias. Os valores dos elementos analisados são classificados de maneira semelhante, embora o método de cálculo seja diferente. A seguinte fórmula do cálculo do coeficiente é aplicada aqui: Onde P é a soma das...
 
Bom dia a todos,

Uma das linhas de pesquisa na área de AI para o mercado de capitais é o de redes SNN, baseadas em como neurônios reais reais se comunicam, através de spikes ou picos discretos de voltagem, o que, na minha opinião, também abre as portas para o desenvolvimento de diversos modelos neuro-evolucionários diferenciados, que considero fundamentais para a busca de sistemas mais competitivos que o dos melhores gestores do mercado.

A Spiking Neural Network for Financial Prediction

Sds.,
Rogério Figurelli
 

Muito interessante. Obrigado por compartilhar!

 

Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação

Integração Python com Metatrader 5

Rogerio Figurelli, 2019.07.12 17:03

Olá  jvanjos,
Essa é uma integração muito recente, e é natural uma série de problemas até se estabilizar, o que geralmente leva um bom tempo de uso (tentativas e erros). Esse tempo pode ser ainda maior quando envolve integração com recursos em tempo real, como o Strategy Tester, que considero fundamental na área de Inteligência Artificial.
Entretanto me parece que o mais simples e direto, até porque você está com o projeto pendente, é simplesmente utilizar o MT5 para exportar os dados em tempo real (ou até de forma assíncrona, já que é apenas um estudo/exercício), usando funções de rede, como por exemplo a WebRequest(), para uma base local.
Isso me parece bastante rápido também, até porque todas essas linguagens de script como Python, R, etc., permitem acesso a uma base local de forma nativa.
Seja como for, não esqueça que se for aplicar seu projeto no mercado e mundo real, provavelmente terá que portar o código final para o próprio MQL5, se desejar fazer um backtesting mais preciso, já que essas linguagens possuem uma performance bastante limitada, o que, conforme a profundidade de sua rede e qualidade do seu treinamento, pode gerar problemas de latência se você colocar um robô para operar tomando decisões dessa forma.
Sds.,
Rogério Figurelli


 
Trader_Patinhas:

Muito interessante. Obrigado por compartilhar!

Obrigado eu  Trader_Patinhas.

 

Compartilho esta classe que utiliza uma das técnicas de Redes Neurais mais poderosas (a meu entendimento) disponíveis, ouso dizer ser a mais poderosa.

Irei testa-la em um novo projeto de EA. 

Classe de Rede Neural RBF
Classe de Rede Neural RBF
  • www.mql5.com
A classe implementa a rede neural de funções de base radial (Função Base de Rede Radial - RBFN). Aqui será representado a realização do clássico RBFN, que consiste em duas camadas de neurônios: os neurônios da camada escondida com função de ativação radialmente simétrica, a camada de saída linear e a função de ativação sigmóide. A função de...
 
ericonunes:

Olá pessoal,

Cheguei hoje no fórum e já me encantei com esse tópico.

Comecei no mercado em 2016 e percebi que seria  muito mais vantajoso manter um robô do que fazer as operações pessoalmente.

Por sorte frequentei no mestrado uma disciplina de IA, onde tive a oportunidade de construir um sistema de recomendação de compra e venda baseado em indicadores, o que hoje eu chamaria de algotrading. Posteriormente minha dissertação enveredou no uso de IA para criação de sistemas mais completos, para predição com  redes neurofuzzy adaptativas e modelos fuzzy evolucionários. ''Infelizmente'' eu fiz tudo no Matlab. Digo desta maneira por que seria fantástico ter o poder do Matlab integrado com o metatrader e ainda não procurei (confissão) uma maneira de fazê-lo, pois estava muito mais preocupado em construir um sistema que eu pudesse considerar geral, o que eu consegui. Hoje gostaria de poder trazê-lo para a realidade e encontrei este tópico.

Deixo um capítulo de livro resultado de meus estudos neste link: https://www.researchgate.net/publication/326154177_A_Fuzzy_Based_Recommendation_System_for_Stock_Trading


Ola @ericonunes,

Não sei se já teve oportunidade de encontrar, ler e/ou testar o material abaixo:

De qualquer maneira deixo aqui para quem tiver interesse.


Artigo:

https://www.mql5.com/en/articles/1991


Biblioteca disponivel no CodeBase:

https://www.mql5.com/en/code/13697


[]'s

 
Joscelino Celso de Oliveira:

Compartilho esta classe que utiliza uma das técnicas de Redes Neurais mais poderosas (a meu entendimento) disponíveis, ouso dizer ser a mais poderosa.

Irei testa-la em um novo projeto de EA. 

Legal essa implementação em MQL5, @Joscelino Celso de Oliveira!

E parece bem fácil de usar! Obrigado por compartilhar!

Eu uso muito kernel RBF (função de base radial - geralmente a mais usada é a gaussiana) em modelos do tipo  Support Vector Machine (SVM).

O uso da RBF dá uma enorme flexibilidade à função de decisão, o que é uma "faca de dois gumes".

Por um lado, permite que a rede neural ou a SVM se adaptem a qualquer tipo de função de decisão que seja necessária para se ajustar aos dados de treinamento , por mais loucamente descontínua e não-linear que essa função de decisão precise ser para obter um bom resultado, o que permite obter bom desempenho mesmo em cenários hostis ao aprendizado de máquina.

Porém, por outro lado, essa mesma flexibilidade conduz facilmente ao "overfitting" (obter resultados maravilhosos no backtesting mas não conseguir generalizar esses bons resultados em períodos futuros) se vc deixar a rede neural "se viciar" demasiadamente nos dados de treinamento.    

Por isso, tanto em uma rede neural quanto no SVM, ao usar função de base radial (RBF) vc tem que ajustar bem o parâmetro de regularização, para evitar o "overfitting".

Nessa implementação de rede RBF que vc postou, a regularização é feita pelo parâmetro "epoch".  

No meu projeto atual estou treinando os modelos preditivos fora do MQL5, mas é muito bom ter modelos preditivos implementados em MQL5, para futuramente não depender de nada externo. Vou testar essa classe assim que tiver um tempo.

Razão: