Reduzindo a incerteza do mercado com a adoção de Inteligência Artificial (IA)

 

Nesse tópico gostaria de apresentar algumas ideias relacionadas aos modelos e aplicações de IA no mercado financeiro, principalmente no que se refere à redução de incertezas.

O motivador para esse tópico foi uma troca de ideias com outro colega aqui do fórum (rodrixl) no tópico https://www.mql5.com/pt/forum/16258 , portanto gostaria de agradecer ao Rodrigo por trazer essas ideias, dúvidas e suas primeiras experiências na área. Segue abaixo um resumo dessas ideias e que considero serem o motivador para esse novo tópico.

Minha visão é que a grande maioria do pessoal que entra no segmento de finanças quantitativas imagina que a simples aplicação de modelos matemáticos ou determinísticos irá gerar um lucro extraordinário. E nada como um bonito backtesting para aumentar ainda mais essa ilusão. 

Mas a realidade é que o problema de criar um sistema para operar no mercado financeiro com retorno consistente e acima da média, em médio e longo prazo, é, pelo menos a meu ver, um problema de complexidade e incerteza infinita. E quando estamos diante de um problema com combinações e possibilidade infinitas, tudo pode acontecer (e ai entram a arte e a sorte no processo).

O mercado financeiro é tão complexo que nesse momento, um garoto de 12 anos pode estar criando uma estratégia muito mais eficaz que uma Asset que investe milhões em tecnologias e pessoas para isso.

Então como sobrevivemos a isso: acredito que o caminho seja diminuir a incerteza. Ou seja, se estamos com 100% de incerteza, tudo fica pior. Mas a tecnologia e conhecimento acumulado do mercado já nos permite operar com graus menores de incerteza. E é mais lógico que quem opera com menos incerteza tenha mais chances de sobreviver no mercado.

Por exemplo, um sistema baseado em redes neurais é uma excelente ferramenta de extração de inteligência do passado (quando removemos os riscos de overfitting), mas talvez o passado não se repita no futuro e nesse caso talvez o sistema ainda continue com 90% de incertezas.

Um EA para mim nunca estará maduro o suficiente para operar no mercado real, pois não acredito em EAs, acredito em sistemas de EAs. 

Então, se me perguntam quando um sistemas de EAs estará maduro para operar, eu respondo que quando ele comprovadamente conseguir reduzir a incerteza em níveis que estão acima da média de mercado, o que só o tempo e análise histórica de performance pode comprovar. 

Não acredito que alguém no mercado tenha nesse momento 0% de incerteza, mas aquele que cria modelos matemáticos projetando o futuro (visão estratégica) além da visão de passado, tem maiores chances de redução de incerteza. E para isso precisamos de sistemas de EAs.

E é nesse ponto que concentro meus estudos e pesquisas, ou seja, na redução da incerteza nas três dimensões de tempo: passado, presente e futuro. A do passado é a mais fácil e o que 99% dos traders já faz. O desafio está nas outras dimensões.

E a IA é perfeita para modelar a incerteza do presente e futuro de forma até superior ao gestor humano, já que o processamento em tempo real de um grande volume de dados (Big Data) é essencial para isso.    

Estratégias/Trade Systems
Estratégias/Trade Systems
  • www.mql5.com
Começo fazendo a pergunta, alguém usa ou conhece o trade system de candles Heiken-Ashi suavizado?
 

Fantástico tópico, Figurelli! Já adicionei aos meus favoritos!

A ideia do sistema de EA's que você está tentando implementar (se não me engano, já implementou!) é muito interessante. Você está lidando com um assunto que, na minha opinião, pouquíssimos traders dominam: uma espécie de analyzer capaz de usar EA's de acordo com sua interpretação do mercado. É praticamente um CEP (complex event processing)...

No meu sistema eu não utilizo o MetaTrader como "analyzer", mas sim um outro software chamado Mathematica (concorrente do Matlab, não sei se você conhece). Entretanto, a integração entre o Mathematica e o MetaTrader ainda é feita através de troca de arquivos. Estou tentando desenvolver um DLL para fazer essa integração direta, pois as duas ferramentas trabalhando conjuntamente têm um poder de fogo comparável (na minha opinião) a qualquer sistema mais avançado de processamento de eventos, geralmente vendidos a preços astronômicos no mercado.

