Reduzindo a incerteza do mercado com a adoção de Inteligência Artificial (IA) - página 6

 

Olá Joao Luiz Sa Marchioro, obrigado mais uma vez pelo contraponto, sempre relevante para essa discussão.

Seguem minhas observações, item a item:

Joao Luiz Sa Marchioro:

O que me refiro Rogério é que o META é inviável para criar um EA de IA auto otimizável como deveria ser. Para que isso fosse possível a METAQUOTES deveria criar a possibilidade de se acessar a otimização através do EA para que ele otimiza-se conforme parâmetros e selecionasse a melhor combinação. Isso ainda não é possível.

Entendi, mas penso que esse é um paradigma, e que, sim, é possível, das mais variadas formas.

Na verdade, esse é um excelente exemplo para o ponto que referi ao genial Alan Turing, pois ele é um exemplo dessa busca de soluções de contorno para quebra de paradigmas. Vou citar apenas três que utilizo atualmente, todas como soluções dedicadas:

1.É possível acionar o MT5 por linha de comando para executar uma otimização de forma automática, como você refere mais adiante, e não me parece algo tão complexo. Em alguns de meus clientes, principalmente Assets, isso é feito até mesmo para simular diariamente milhares de estratégias por backtesting.

2.Não é necessário treinar seu robô de IA (otimizar novamente) apenas através do Testador de Estratégias, esse pode ser apenas um primeiro treinamento para parâmetros mais genéricos ou até descoberta de hiperparâmetros (minha utilidade preferida). Em vários de meus robôs, e até mesmo indicadores, como já comentei, isso é feito em tempo real, em memória, basta que você crie seus próprios algoritmos e modelos para isso.

3.Não existe nenhuma regra no mercado em que você seja obrigado a utilizar em um robô no MT5 apenas modelos treinados pelo próprio MT5. No meu principal robô comercial (que não vou citar o nome aqui por ser a regra, e também por questões éticas), mais de 90% dos modelos são treinados diretamente nos servidores de minha empresa e utilizando várias plataformas de aprendizado de máquina, como por exemplo o Tensorflow do Google, que considero uma das mais abertas e completas para isso. Na verdade, grande parte dos hiperparâmetros podem ser descobertos em um ambiente assim, para ajuste fino no MT5. Evidentemente que um grande player leva vantagem nesse sentido, mas por outro lado, tecnologias abertas como do Google que citei, e outras em camadas mais abstratas, inclusive da própria linguagem Python, como a API Julia, criada no MIT (veja mais em https://courses.csail.mit.edu/18.337/2015/projects/PatrickLowe/6.338FinalProject.pdf), que abrem as portas para pequenos players e Fintechs criarem suas próprias tecnologias.

Outro detalhe é que rodando em uma VPS barata, conforme normalmente ocorre, fica inviável otimizar, o que torna o primeiro item inútil a não ser que você use uma VPS caríssima.

Minha visão é que VPS é apenas para execução do robô, não para otimização. A solução de otimização em nuvem do MT5, pioneira no mercado, é impressionante, e acompanho sua evolução desde o lançamento do MT5 em 2010. Evidentemente que existem custos para isso, mas no mercado todos sabemos que não existe almoço grátis e para descobrir bons modelos é necessário investir.

Outra alternativa, de menor custo, é manter uma farm própria, com pelo menos uma boa máquina com 8 núcleos de oitava geração.

Outra solução que faço também, permitindo otimização permanente e on the fly, para análise de visão em tempo real, é conectar os robôs a uma rede remota própria, de forma a poder distribuir a inteligência para os robôs clientes.

Se você é fornecedor de tecnologia, recomendo pensar nessa abordagem, pois aí você assume a complexidade de treinamento, principalmente de modelos mais complexos, dentro de uma nuvem própria, acessível aos usuários validados.

Outra possibilidade de auto otimização seria você faze-la manualmente pois ainda é impossível automatizar a otimização e gravar num arquivo na nuvem que o meta da VPS consultasse através de DLL.

Tenho uma frase que diz que é "impossível provar o impossível", eventualmente coloco como citação em meus livros ;-)

Nesse caso, recomendo a opção 1 acima (acionar o MT5 por linha de comando) se isso realmente é relevante para você. Mas me parece mais elegante a ideia de criar sua própria nuvem, como referi antes.

E a opção mais plausível, seria um programa no python iniciar seu meta no pc, otimizar, seleciona r e aí gravar no arquivo CSV na nuvem para o META da VPS consultar e atualizar os parâmetros. Essa ideia dá pra fazer hoje em dia, no entanto está muito além de minha capacidade e conhecimento.

Isso é bem mais simples, você pode usar uma própria instância de MT5 para isso (é o que faço), veja mais detalhes em https://www.mql5.com/en/articles/1467

Obs: qualquer dificuldade é só abrir uma thread e perguntar que ajudo no que estiver ao meu alcance, e certamente aqui na comunidade tem vários usuários já fazendo isso e que poderão ajudar também.

Além de tudo isso, ainda tem a questão de eu estar ainda achando os melhores resultados com a IA mais simples, o que levanta a questão se realmente algo dinâmico funcionaria?

Eu prefiro separar a IA na área financeira e estratégica de IA que gera ROI e que não gera ROI. Ou, de forma mais abstrata, que atinge o objetivo proposto, já que nem sempre ROI é o objetivo direto (felizmente).

Por exemplo, se você tem uma rede rasa com um único Perceptron que ganha um campeonato, como já referi em outros posts, isso é o que interessa para aquele objetivo.

Nesse contexto, começar pelo mais simples, sem dúvida é um bom caminho, e você me parece no caminho certo (talvez falte apenas acreditar mais no potencial de IA e do MT5).

Entretanto, note que a complexidade de modelos de IA normalmente permitem representar informações muito mais complexas de forma muito mais precisa. Dificilmente você vai criar um modelo baseado em rede rasa para diagnóstico de imagem em padrões internacionais, ainda mais de doenças raras. Da mesma forma, no mercado de capitais, quem tiver os melhores modelos, poderá visualizar a próxima grande crise antes da maior parte dos players.

Se alguém consegue fazer isso de forma simples, ótimo, mas me parece um problema que depende de milhares, senão milhões de variáveis, e parâmetros, típico de modelos bem mais complexos. Como o cérebro do próprio gestor competente, que também depende de milhões de neurônios e sinapses, para construir uma boa estratégia ou visão. Isso sem comentar o que passa por sua mente, que nem ele mesmo consegue perceber ou entender, traduzida muitas vezes em decisões puramente intuitivas, não raro corretas.

Na verdade, trabalho a tanto tempo com IA e mercado que não consigo enxergar outro caminho e o cenário mais provável para mim é o de máquinas cada vez mais inteligentes ajustadas minimamente por gestores, cada vez mais qualificados. E isso me faz olhar para a maior parte das tecnologias baseadas apenas em automação, como a grande maior parte dos robôs atuais, principalmente baseados em indicadores conhecidos, como totalmente obsoleta. Mas posso estar errado, e essa é apenas minha visão (respeito todas demais), pois, como já comentei várias vezes, o mercado é infinitamente imprevisível, e cada um busca e compete com as ideias e ferramentas que considerar mais viáveis.

Sds.,
Rogério Figurelli

 
Rogerio Figurelli:

Olá Joao Luiz Sa Marchioro, obrigado mais uma vez pelo contraponto, sempre relevante para essa discussão.

Seguem minhas observações, item a item:

Entendi, mas penso que esse é um paradigma, e que, sim, é possível, das mais variadas formas.

Na verdade, esse é um excelente exemplo para o ponto que referi ao genial Alan Turing, pois ele é um exemplo dessa busca de soluções de contorno para quebra de paradigmas. Vou citar apenas três que utilizo atualmente, todas como soluções dedicadas:

1.É possível acionar o MT5 por linha de comando para executar uma otimização de forma automática, como você refere mais adiante, e não me parece algo tão complexo. Em alguns de meus clientes, principalmente Assets, isso é feito até mesmo para simular diariamente milhares de estratégias por backtesting.

2.Não é necessário treinar seu robô de IA (otimizar novamente) apenas através do Testador de Estratégias, esse pode ser apenas um primeiro treinamento para parâmetros mais genéricos ou até descoberta de hiperparâmetros (minha utilidade preferida). Em vários de meus robôs, e até mesmo indicadores, como já comentei, isso é feito em tempo real, em memória, basta que você crie seus próprios algoritmos e modelos para isso.

3.Não existe nenhuma regra no mercado em que você seja obrigado a utilizar em um robô no MT5 apenas modelos treinados pelo próprio MT5. No meu principal robô comercial (que não vou citar o nome aqui por ser a regra, e também por questões éticas), mais de 90% dos modelos são treinados diretamente nos servidores de minha empresa e utilizando várias plataformas de aprendizado de máquina, como por exemplo o Tensorflow do Google, que considero uma das mais abertas e completas para isso. Na verdade, grande parte dos hiperparâmetros podem ser descobertos em um ambiente assim, para ajuste fino no MT5. Evidentemente que um grande player leva vantagem nesse sentido, mas por outro lado, tecnologias abertas como do Google que citei, e outras em camadas mais abstratas, inclusive da própria linguagem Python, como a API Julia, criada no MIT (veja mais em https://courses.csail.mit.edu/18.337/2015/projects/PatrickLowe/6.338FinalProject.pdf), que abrem as portas para pequenos players e Fintechs criarem suas próprias tecnologias.

Minha visão é que VPS é apenas para execução do robô, não para otimização. A solução de otimização em nuvem do MT5, pioneira no mercado, é impressionante, e acompanho sua evolução desde o lançamento do MT5 em 2010. Evidentemente que existem custos para isso, mas no mercado todos sabemos que não existe almoço grátis e para descobrir bons modelos é necessário investir.

Outra alternativa, de menor custo, é manter uma farm própria, com pelo menos uma boa máquina com 8 núcleos de oitava geração.

Outra solução que faço também, permitindo otimização permanente e on the fly, para análise de visão em tempo real, é conectar os robôs a uma rede remota própria, de forma a poder distribuir a inteligência para os robôs clientes.

Se você é fornecedor de tecnologia, recomendo pensar nessa abordagem, pois aí você assume a complexidade de treinamento, principalmente de modelos mais complexos, dentro de uma nuvem própria, acessível aos usuários validados.

Tenho uma frase que diz que é "impossível provar o impossível", eventualmente coloco como citação em meus livros ;-)

Nesse caso, recomendo a opção 1 acima (acionar o MT5 por linha de comando) se isso realmente é relevante para você. Mas me parece mais elegante a ideia de criar sua própria nuvem, como referi antes.

Isso é bem mais simples, você pode usar uma própria instância de MT5 para isso (é o que faço), veja mais detalhes em https://www.mql5.com/en/articles/1467

Obs: qualquer dificuldade é só abrir uma thread e perguntar que ajudo no que estiver ao meu alcance, e certamente aqui na comunidade tem vários usuários já fazendo isso e que poderão ajudar também.

Eu prefiro separar a IA na área financeira e estratégica de IA que gera ROI e que não gera ROI. Ou, de forma mais abstrata, que atinge o objetivo proposto, já que nem sempre ROI é o objetivo direto (felizmente).

Por exemplo, se você tem uma rede rasa com um único Perceptron que ganha um campeonato, como já referi em outros posts, isso é o que interessa para aquele objetivo.

Nesse contexto, começar pelo mais simples, sem dúvida é um bom caminho, e você me parece no caminho certo (talvez falte apenas acreditar mais no potencial de IA e do MT5).

Entretanto, note que a complexidade de modelos de IA normalmente permitem representar informações muito mais complexas de forma muito mais precisa. Dificilmente você vai criar um modelo baseado em rede rasa para diagnóstico de imagem em padrões internacionais, ainda mais de doenças raras. Da mesma forma, no mercado de capitais, quem tiver os melhores modelos, poderá visualizar a próxima grande crise antes da maior parte dos players.

Se alguém consegue fazer isso de forma simples, ótimo, mas me parece um problema que depende de milhares, senão milhões de variáveis, e parâmetros, típico de modelos bem mais complexos. Como o cérebro do próprio gestor competente, que também depende de milhões de neurônios e sinapses, para construir uma boa estratégia ou visão. Isso sem comentar o que passa por sua mente, que nem ele mesmo consegue perceber ou entender, traduzida muitas vezes em decisões puramente intuitivas, não raro corretas.

Na verdade, trabalho a tanto tempo com IA e mercado que não consigo enxergar outro caminho e o cenário mais provável para mim é o de máquinas cada vez mais inteligentes ajustadas minimamente por gestores, cada vez mais qualificados. E isso me faz olhar para a maior parte das tecnologias baseadas apenas em automação, como a grande maior parte dos robôs atuais, principalmente baseados em indicadores conhecidos, como totalmente obsoleta. Mas posso estar errado, e essa é apenas minha visão (respeito todas demais), pois, como já comentei várias vezes, o mercado é infinitamente imprevisível, e cada um busca e compete com as ideias e ferramentas que considerar mais viáveis.

Sds.,
Rogério Figurelli

Valeu pelas explicações Rogério.

Concordo com a parte de indicadores e automação ser obsoleta, mas raciocinando a fundo, os indicadores, apesar de estatísticos, também seriam uma "forma" de IA, pois estão se ajustando o tempo todo. Na realidade indicadores estão sempre muito atrasados e não dão lucro, mas a utilização de uma dúzia deles com a IA selecionando a melhor combinação é o que está me dando os melhores resultados no período fora da amostragem e treinamento Quando tento aprofundar a IA ela diminui os resultados globais de todos os resultados da otimização, pessoalmente acredito que quanto mais profundo é a RN mais se perde a sensibilidade dos indicadores, pelo menos foi a explicação mais lógica que encontrei, mas ainda farei vários testes.

Obrigado pelos esclarecimentos. Abraços.

 
Joao Luiz Sa Marchioro:

Valeu pelas explicações Rogério.

Concordo com a parte de indicadores e automação ser obsoleta, mas raciocinando a fundo, os indicadores, apesar de estatísticos, também seriam uma "forma" de IA, pois estão se ajustando o tempo todo. Na realidade indicadores estão sempre muito atrasados e não dão lucro, mas a utilização de uma dúzia deles com a IA selecionando a melhor combinação é o que está me dando os melhores resultados no período fora da amostragem e treinamento Quando tento aprofundar a IA ela diminui os resultados globais de todos os resultados da otimização, pessoalmente acredito que quanto mais profundo é a RN mais se perde a sensibilidade dos indicadores, pelo menos foi a explicação mais lógica que encontrei, mas ainda farei vários testes.

Obrigado pelos esclarecimentos. Abraços.

Obrigado eu, Joao Luiz Sa Marchioro, excelente discussão!
 
Seja como for, e independentemente de seus estudos e preferências na área, gostaria de deixar claro que minhas críticas sobre os indicadores técnicos não estão relacionadas apenas ao uso de IA, mas em geral, pois penso que o grande problema desses indicadores, e dos robôs que usam eles, mesmo através de aprendizado de máquina profundo, ou outras ferramentas de alta complexidade, é que eles não possuem causalidade, e trabalham apenas sobre os efeitos.
 
Em outras palavras, atuar apenas nos efeitos, e não nas causas, só irá gerar ilusão, e perdas, no médio e longo prazo, mesmo se você aplicar um modelo sofisticado de deep learning para ajuste e seleção de indicadores, ou ainda dispor do melhor gestor de mercado para isso.
 
Por exemplo, se você colocar vários traders usando indicadores, mesmo com uma estratégia simples de cruzamento de médias móveis, alguns irão vencer, assim como se utilizar uma estratégia usando uma moeda para cima para escolher se entra comprado ou vendido no mercado. Esses que vencem, atuando no efeito, ou pelo acaso, podem até aparecer no topo de um ranking e contar para os demais traders que usam técnicas extremamente avançadas, mas sabemos que o que está funcionando aí é apenas a estatística de que em uma amostra grande, ou em um ranking qualquer, teremos vencedores e perdedores, por pior que seja o método usado por alguns.
 

Entretanto, com IA, você pode construir uma nova classe de indicadores, medindo aspectos diferenciados, como por exemplo os aspectos relacionados à limitação da racionalidade (bounded rationality) e o que influencia a tomada de decisão dos traders em geral. No MIT, alguns professores chamam isso de inteligência sobre a estupidez! Eu prefiro chamar de inteligência sobre a falta de inteligência.

Infelizmente, alguns grandes players fazem isso de forma não ética ou até ilegal, desenhando mercados para medir a racionalidade das decisões, e aplicando IA para escolha de decisões (vejo e detecto isso, de forma quantitativa, acontecendo o tempo todo no mercado futuro, de índice e dólar, principalmente). 

Outro exemplo de atuar nas causas, e não nos efeitos como os indicadores, é identificar anomalias de mercado usando IA, o que é muito comum na área de HFT e no uso de robôs que podem atuar na percepção e reação de anomalias em alta velocidade e frequência.
 
Portanto, quando me refiro à obsolescência dos indicadores técnicos, essa não é uma crítica a quem usa indicadores ou aos seus criadores, que sem dúvida trouxeram uma grande contribuição no passado para a análise técnica, mas ao fato de acreditar que o caminho hoje seja buscar atuar nas causas, e que a IA traz uma arsenal de ferramentas para isso.

Por sinal, note que a própria IA, baseada em Perceptron e suas origens, também ficou obsoleta, e hoje a competição é por modelos muito mais complexos e avançados.
 

E, como comentei em vários pontos, acredito que com o MT5 e com o estado da arte da inteligência artificial, seja possível fazer isso, cada vez mais, em níveis similares aos grandes players, mesmo esses dispondo de mais recursos técnicos e humanos. Preferencialmente (minha opinião) sem indicadores de análise técnica, sem nenhuma causalidade além do próprio fato de vários usuários usarem eles, o que é de alto risco, pois todos traders, e robôs, ficam suscetíveis às avançadas tecnologias de IA dos grandes players, e indicadores atuando nas reais causas dos movimentos dos preços e tendências do mercado.

Sds.,
Rogério Figurelli
 

Bom dia a todos,

Dentro do que estamos discutindo nessa thread, apresento abaixo um desafio e teste prático para qualquer sistema de robôs com IA.

Chamarei esse de um teste radical de capacidade de generalização da inteligência artificial.

O desafio consiste de três etapas:

1.Otimização inicial: fazer uma otimização com apenas os últimos 30 dias de mercado.

2.Teste de generalização: Com o Setup e aprendizado obtido em 1, fazer um backtesting de 365 dias (1 ano), com 12 meses anteriores totalmente desconhecidos pelo robô.

3.Avaliação de generalização: avaliar a curva de capital para verificar se houve consistência de aprendizado.

Exemplo real, com um setup e robô próprio:

Curva de capital e métricas antes (de 02/05/2019 a 02/06/2019):

Curva de capital antes (de 02/05/2019 a 02/06/2019):



Curva de capital e métricas depois (de 02/05/2018 a 02/06/2019):

Curva de capital depois (de 02/05/2018 a 02/06/2019)


Na prática, esse mesmo processo tem que ser possível de ser repetido para os mais variados setups obtidos pelo robô, para ser considerado válido, sempre partindo de uma amostra de 30 dias sem nenhum conhecimento dos 12 meses anteriores.

Sds.,
Rogério Figurelli

 
Rogerio Figurelli:
Obrigado eu, Joao Luiz Sa Marchioro, excelente discussão!
 
Seja como for, e independentemente de seus estudos e preferências na área, gostaria de deixar claro que minhas críticas sobre os indicadores técnicos não estão relacionadas apenas ao uso de IA, mas em geral, pois penso que o grande problema desses indicadores, e dos robôs que usam eles, mesmo através de aprendizado de máquina profundo, ou outras ferramentas de alta complexidade, é que eles não possuem causalidade, e trabalham apenas sobre os efeitos.
 
Em outras palavras, atuar apenas nos efeitos, e não nas causas, só irá gerar ilusão, e perdas, no médio e longo prazo, mesmo se você aplicar um modelo sofisticado de deep learning para ajuste e seleção de indicadores, ou ainda dispor do melhor gestor de mercado para isso.
 
Por exemplo, se você colocar vários traders usando indicadores, mesmo com uma estratégia simples de cruzamento de médias móveis, alguns irão vencer, assim como se utilizar uma estratégia usando uma moeda para cima para escolher se entra comprado ou vendido no mercado. Esses que vencem, atuando no efeito, ou pelo acaso, podem até aparecer no topo de um ranking e contar para os demais traders que usam técnicas extremamente avançadas, mas sabemos que o que está funcionando aí é apenas a estatística de que em uma amostra grande, ou em um ranking qualquer, teremos vencedores e perdedores, por pior que seja o método usado por alguns.
 

Entretanto, com IA, você pode construir uma nova classe de indicadores, medindo aspectos diferenciados, como por exemplo os aspectos relacionados à limitação da racionalidade (bounded rationality) e o que influencia a tomada de decisão dos traders em geral. No MIT, alguns professores chamam isso de inteligência sobre a estupidez! Eu prefiro chamar de inteligência sobre a falta de inteligência.

Infelizmente, alguns grandes players fazem isso de forma não ética ou até ilegal, desenhando mercados para medir a racionalidade das decisões, e aplicando IA para escolha de decisões (vejo e detecto isso, de forma quantitativa, acontecendo o tempo todo no mercado futuro, de índice e dólar, principalmente). 

Outro exemplo de atuar nas causas, e não nos efeitos como os indicadores, é identificar anomalias de mercado usando IA, o que é muito comum na área de HFT e no uso de robôs que podem atuar na percepção e reação de anomalias em alta velocidade e frequência.
 
Portanto, quando me refiro à obsolescência dos indicadores técnicos, essa não é uma crítica a quem usa indicadores ou aos seus criadores, que sem dúvida trouxeram uma grande contribuição no passado para a análise técnica, mas ao fato de acreditar que o caminho hoje seja buscar atuar nas causas, e que a IA traz uma arsenal de ferramentas para isso.

Por sinal, note que a própria IA, baseada em Perceptron e suas origens, também ficou obsoleta, e hoje a competição é por modelos muito mais complexos e avançados.
 

E, como comentei em vários pontos, acredito que com o MT5 e com o estado da arte da inteligência artificial, seja possível fazer isso, cada vez mais, em níveis similares aos grandes players, mesmo esses dispondo de mais recursos técnicos e humanos. Preferencialmente (minha opinião) sem indicadores de análise técnica, sem nenhuma causalidade além do próprio fato de vários usuários usarem eles, o que é de alto risco, pois todos traders, e robôs, ficam suscetíveis às avançadas tecnologias de IA dos grandes players, e indicadores atuando nas reais causas dos movimentos dos preços e tendências do mercado.

Sds.,
Rogério Figurelli

Concordo contigo sobre os Indicadores, mas infelizmente ainda não encontrei outra forma de utilizar a IA, tenho pensado constantemente em outras formas como a leitura de candle por exemplo, mas não consegui pensar num modelo viável ainda. Sobre a IA baseada em indicadores posso afirmar que no Índice consegui grandes resultados, mas no FOREX os resultados do mesmo sistema foram medíocres, o que ao meu ver põe em dúvida a viabilidade ou robustez do sistema.

 
Rogerio Figurelli:

Bom dia a todos,

Dentro do que estamos discutindo nessa thread, apresento abaixo um desafio e teste prático para qualquer sistema de robôs com IA.

Chamarei esse de um teste radical de capacidade de generalização da inteligência artificial.

O desafio consiste de três etapas:

1.Otimização inicial: fazer uma otimização com apenas os últimos 30 dias de mercado.

2.Teste de generalização: Com o Setup e aprendizado obtido em 1, fazer um backtesting de 365 dias (1 ano), com 12 meses anteriores totalmente desconhecidos pelo robô.

3.Avaliação de generalização: avaliar a curva de capital para verificar se houve consistência de aprendizado.

Exemplo real, com um setup e robô próprio:

Curva de capital e métricas antes (de 02/05/2019 a 02/06/2019):



Curva de capital e métricas depois (de 02/05/2018 a 02/06/2019):


Na prática, esse mesmo processo tem que ser possível de ser repetido para os mais variados setups obtidos pelo robô, para ser considerado válido, sempre partindo de uma amostra de 30 dias sem nenhum conhecimento dos 12 meses anteriores.

Sds.,
Rogério Figurelli

Acho 30 dias um prazo muito pequeno para treinamento pois um mercado passa por muitas oscilações e é preciso mais tempo para a IA passar por várias situações.

 
Joao Luiz Sa Marchioro:

Concordo contigo sobre os Indicadores, mas infelizmente ainda não encontrei outra forma de utilizar a IA, tenho pensado constantemente em outras formas como a leitura de candle por exemplo, mas não consegui pensar num modelo viável ainda. Sobre a IA baseada em indicadores posso afirmar que no Índice consegui grandes resultados, mas no FOREX os resultados do mesmo sistema foram medíocres, o que ao meu ver põe em dúvida a viabilidade ou robustez do sistema.

Olá Joao Luiz Sa Marchioro, obrigado por compartilhar, no mercado FX as lógicas são mais complexas pois como não é um mercado centralizado, você passa a depender muito da qualidade dos dados do Broker, principalmente para um backtesting com ao menos algum rigor científico. Isso sem contar com o fato de que, conforme o caso, o Broker pode estar operando contra você, ainda mais se estiver com alvos de SL/TP definidos. Além disso, com o impacto de grandes players internacionais, esse é um mercado, no meu entender, com riscos bem maiores para estratégias que não estiverem focadas em causalidade.
Seja como for, estudar e trabalhar em novos modelos, como você já está buscando, me parecem uma ótima opção, até porque temos uma área de Freelance no site que pode ajudar você ou qualquer outro algotrader nisso.
Sds.,
Rogério Figurelli

 
Joao Luiz Sa Marchioro:

Acho 30 dias um prazo muito pequeno para treinamento pois um mercado passa por muitas oscilações e é preciso mais tempo para a IA passar por várias situações.

Olá Joao Luiz Sa Marchioro, obrigado por compartilhar, concordo com você e por isso chamo esse de um desafio e teste radical, onde vejo a inteligência artificial como a ferramenta ideal para endereçar soluções para os diversos problemas de limitação de dados e forte incerteza sobre o futuro.
Sds.,
Rogério Figurelli

 
Rogerio Figurelli:

Olá Joao Luiz Sa Marchioro, obrigado por compartilhar, concordo com você e por isso chamo esse de um desafio e teste radical, onde vejo a inteligência artificial como a ferramenta ideal para endereçar soluções para os diversos problemas de limitação de dados e forte incerteza sobre o futuro.
Sds.,
Rogério Figurelli

Bem pensado.

Vou Analisar novas teorias para poder tentar me enquadrar nisso.

 
Trader_Patinhas #:

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.

Razão: