Aprendizagem profunda, IA, redes neurais no SQ4
14 respostas
Marca Fric
6 anos atrás #233156
Gostaria de abrir uma discussão sobre isso, o que e como exatamente integrá-lo/utilizá-lo com o SQ4.
Nosso plano atual é desenvolver um módulo de rede neural personalizado que será capaz de treinar a NN para produzir sinais de negociação.
Como funcionará do ponto de vista dos usuários:
- O usuário configura as entradas - lista de sinais/indicadores a serem usados no NN, algumas propriedades do NN, dados de backtest etc.
- O SQ4 treinará o NN nos dados históricos usando a evolução genética
- O resultado será uma estratégia com código-fonte completo que usa a Rede Neural TREINADA para produzir sinais de compra/venda/manutenção/saída. A estratégia pode ser usada no Mt4 ou em outra plataforma de negociação
Temos o 50% pronto, que deve ser bastante simples de usar.
Estou aberto a discussões sobre quais são suas expectativas em relação à aprendizagem profunda e sua ideia de como ela deve funcionar com a SQ4.
Nossa implementação descrita acima é uma solução "fixa", sem muitas personalizações possíveis. Não nos opomos à integração do SQ com o TensorFlow ou solução semelhante, para oferecer mais flexibilidade ao processo de aprendizagem profunda.
Devemos apenas determinar como integrá-lo, o que deve ser feito por parte da SQ para que funcione e seja o mais flexível possível.
Marcar
EstratégiaQuant arquiteto
FILIPE BONALDO ACERBI
6 anos atrás #233195
Olá Mark,
Este tópico é muito bom. Quero compartilhar minha experiência sobre NN.
No ano passado, implementei um perceptron supervisionado de várias camadas no mql4 com o método de aprendizado de retropropagação de erros. Minhas entradas são as últimas X barras de preços de alta, baixa e fechamento, além de outro indicador de preço, como as médias móveis. Assim, por exemplo, a cada nova barra, o EA obtém os últimos 10 preços de alta, baixa e fechamento das barras como entrada para o NN. O resultado esperado será 1 se o preço futuro atingir o TP (+2 ATR do último preço de abertura) e -1 se o preço futuro atingir o ST (-2 ATR do último preço de abertura).
O NN é executado para cada barra e eu testei por um longo período, mas o resultado final é que o NN não treinou e não tem nenhuma vantagem.
Após algumas pesquisas, descobri que o NN não treina se o mercado tiver vários padrões ou padrões de velas e, nesse modelo que construí, eu estava apresentando vários padrões para o NN e é por isso que o NN não estava treinando. Porque cada padrão tem sua vantagem. O ideal é apresentar apenas um padrão para cada NN e tentar treinar esse padrão específico.
Portanto, primeiro precisamos classificar padrões semelhantes e inserir um padrão específico no NN para ver se ele pode ser treinado.
Então, encontrei uma nova abordagem para implementar e estou trabalhando nela por enquanto. A primeira tarefa é o agrupamento de padrões semelhantes. Encontrei um bom algoritmo chamado BIRCH clustering (balanced iterative reducing and clustering using hierarchies) para classificar padrões. Com o agrupamento BIRCH, posso filtrar padrões semelhantes como o gráfico em anexo.
Como podemos ver, cada caixa retangular é um padrão específico e acho que essa é a melhor maneira de implementar o NN.
Depois de classificarmos os padrões, apresentamos a um NN e verificamos se ele pode treinar esse padrão específico.
devonkyle
6 anos atrás #233221
O Tensorflow seria interessante ou uma das variações do Tensorflow Lite ou do Keras. Preferiria muito mais ver uma integração com outros pacotes Python, como o scikit-learn. Acredito que os métodos Random Forest e Ensembles funcionariam bem com o GP. O Pymc3 para modelagem bayesiana seria uma boa adição (para a versão 5 ou 6 :))
Já houve alguma discussão sobre o preço do caminho de atualização da versão 3 para a 4 ou é mais uma questão de esperar para ver por enquanto?
Ganhos globais
5 anos atrás #233481
Acho que, com o estado atual da chamada IA, é melhor integrá-la ao processo de busca de estratégias do que à tomada de decisões de negociação.
Não vi nenhuma prova de aprendizado de máquina, aprendizado profundo etc. para obter lucro em contas reais.
drayzen
5 anos atrás #233629
Olá Mark,
Recentemente, encontrei esse gerador de EA da BJF (http://eagenerator.com/) que, ao que parece, é apenas o Hlaiman (http://hlaiman.com/) produto reembalado por um preço muito mais alto...
Há um EA e um indicador de demonstração em MQL5.com, bem como alguns artigos do criador sobre seu uso: https://www.mql5.com/en/search#!keyword=hlaiman
Aqui está a documentação deles: http://hlaiman.com/download/EA%20Generator/Using%20EA%20Generator%20EN.pdf
Percebi que há também alguns artigos sobre tópicos neurais: https://www.mql5.com/en/search#!keyword=neural
Provavelmente, é um uso melhor do tempo do que simplesmente rolar os dados... 😉
... o estrangeiro não se preocupa com as opiniões dos humanos ...
desenvolvedoralgo222
5 anos atrás #235124
Por que você acha que o DL no SQ4 não funcionaria? Que experiência em IA você tem? Tudo depende de como e quais algoritmos você usa para implementar sua arquitetura. A IA, por si só, exige um conhecimento profundo do que você está fazendo e do que deseja realizar.
Simplesmente juntar alguns algoritmos de IA incompletos (geralmente algoritmos superficiais supervisionados) para resolver o problema do domínio de negociação é uma ideia de principiante.
A IA funciona se você tiver o conhecimento certo e usá-lo corretamente; caso contrário, é como disparar uma metralhadora às cegas e esperar acertar o alvo.
ytu
5 anos atrás #234129
Olá Mark,
Você já pensou no ENCOG Machine Learning? Ele tem uma biblioteca JAVA (dê uma olhada neste link - https://github.com/encog).
Como o SQ também é baseado em JAVA, talvez os dois possam se misturar e se complementar melhor do que o Phyton ou outros pacotes.
O ENCOG está no mercado há muitos anos e tem se mostrado muito estável e rápido. Quanto às séries temporais, ele tem o RNN.
clonex / Ivan Hudec
5 anos atrás #235145
entalhe 😀 😀 😀 😀 😉
mikeyc
5 anos atrás #235350
Minha opinião é que o esforço é melhor gasto para que o SQ4 seja totalmente confiável e livre de bugs.
A NN e outras técnicas não lineares de ML apenas adicionarão mais ajustes de curva em muitos casos.
tightpips
5 anos atrás #235364
Essa é uma ótima ideia e uma conversa. Eu adoraria ver como a implementação desse módulo funcionará com o SQ4, a utilização e a interface do usuário do MS Azure ML é algo a ser analisado.
mattedmonds
3 anos atrás #268795
Isso progrediu nos últimos dois anos?
Aram Mohammed
2 anos atrás #274233
Estou muito curioso para ver esse recurso implementado no SQX. Houve algum progresso nesse recurso ultimamente?
Arvid Mock
1 ano atrás #279615
Olá, equipe do Strategyquant,
Você concluiu o desenvolvimento da integração de redes neurais no SQ?
Obrigado por sua resposta.
Saudações, Arvid
tom
1 ano atrás #279799
Sim, qualquer atualização sobre isso seria muito bem-vinda.
Keelan Brettner
1 ano atrás #280238
Mal posso esperar !!! Já está pronto? Como faço para obtê-lo? Estou tentando fazer algo para o mt5, pois minha corretora tem condições personalizadas incríveis
tomas262
1 ano atrás #280250
Hi,
As redes neurais/aprendizagem profunda de várias camadas não fazem parte do SQX no momento, mas temos planos de implementá-las no futuro. No entanto, não podemos prometer nenhuma data em que isso poderá estar disponível
Visualizando 15 respostas - 1 até 15 (de um total de 15)