Eu não sei ao certo o que o seu analyzer faz (que você chama de Super Robô, se não me engano), mas na minha opinião, um sistema de EA's deveria ser controlado por um analyzer capaz de:

■ processar e interpretar grandes (eu diria, imensos) volumes de dados (não apenas dados financeiros, mas também dados econômicos)

■ processar e interpretar grandes (imensos) volumes de informações (como por exemplo posts em redes sociais, manchetes de jornal, artigos de blogs e sites na internet, informações meteorológicas, etc.)

Isso tudo em tempo real... As grandes casas de investimento fazem isso atualmente, mas após investirem milhões em tecnologia.

Obviamente que isso não está acessível para traders comuns, mas sua iniciativa mostra que é possível desenvolver algo parecido, obviamente que numa escala menor.

Enfim, como você mesmo disse, esse é um tópico para troca de ideias. E essas são as minhas considerações iniciais.

Abraços,
Malacarne 

 
figurelli:


E é nesse ponto que concentro meus estudos e pesquisas, ou seja, na redução da incerteza nas três dimensões de tempo: passado, presente e futuro. A do passado é a mais fácil e o que 99% dos traders já faz. O desafio está nas outras dimensões.

E a IA é perfeita para modelar a incerteza do presente e futuro de forma até superior ao gestor humano, já que o processamento em tempo real de um grande volume de dados (Big Data) é essencial para isso.    

Parabéns por este tópico Figurelli, vou estar super atento para aprender com quem sabe!

"O desafio está nas outras dimensões." 

Para estas duas dimensões, presente e futuro, nunca teremos uma certeza como você mesmo frisou, obviamente dominando o mercado nestas duas dimensões o trader vai tomar lucro nas suas operações financeira,  então eu penso que  para obter lucro o trader deve projetar  um sistema que junta "alguns ingrediente para o bolo sair saboroso" : volume de operações de compradores e vendedores no mercado,  saturação do mercado(sobre-comprado e sobre-vendido), tendência a longo prazo, lateralidade do mercado,  definir uma direção do preço no momento que esta lateralidade é quebrada para fuga ou para manter a direção da tendência, metas de lucro e um Stop Loss que dê a flexibilidade das operações sem comprometer as metas de lucro. Talvez tenha mais ingredientes, mas receita é algo muito particular, o segredo é descobrir como misturar os ingredientes e "não estragar o bolo".

O presente e futuro é incerto, portanto acredito que um sistema vitorioso deve trabalhar matematicamente mediante estimativas, onde o volume de ganhos seja proporcionalmente maior que o de perdas, visto que o mercado sempre vai cobrar o seu preço, então você define o preço que vai pagar: o mínimo ou máximo -todo o seu capital ... :( 

Se alguém tiver um receita saborosa para compartilhar eu aceito com muito bom grado. :D

 
PauloBrasil:

Parabéns por este tópico Figurelli, vou estar super atento para aprender com quem sabe!

"O desafio está nas outras dimensões." 

Para estas duas dimensões, presente e futuro, nunca teremos uma certeza como você mesmo frisou, obviamente dominando o mercado nestas duas dimensões o trader vai tomar lucro nas suas operações financeira,  então eu penso que  para obter lucro o trader deve projetar  um sistema que junta "alguns ingrediente para o bolo sair saboroso" : volume de operações de compradores e vendedores no mercado,  saturação do mercado(sobre-comprado e sobre-vendido), tendência a longo prazo, lateralidade do mercado,  definir uma direção do preço no momento que esta lateralidade é quebrada para fuga ou para manter a direção da tendência, metas de lucro e um Stop Loss que dê a flexibilidade das operações sem comprometer as metas de lucro. Talvez tenha mais ingredientes, mas receita é algo muito particular, o segredo é descobrir como misturar os ingredientes e "não estragar o bolo".

O presente e futuro é incerto, portanto acredito que um sistema vitorioso deve trabalhar matematicamente mediante estimativas, onde o volume de ganhos seja proporcionalmente maior que o de perdas, visto que o mercado sempre vai cobrar o seu preço, então você define o preço que vai pagar: o mínimo ou máximo -todo o seu capital ... :( 

Se alguém tiver um receita saborosa para compartilhar eu aceito com muito bom grado. :D

Perfeitamente Paulo, obrigado pelas palavras generosas, estou aprendendo como todos por aqui.

Realmente o futuro é incerto, mas a questão é o grau de incerteza. Todos temos a oportunidade de construir modelos, metodologias e sistemas para minimizar a incerteza. 

Por exemplo, quantos traders levam em conta o calendário econômico na sua tomada de decisões? E ele está lá, determinístico, esperando para acontecer.

Ou ainda, de forma mais simples, quantos criam de fato algum forecasting para os principais indicadores de mercado? 

O desafiador dessa área é que podemos criar nossas próprias receitas para diminuir a incerteza, e evitar ao máximo as surpresas, mas isso exige que nossa visão não fique só no passado.


 

 
Malacarne:

Fantástico tópico, Figurelli! Já adicionei aos meus favoritos!

A ideia do sistema de EA's que você está tentando implementar (se não me engano, já implementou!) é muito interessante. Você está lidando com um assunto que, na minha opinião, pouquíssimos traders dominam: uma espécie de analyzer capaz de usar EA's de acordo com sua interpretação do mercado. É praticamente um CEP (complex event processing)...

No meu sistema eu não utilizo o MetaTrader como "analyzer", mas sim um outro software chamado Mathematica (concorrente do Matlab, não sei se você conhece). Entretanto, a integração entre o Mathematica e o MetaTrader ainda é feita através de troca de arquivos. Estou tentando desenvolver um DLL para fazer essa integração direta, pois as duas ferramentas trabalhando conjuntamente têm um poder de fogo comparável (na minha opinião) a qualquer sistema mais avançado de processamento de eventos, geralmente vendidos a preços astronômicos no mercado.

Eu não sei ao certo o que o seu analyzer faz (que você chama de Super Robô, se não me engano), mas na minha opinião, um sistema de EA's deveria ser controlado por um analyzer capaz de:

■ processar e interpretar grandes (eu diria, imensos) volumes de dados (não apenas dados financeiros, mas também dados econômicos)

■ processar e interpretar grandes (imensos) volumes de informações (como por exemplo posts em redes sociais, manchetes de jornal, artigos de blogs e sites na internet, informações meteorológicas, etc.)

Isso tudo em tempo real... As grandes casas de investimento fazem isso atualmente, mas após investirem milhões em tecnologia.

Obviamente que isso não está acessível para traders comuns, mas sua iniciativa mostra que é possível desenvolver algo parecido, obviamente que numa escala menor.

Enfim, como você mesmo disse, esse é um tópico para troca de ideias. E essas são as minhas considerações iniciais.

Abraços,
Malacarne 

Olá Malacarne, muito obrigado, vamos estudar juntos as ideias por aqui. O CEP é uma realidade nas empresas hoje, principalmente com a necessidade de tomada de decisões cada vez mais em tempo real (ou seja, o BI em tempo real). 

A negociação automática é apenas mais um problema complexo que a IA terá que atuar, pois a inteligência humana é limitada em tempo de resposta. Então o que podemos fazer é criar e ajustar os sistemas, e confiar neles, claro. Mas para mim a melhor tecnologia é a que consegue provar de fato que gera melhores resultados, e essa é a vantagem da área financeira, pois é muito fácil provar o que funciona ou não.

Prefiro não comentar sobre produtos e projetos particulares ou específicos (até porque não estaria dentro das regras do fórum), vamos ficar nos conceitos e pesquisas na área, mas se tiveres interesse recomendo procurares nas áreas internacionais, pois aqui no Brasil estou apenas começando a trazer algumas coisas que considero relevantes e viáveis para a BM&FBovespa (já no Forex, não existem esses limites).

Dentro dessa linha, acredito que a base de tudo na área de IA no mercado financeiro está nas pesquisas de agentes autônomos e algoritmos genéticos, algo que estudo desde 1998, inicialmente tentando extrair inteligência a partir de notícias de mercado.

Com bons sistemas é possível um único trader ter soluções tão ou mais competitivas que as das grandes casas de investimento, e isso é uma das maiores provas da complexidade infinita do mercado.

O Big Data e CEP estão alinhados com o principal conceito que acredito, e que pesquiso a muito tempo, que é o da visão sistêmica e estratégica. Não apenas no sentido de processar os indicadores e grandes volumes de informação de mercado, o que todos podem fazer hoje e de forma cada vez mais fácil, mas sim o de criar sistemas tão inteligentes quanto a visão do gestor humano, principalmente no que se refere ao processo de tomada de decisões.

Se criamos sistemas com visão nesse padrão, buscamos operações cada vez mais automáticas e precisas (e independentes de gestor). E é ai que está o desafio, que nem as grandes casas e fundos quantitativos conseguiram endereçar ainda.

 

Temos que saber interpretar as mentiras do mercado. as iscas falsas, interpretar um Eike da vida, que em uma ponta ta vendido e na outra mandando todos comprarem. 

Também tem as ordem de stops que ficam expostas  , uma corretora mal intencionada pode ver, e querer tirar proveito dessa informação.

Prever a velocidade nas negociações, ja que dentro do mercado sabemos que tem como diminuir a velocidade de uma sardinha e aumentar a do tubarão. 

A situação tem que ser tão cuidadosa,  que temos que prever se ate mesmo se as informações que estão chegando são reais...... pensa nisso..... parece absurdo, mas os teste que vocês estão fazendo sobre tick, algumas diferenças são absurdas.

Não tem só que prever o presente é o futuro. Tem que prever e se proteger das armadilhas criadas pelo mercado.  Assim o nível de acerto melhoraria, e matematicamente falando com um bom trabalho é possível descobrir todas essas coisas. Isso seria como criar um setor defensivo de um EA. para melhorar as previsões do presente e futuro.

 
SergioSantana:

Temos que saber interpretar as mentiras do mercado. as iscas falsas, interpretar um Eike da vida, que em uma ponta ta vendido e na outra mandando todos comprarem. 

Também tem as ordem de stops que ficam expostas  , uma corretora mal intencionada pode ver, e querer tirar proveito dessa informação.

Prever a velocidade nas negociações, ja que dentro do mercado sabemos que tem como diminuir a velocidade de uma sardinha e aumentar a do tubarão. 

A situação tem que ser tão cuidadosa,  que temos que prever se ate mesmo se as informações que estão chegando são reais...... pensa nisso..... parece absurdo, mas os teste que vocês estão fazendo sobre tick, algumas diferenças são absurdas.

Não tem só que prever o presente é o futuro. Tem que prever e se proteger das armadilhas criadas pelo mercado.  Assim o nível de acerto melhoraria, e matematicamente falando com um bom trabalho é possível descobrir todas essas coisas. Isso seria como criar um setor defensivo de um EA. para melhorar as previsões do presente e futuro.

Muito Bom Sergio!

Quando vamos fazer uma estratégia automatizada ou mesmo Trades na Mão, como diz o Rafael, nunca levamos em conta estes fatores, e com bem disse, seria interessante termos um sistema defensivo, a questão é como determinar "matematicamente" esta situações onde somente que ganha é quem manipula o mercado!

 
PauloBrasil:

Muito Bom Sergio!

Quando vamos fazer uma estratégia automatizada ou mesmo Trades na Mão, como diz o Rafael, nunca levamos em conta estes fatores, e com bem disse, seria interessante termos um sistema defensivo, a questão é como determinar "matematicamente" esta situações onde somente que ganha é quem manipula o mercado!

Sergio e Paulo, antes de mais nada ótimas contribuições, vamos tentar colocar a teoria a nosso favor, pelo menos a que conheço, na análise abaixo.

Na prática eu resumiria o que vocês estão falando em gestão de risco e gestão financeira. A gestão de risco é a base da modelagem quantitativa da incerteza.

Se temos 100% de incerteza, podemos criar um modelo quantitativo com diversos níveis e hipóteses de risco (por exemplo risco sistêmico, risco de falha da estratégia, risco de erro da estratégia, risco de falta de informação, risco de insider, etc). Na prática, quanto melhor o sistema, mais riscos ele deve estar modelando e portanto, teoricamente, menor o grau de incerteza.

Se estamos numa sala escura, com outros negociadores, aquele que tiver um palito de fósforo aceso terá uma vantagem competitiva. A maior parte dos traders quer ter os holofotes do Maracanã, mas isso talvez nem o gigante George Soros tenha. Mas note-se que a incerteza pode ser de alguma forma minimizada se conseguimos o mínimo de iluminação possível (ao invés de pensar no tudo ou nada), que é na prática descobrir e analisar mais variáveis de risco.

Pensando em um primeiro algoritmo de IA: inteligência contra o risco sistêmico

Um item que podemos começar é o algoritmo de proteção contra o risco sistêmico, e que vale tanto para o negociador sistemático como o negociador discricionário, e serve de exemplo de como podemos limitar a perda do risco sistêmico, é o caso que o Sergio apontou muito bem, pois até os ticks podem apresentar diferenças absurdas que os negociadores devem se proteger, ou ainda a questão do stoploss, que atinge principalmente o mercado Forex com corretoras que não são sérias, o que infelizmente pode acontecer, embora espera-se que seja a exceção à regra.

Nesse caso nosso sistema pode limitar a margem de operação, como uma primeira barreira de perda máxima. A perda máxima sempre está ao alcance do trader, e ele é quem deve determiná-la. É, portanto, determinística.

A Teoria de Sistemas considera esse risco como o aumento de entropia, onde podemos imaginar nosso sistema como nosso EA e o ambiente como o mercado. Se há perda de energia, como ticks, que possam resultar em perda sistêmica e entropia, temos que criar uma barreira através de um ou mais algoritmos de gestão desses riscos. 

Aqui na BM&FBovespa, quando surge uma evidência de possibilidade de risco sistêmico, como recentemente tivemos, a primeira ação que considero de modelagem de risco é limitar o capital e margem máxima de operação, como por exemplo 5K. Essa limitação é uma gestão de risco para reduzir a incerteza.

Somente o histórico de sucesso, que o algoritmo ou o negociador discricionário deve medir pelo histórico de posições fechadas, deverá permitir o aumento do capital e margem máximos. Qualquer aumento sem uma base concreta de histórico corresponde a um aumento da incerteza.

No caso específico da BM&FBovespa, o nível de risco sistêmico talvez tenha atingido valores tão altos de entropia que até a operação em modo demonstração tenha que ser revista e normalizada, provando que a gestão do risco também é uma realidade que pode ser enfrentada não apenas pelo trader, mas por todos agentes do sistema.

Mas nesse cenário de risco, pode-se imaginar um sistema que ajusta automaticamente o capital e a margem máxima de operação, de acordo com a percepção de risco a partir de eventos coletados do ambiente externo. Nesse caso adicionamos inteligência de máquina e algoritmos para responderem de forma rápida a percepção de mudança de alguma variável de risco que estamos medindo permanentemente. 

Para ser franco, em um cenário de alta incerteza, talvez a única forma de aumentar o limite, como por exemplo de 5K, seja construindo um sistema de proteção inteligente contra o risco sistêmico, e essa tem sido uma das minhas atividades mais intensas em termos de P&D nos últimos dias, já que não vejo uma possibilidade de melhoria desse cenário em médio e curto prazo.

 

O tópico já ta grande hein! cheio de coisas boas :)

Muito interessante as questões já abordadas nos tópicos, principalmente na questão de sistemas de EA, já estou imaginando algumas coisas do tipo como mencionado pelo Figurelli, sistemas que aprendem a decidir qual a melhor estratégia no momento, baseado em análise dos resultados já obtidos e esperados, características atuais do mercado e semelhança com padrões (bem construidos) de outros momentos do mercado, rankings de retorno de estratégias para identificação de momentos de mercado bem identificados e com estratégias de investimento que comprovadamente são eficientes nesses cenários. acredito muito nisso!

Só não concordo muito com a análise de bigdata, dados econômicos, mineração de notícias etc, acho que infelizmente a informação sempre vem e sempre vai vir atrasada, não agregando muita coisa nas previsões, insiders são uma realidade no mercado, o custo computacional pra essas abordagens é muito alto, para uma informação ao meu ver muito incerta e de baixa representatividade, isso fora o grande desafio de conseguir identificar fontes confiáveis e não enviesadas de informação pra a partir daí começar a tentar achar alguma coisa. Como diz a teoria da analise gráfica, os preços já incorporam toda a dinamica por trás deles, melhor analisar essa informação já compilada não acham?

 

Olá rodrix, Se nós analisarmos bem, em um sistema IA, mesmo que as informações que temos da imprensa estiverem atrasadas, a diferença de 1% de acerto a mais, nas informações que forem corretas, podem ser a consequência da diferença de lucro de milhões em um ano.

Em setembro/2008 o presidente dos EUA deu uma noticia que fez a bovespa fechar duas vezes em um pregão. (Quem soube interpretar a noticia naquele dia ganhou muito dinheiro). Existe também a historia do buraco do metro que abriu no centro de São Paulo em um final de semana e quando a bolsa abriu estava em uma queda fora do normal. A questão da informação sempre chegar atrasada é um fato real, Na queda das torres gemias os gráficos dos dias anteriores demostram isso claramente. Mas se você pensar no que o figureli esta propondo e imaginar esse sistema no dia das torres gemias, Se o sistema identifica-se que a tendencia das estrategias  era para um lado, e as informações estavam indicando outro lado,(antes da queda das torres) o sistema poderia diminuir o grau de risco igual o figureli citou, podendo diminuir as perdas, e, após a queda, igualando a mesma direção entre tendencia é informações, o sistema poderia aumentar o risco e assim ter grandes lucros. O IA, é feito de detalhes, que podem fazer diferenças em milhões.

 

Figurelli? Dentro da sua grande experiencia sobre risco insider, em como processar as noticias recebidas transformando automaticamente em informações para determinar direção e risco. Você poderia comentar sobre isso? Como processar essas informações de forma automática para desenvolver uma AI? 

 
rodrixl:

Como diz a teoria da analise gráfica, os preços já incorporam toda a dinamica por trás deles, melhor analisar essa informação já compilada não acham?

Rodrigo, bom contraponto, talvez você tenha razão, mas não é bem como penso. O valor da informação está diretamente relacionada ao tempo de descoberta. Se conseguimos desenvolver algoritmos que processam grandes volumes de informações em tempo real, extraindo e descobrindo novas informações antes que a maior parte dos traders, estamos com uma vantagem competitiva. E esse é um cenário que será dominado cada vez mais pelos algoritmos, principalmente os que possuem autonomia de tomada de decisão.

Você tem toda razão, mais cedo ou mais tarde os preços incorporam essas descobertas. Porém quem descobriu antes teve a oportunidade antes, ainda mais se o mecanismo para descoberta é um algoritmo complexo e que exige um grande poder computacional. Esse fator motivou a construção de grandes redes de fibra óptica interligando os principais centros financeiros mundiais, pois cada vez mais a velocidade da luz é o limite para a descoberta de informações com alto valor agregado para a decisão de trade.

Em outras palavras, no universo das finanças quantitativas, no médio e longo prazo tudo se equilibra, mas no curto prazo, ou ainda mais, no tempo real, quem tem a melhor tecnologia e expertise de aplicação dela no mercado está em vantagem competitiva. E isso vale tanto para o mercado financeiro como para qualquer outro mercado, principalmente onde os produtos e serviços são pouco diferenciados.
Razão: