Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Bom dia a todos,
A área de aprendizado de máquina no mercado de capitais tem crescido muito, o que é fantástico, pois já teve altos e baixos no passado, e sem dúvida vivemos hoje uma onda de realizações impressionantes, apesar de vários hypes por aí.
Não por menos, recebo seguidamente contatos por aqui solicitando dicas de artigos para começar na área de programação de inteligência artificial no Metatrader.
Nesse sentido, um dos artigos que recomendo é https://www.mql5.com/en/articles/1565
Mas noto que, muitas vezes, falta uma base de entendimento sobre deep learning (ML/DL) e até mesmo de machine learning (ML).
Dessa forma, recomendo também um conteúdo mais genérico, em https://machinelearningmastery.com/start-here/
Sds.,
Rogério Figurelli
Bom dia a todos,
A área de aprendizado de máquina no mercado de capitais tem crescido muito, o que é fantástico, pois já teve altos e baixos no passado, e sem dúvida vivemos hoje uma onda de realizações impressionantes, apesar de vários hypes por aí.
Não por menos, recebo seguidamente contatos por aqui solicitando dicas de artigos para começar na área de programação de inteligência artificial no Metatrader.
Nesse sentido, um dos artigos que recomendo é https://www.mql5.com/en/articles/1565
Mas noto que, muitas vezes, falta uma base de entendimento sobre deep learning (ML/DL) e até mesmo de machine learning (ML).
Dessa forma, recomendo também um conteúdo mais genérico, em https://machinelearningmastery.com/start-here/
Sds.,
Rogério Figurelli
Ola @Rogerio Figurelli
Excelentes comentarios! Vai agregar muito em meu projeto. Apesar de entender que deep learning não seja a melhor abordagem, ler tais artigos e experiencias contribuem em muito para quem estuda aplicar meta-heurísticas, caos e aprendizado de maquina em suas estrategias automatizadas.
Obrigado por compartilhar.
[ ]'s
Bom dia a todos,
Na minha opinião o ideal de qualquer modelo ou algoritmo de inteligência artificial na área financeira é estar codificado em compiladores de alto desempenho, como o próprio MQL ou ainda C++/Java/etc.
Entretanto, linguagens como Python e R são sem dúvida as que agregam o maior número de soluções de machine learning (ML), e, principalmente, deep learning (ML/DL), para os mais diversos problemas na área, e portanto recomendo a nova thread abaixo para discussão específica da integração dessas linguagens.
Note-se que essa pode ser sempre uma solução de contorno, uma vez que é sempre possível portar o código Python/R para um código em MQL/C++/Java/etc., o que acontece tipicamente em grandes fundos quantitativos ou formadores de mercados.
Sds.,
Rogério Figurelli
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
MetaTrader 5 - Grupo de usuários de Python
Rogerio Figurelli, 2019.04.04 15:36
Bom dia a todos,
Recomendo o novo artigo "Por que integrar o MQL5 e o Python?" em https://www.mql5.com/pt/articles/5691
Um dos pontos levantados no final do artigo é a incompatibilidade com o Strategy Tester.
Acredito que esse é um dos grandes problemas a serem endereçados pela equipe de desenvolvimento do MT5 e uma boa discussão para essa thread.
Meus dois centavos são que, na prática, existem algumas soluções de contorno para superar isso, sendo várias delas proprietárias, e portanto o ideal era ter essa integração nativa.
Sds.,
Rogério Figurelli
Ola @Rogerio Figurelli
Excelentes comentarios! Vai agregar muito em meu projeto. Apesar de entender que deep learning não seja a melhor abordagem, ler tais artigos e experiencias contribuem em muito para quem estuda aplicar meta-heurísticas, caos e aprendizado de maquina em suas estrategias automatizadas.
Obrigado por compartilhar.
[ ]'s
Olá @Joscelino Celso de Oliveira
Obrigado pelo feedback.
Minha definição de caos é de algo que ainda não conseguimos explicar ou até mesmo modelar com o mínimo de qualidade. Mas no mercado de capitais, talvez alguma tecnologia ou modelo já tenha superado esse desafio, e aí reside a beleza de estarmos aqui. Em outras palavras, muito do que foi visto de caos no passado, faz parte de leis da economia do presente, e a tecnologia tem um papel cada vez mais decisivo nesse sentido.
Mas concordo com você que existem várias linhas de utilização de machine learning no mercado de capitais atualmente. A mais óbvia e direta é o aprendizado supervisionado. Entretanto, no meu entender, o deep learning tem aberto as portas para soluções bem mais amplas, embora complexas, principalmente com a evolução de redes LSTMs (Recurrent Neural Networks).
Onde mais trabalho com deep learning, apenas como exemplo, é na detecção de modelos evolucionários, e de como o mercado está evoluindo, principalmente com abordagem topdown, partindo do internacional para o nacional (embora o contrário também ocorra, eventualmente), pois acredito nessa possibilidade e visão.
Dessa forma, não vejo hoje nenhum problema na área de trading que não possa ser formulado para o uso de deep learning, uma vez que você pode compor arquiteturas híbridas, utilizando inclusive aprendizado não supervisionado, que em tese é o que tem na mente dos melhores gestores de mercado.
Portanto, o desafio, nesse caso, é encontrar bons modelos de deep learning, e padrões que possam ser aprendidos/treinados, e o que o maior parte do pessoal de tecnologia na área deixa de lado, que é encontrar modelos que realmente identifiquem causalidade nesses padrões.
E a busca de retorno a partir da diversidade de tecnologias, volume de dados e capacidade computacional para o deep learning são para mim o grande motivador da evolução das pesquisas nessa área, que cresce cada vez mais.
Sds.,
Rogério Figurelli
Eu trabalho há algum tempo om inteligência computacional e aprendizado de máquina em outras áreas (energia elétrica, petróleo, sensoriamento, reconhecimento de imagens, visão computacional, etc.) e de 1 ano e pouco pra cá comecei a estudar possíveis aplicações no mercado financeiro e estou cada vez mais apaixonado pelo potencial que existe para aplicação de IA e pela diversidade e complexidade dos problemas a serem modelados, que são de natureza estocástica, não-estacionária e caótica.
Pelo menos no problema de lucrar com daytrade por meio de "scalping", que é o problema específico que mais tenho estudado ultimamente, não sei se empurrar uma montanha de dados brutos pra dentro de uma rede neural profunda seria uma solução boa.
A impressão que tenho é que o segredo deve residir em selecionar um punhado de variáveis de mercado que apresentem uma correlação razoável com a variável-alvo, não necessariamente uma correlação alta (se houvesse alguma variável simples com correlação alta com o lucro no scalping, todo mundo já estaria rico, rsrs), mas pelo menos um conjunto de variáveis que tenham correlação com a função-alvo que seja significativamente acima da "faixa de ruído estatístico" e que tenham baixa correlação entre si, para que seja possível "fabricar" variáveis novas derivadas destas que possuam correlação mais alta.
Tudo bem, admito que é mais ou menos isso que uma rede neural profunda se propõe a fazer (cada camada gera um novo conjunto de variáveis derivadas das variáveis da camada anterior e melhor correlacionadas com o alvo). Mas ainda estou um pouco cético, pois as LSTMs têm tido muito sucesso em aplicações bem determinísticas, como jogos, videogames e reconhecimento de imagens. Acho difícil terem o mesmo sucesso em um sistema ruidoso e não-estacionário como o mercado financeiro. Seria como mandar a rede neural profunda reconhecer qual é o animal que aparece na foto, só que a foto tem um ruído aleatório e variante no tempo aplicado à luminância e à crominância dos pixels e o tema da foto muda a cada momento (quando a rede tiver detectado um "cavalo", a imagem já terá mudado para "cachorro").
Alias a própria escolha da variável-alvo é complexa e há um grande número de possibilidades, pois a função-objetivo a ser maximizada é, essencialmente, o lucro médio esperado para uma determinada estratégia de trading em um determinado contexto, sendo que há inúmeras estratégias possíveis. Desse modo, a própria escolha da variável-alvo mais adequada para rotular as observações em um esquema de aprendizado supervisionado já é um subproblema complexo e fascinante.
Minha impressão é que escolha do algoritmo de aprendizado em si é pouco relevante em relação à escolha dos atributos preditivos e da variável-alvo. Acredito que estas últimas escolhas, ou seja, a modelagem do problema de aprendizado supervisionado a ser resolvido, tenha mais influência no sucesso do modelo preditivo do que a escolha do algoritmos de aprendizado (se vai ser uma rede LSTM, SVM, regressão logística, floresta randômica, etc.).
Minhas impressões acima estão focadas na questão do scalping de ativos líquidos em contexto de daytrade.
Claro que para outras aplicações (otimizar portfolio, surfar variações setoriais cíclicas, surfar notícias com base em análise de sentimento, etc.) o cenário é diferente e talvez uma LSTM seja uma ótima escolha.
Eu trabalho há algum tempo om inteligência computacional e aprendizado de máquina em outras áreas (energia elétrica, petróleo, sensoriamento, reconhecimento de imagens, visão computacional, etc.) e de 1 ano e pouco pra cá comecei a estudar possíveis aplicações no mercado financeiro e estou cada vez mais apaixonado pelo potencial que existe para aplicação de IA e pela diversidade e complexidade dos problemas a serem modelados, que são de natureza estocástica, não-estacionária e caótica.
Pelo menos no problema de lucrar com daytrade por meio de "scalping", que é o problema específico que mais tenho estudado ultimamente, não sei se empurrar uma montanha de dados brutos pra dentro de uma rede neural profunda seria uma solução boa.
A impressão que tenho é que o segredo deve residir em selecionar um punhado de variáveis de mercado que apresentem uma correlação razoável com a variável-alvo, não necessariamente uma correlação alta (se houvesse alguma variável simples com correlação alta com o lucro no scalping, todo mundo já estaria rico, rsrs), mas pelo menos um conjunto de variáveis que tenham correlação com a função-alvo que seja significativamente acima da "faixa de ruído estatístico" e que tenham baixa correlação entre si, para que seja possível "fabricar" variáveis novas derivadas destas que possuam correlação mais alta.
Tudo bem, admito que é mais ou menos isso que uma rede neural profunda se propõe a fazer (cada camada gera um novo conjunto de variáveis derivadas das variáveis da camada anterior e melhor correlacionadas com o alvo). Mas ainda estou um pouco cético, pois as LSTMs têm tido muito sucesso em aplicações bem determinísticas, como jogos, videogames e reconhecimento de imagens. Acho difícil terem o mesmo sucesso em um sistema ruidoso e não-estacionário como o mercado financeiro. Seria como mandar a rede neural profunda reconhecer qual é o animal que aparece na foto, só que a foto tem um ruído aleatório e variante no tempo aplicado à luminância e à crominância dos pixels e o tema da foto muda a cada momento (quando a rede tiver detectado um "cavalo", a imagem já terá mudado para "cachorro").
Alias a própria escolha da variável-alvo é complexa e há um grande número de possibilidades, pois a função-objetivo a ser maximizada é, essencialmente, o lucro médio esperado para uma determinada estratégia de trading em um determinado contexto, sendo que há inúmeras estratégias possíveis. Desse modo, a própria escolha da variável-alvo mais adequada para rotular as observações em um esquema de aprendizado supervisionado já é um subproblema complexo e fascinante.
Minha impressão é que escolha do algoritmo de aprendizado em si é pouco relevante em relação à escolha dos atributos preditivos e da variável-alvo. Acredito que estas últimas escolhas, ou seja, a modelagem do problema de aprendizado supervisionado a ser resolvido, tenha mais influência no sucesso do modelo preditivo do que a escolha do algoritmos de aprendizado (se vai ser uma rede LSTM, SVM, regressão logística, floresta randômica, etc.).
Minhas impressões acima estão focadas na questão do scalping de ativos líquidos em contexto de daytrade.
Claro que para outras aplicações (otimizar portfolio, surfar variações setoriais cíclicas, surfar notícias com base em análise de sentimento, etc.) o cenário é diferente e talvez uma LSTM seja uma ótima escolha.
Olá @Trader_Patinhas,
Obrigado por compartilhar, sem dúvida uma ótima contribuição para esse tópico.
Para ser sincero, já vi de tudo no mercado, desde estratégias altamente complexas com resultados negativos até estratégias tão simples como médias móveis ou até mesmo baseadas em métodos aleatórios gerarem resultados relevantes. Dessa forma, acredito que quando se trata de problemas de complexidade infinita, como o mercado de capitais, ainda mais em alta frequência, o melhor é não ter paradigmas, e esse é o olhar que tenho sobre a inteligência artificial, ou em qualquer de seus campos, como o deep learning.
Exatamente por isso gosto de sua visão mais cética sobre o assunto, se você me permite por assim dizer. E talvez você esteja coberto de razão.
Seja como for, tenho alguns contrapontos por ver no deep learning algumas vantagens estratégicas para o trading, em qualquer frequência, em relação a outros campos de aprendizado de máquina, principalmente em problemas muito específicos, como por exemplo análise de sentimento ou detecção de movimentos de massa.
Em primeiro lugar, um dos grandes potenciais do aprendizado de máquina está em poder criar estratégias e descobrir modelos sem programação. Esse me parece um recurso absolutamente fantástico na área de trading, principalmente no caso de scalpers, uma vez que a máquina passa a descobrir lógicas que nem sequer entendemos. Na prática, vejo todos os dias isso acontecendo, e com alta complexidade de fazermos uma engenharia reversa, que é um ponto a mais de discussão.
Em segundo lugar, acredito que muito mais que "cada camada gera um novo conjunto de variáveis derivadas das variáveis da camada anterior e melhor correlacionadas com o alvo", o que não está incorreto, o que acontece com modelos de deep learning, como por exemplo milhões de variáveis, é que cada camada gera um nível de abstração superior ao anterior, exatamente como faz nosso cérebro, e provavelmente a mente dos melhores gestores. Esse potencial de abstração e inteligência em camadas, gerado de forma automática, tem no meu entender uma capacidade infinita de oportunidades na área de trading, seja como proteção, seja como agressão, seja como desenho inteligente de mercado, dentro evidentemente do que é possível fazer legalmente (embora nem todos sigam essa linha, infelizmente).
Finalmente, vejo o deep learning como mais uma ferramenta a ser testada, e comparada com outras tantas de mercado. Essa é minha filosofia, pois se construímos um modelo evolucionário, testando milhões de modelos operacionais, o que interessa na prática é descobrir os melhores para o cenário atual de mercado e instrumento que estamos operando. Fazendo isso, não será tão surpreendente descobrir que algum modelo que utilize deep learning se destaque com uma detecção de padrões que nem sequer entendemos.
Acredito que isso aconteça toda hora nos grandes fundos quantitativos internacionais, embora estejam guardados a sete chaves.
Seja como for, é bom lembrar que todos estamos a poucos trades de voltar a humildade, seja aquele com um pequeno robô baseado em médias móveis, seja aquele com um robô advisor de alta performance. E se isso é verdade, talvez os melhores sistemas de mercado sejam justamente os que melhor utilizam a inteligência coletiva de pessoas e máquinas, onde o machine learning e seus campos diversos, como as redes neurais de alta complexidade, podem ser relevantes.
E justamente por isso, gosto bastante de sua visão crítica e contraponto ao deep learning, embora não concorde em muitos pontos dela.
Sds.,
Rogério Figurelli
Olá a todos e parabéns pelo tópico.
É um assunto que venho estudando há algum tempo e, sobre isso, sou bastante otimista no que diz respeito às possibilidades de uso da IA para a negociação. Hoje, o aprendizado de máquina já é extremamente utilizado nesse campo, e acho que, cada vez mais, passaremos o bastão para a IA. Porém, um passo de cada vez.
Gosto muito de Deep Learning e, em especial, RNNs como LSTMs e GRUs, embora eu ache que a criação de um robô negociador do zero (sem uma boa engenharia das features e conhecimento do domínio) seja, ainda, muito difícil. Usaria Deep learning para vários casos, com redes convolucionais e RNNs, não só observando preço e volume, mas várias outras informações como, indicadores, sinais, outros papéis correlacionados, calendário, etc. Além disso, poderíamos também considerar, é claro, redes neurais profundas para a análise de sentimento, buscando em notícias, sites e notas das corretoras informações que possam mapear o otimismo e pessimismo de um certo momento do mercado, por exemplo. As possibilidades de Deep Learning são enormes. O únicos problemas que vejo nele são:
a) muito difícil de treinar para alguns problemas; em outros, simplesmente não converge.
b) criar arquiteturas para certos problemas é quase uma 'arte';
c) precisa de muita, muita informação, além de demorar muito pra treinar.
Na minha visão, a primeira aplicação da IA nesses casos seria a de uma defesa; de corrigir o trader ou um robô de estratégia já consolidado. Acho que a IA colabora muito nesses casos. Para isso, uma técnica que tenho aplicado e que pode ser promissora é a do aprendizado por reforço profundo (Deep Reinforcement Learning). Aliada a inúmeras simulações montecarlo, creio que essa técnica pode ajudar a evitar 'erros' em estratégias já consolidadas e otimizadas. Quando identificar que um certo 'estado' do mercado pode acarretar perdas, impede a compra ou venda, por exemplo. A parte boa, nesse caso, é que o aprendizado pode ser online.
Além disso, acho que não podemos esquecer das técnicas de computação evolucionária (como algoritmos genéticos, programação genética, etc. por exemplo), que, apesar de ineficientes em alguns casos, podem também ajudar a criar modelos dinâmicos para o problema, inclusive definindo melhores arquiteturas para redes neurais (o que poderia ajudar a solucionar o segundo problema que listei).
Acho que o caminho pode ser exatamente na mistura de vários agentes treinados por diferentes técnicas, assim como é o mercado, formado por traders treinados de diferentes formas.
Abs
Augusto Torácio
Olá a todos e parabéns pelo tópico.
É um assunto que venho estudando há algum tempo e, sobre isso, sou bastante otimista no que diz respeito às possibilidades de uso da IA para a negociação. Hoje, o aprendizado de máquina já é extremamente utilizado nesse campo, e acho que, cada vez mais, passaremos o bastão para a IA. Porém, um passo de cada vez.
Gosto muito de Deep Learning e, em especial, RNNs como LSTMs e GRUs, embora eu ache que a criação de um robô negociador do zero (sem uma boa engenharia das features e conhecimento do domínio) seja, ainda, muito difícil. Usaria Deep learning para vários casos, com redes convolucionais e RNNs, não só observando preço e volume, mas várias outras informações como, indicadores, sinais, outros papéis correlacionados, calendário, etc. Além disso, poderíamos também considerar, é claro, redes neurais profundas para a análise de sentimento, buscando em notícias, sites e notas das corretoras informações que possam mapear o otimismo e pessimismo de um certo momento do mercado, por exemplo. As possibilidades de Deep Learning são enormes. O únicos problemas que vejo nele são:
a) muito difícil de treinar para alguns problemas; em outros, simplesmente não converge.
b) criar arquiteturas para certos problemas é quase uma 'arte';
c) precisa de muita, muita informação, além de demorar muito pra treinar.
Na minha visão, a primeira aplicação da IA nesses casos seria a de uma defesa; de corrigir o trader ou um robô de estratégia já consolidado. Acho que a IA colabora muito nesses casos. Para isso, uma técnica que tenho aplicado e que pode ser promissora é a do aprendizado por reforço profundo (Deep Reinforcement Learning). Aliada a inúmeras simulações montecarlo, creio que essa técnica pode ajudar a evitar 'erros' em estratégias já consolidadas e otimizadas. Quando identificar que um certo 'estado' do mercado pode acarretar perdas, impede a compra ou venda, por exemplo. A parte boa, nesse caso, é que o aprendizado pode ser online.
Além disso, acho que não podemos esquecer das técnicas de computação evolucionária (como algoritmos genéticos, programação genética, etc. por exemplo), que, apesar de ineficientes em alguns casos, podem também ajudar a criar modelos dinâmicos para o problema, inclusive definindo melhores arquiteturas para redes neurais (o que poderia ajudar a solucionar o segundo problema que listei).
Acho que o caminho pode ser exatamente na mistura de vários agentes treinados por diferentes técnicas, assim como é o mercado, formado por traders treinados de diferentes formas.
Abs
Augusto Torácio
Olá @Augusto Toracio,
Obrigado por compartilhar, muito relevante sua experiência e visão para esse tópico.
Gostei muito do item b), acredito que 'arte' é o grande diferencial na área de AI, e talvez o grande segredo por trás dos grandes fundos quantitativos de sucesso, como o Renaissance.
Também penso como você que o caminho não é simples, e portanto acredito que é fundamental formarmos no Brasil um maior expertise nessa área, que é um dos principais objetivos desse tópico, pois não se pode negar o impacto de AI/ML/DL no mercado atual, com vários cases de sucesso e busca cada vez maior de profissionais na área, como mostra a lista de links abaixo, e caminhar contra essa onda me parece algo de alto risco.
Billionaire Robots: Machine Learning at Renaissance Technologies
https://rctom.hbs.org/submission/billionaire-robots-machine-learning-at-renaissance-technologies/
“The Massive Hedge Fund Betting on AI”. Adam Satariano and Nishant Kumar
https://www.bloomberg.com/news/features/2017-09-27/the-massive-hedge-fund-betting-on-ai
“Renaissance Technologies Co-Founder Reveals Secrets to Quant and VC Career Success”. Dan Butcher
https://news.efinancialcareers.com/us-en/298218/renaissance-technologies-secrets-to-quant-hedge-funds-vc-career-success
The Revolutionary Way Of Using Artificial Intelligence In Hedge Funds
https://www.forbes.com/sites/bernardmarr/2019/02/15/the-revolutionary-way-of-using-artificial-intelligence-in-hedge-funds-the-case-of-aidyia/#5da632eb57ca
Million Dollar Salaries for AI Researchers? Well, we Quants Have Seen this Movie Before
https://blog.goodaudience.com/million-dollar-salaries-for-ai-researchers-well-we-quants-have-seen-this-movie-before-8e7af51f6c63
How hedge funds are using AI and machine learning
https://www.computerworlduk.com/galleries/data/how-hedge-funds-are-using-ai-machine-learning-3672971/
Sds.,
Rogério Figurelli
Olá a todos,
Para quem está começando com redes neurais artificiais no MT5, recomendo o excelente artigo abaixo, com alguns dos fundamentos e com códigos de exemplo.
Note que não estamos falando aqui de deep learning, mas no máximo de shallow learning ou uma espécie de aprendizado superficial.
Seja como for, o que muda significativamente numa rede profunda é justamente o número de camadas.
Já vi redes muito simples, como perceptrons, gerarem bons resultados em determinados momentos de mercado, mas com a capacidade computacional atual, penso que não faz muito sentido depender de redes mais simples, com pouca capacidade de abstração e identificação de padrões de maior causalidade e tempo de duração.
Sds.,
Rogério Figurelli
Artigos
Redes neurais: Da teoria à prática
Dmitriy Parfenovich, 2014.03.12 13:21
Atualmente, todo negociador já deve ter ouvido falar sobre redes neurais e sabe como é interessante utilizá-las. A maioria acredita que as pessoas que sabem lidar com redes neurais são algum tipo de super-humano. Neste artigo, tentaremos explicar a arquitetura da rede neural, descrever as suas aplicações e apresentar exemplos de uso prático.O risco e a oportunidade do estado da arte em modelos de representação no Mercado de Capitais
Seguidamente olhamos para a Inteligência Artificial no Mercado de Capitais, e no mundo de robôs scalpers, traders, investidores, advisers, etc., como algo distante, experimentada apenas pelas grandes organizações nesse segmento, como Assets e Fundos de Investimento.
E esse me parece um paradigma a mais a ser vencido, afinal, diversos campos de IA estão cada vez mais consolidados nos mais diversos mercados.
Um exemplo típico é o estado da arte de deep learning como ferramenta de criação de modelos de representação.
Afinal, nem só de detectar gatos e cachorros vivem esses modelos!
Uma abordagem que proponho para quebrar esse paradigma é pensar que basta um único bom modelo de representação focado em alguma característica relevante do Mercado de Capitais para qualquer Startup mudar o jogo.
Por exemplo, um modelo que possa agregar valor em momento de operação, a partir de inteligência de sentimento de mercado, está acessível hoje para qualquer trader ou empresa.
Entretanto, o primeiro passo para isso é muito simples, em tese, mas muito complexo, na prática: devemos acreditar nessa possibilidade.
Sds.,
Rogério Figurelli