Discussão do artigo "Robô de trading multithreaded com machine learning: da concepção à concretização"

 

Novo artigo Robô de trading multithreaded com machine learning: da concepção à concretização foi publicado:

O artigo apresenta o desenvolvimento passo a passo de um robô de trading multithreaded com machine learning com Python e MetaTrader 5. O texto analisa a arquitetura do sistema, da coleta de dados e criação de indicadores técnicos ao treinamento de modelos XGBoost com gestão de risco no nível do portfólio. Também detalha a implementação de data augmentation, a clusterização de atributos por meio de Gaussian Mixture Models e a coordenação de threads para operar vários pares de moedas em paralelo.

Este projeto nasceu da tentativa de reviver um dos meus códigos antigos. O código ficou por muito tempo guardado em discos rígidos empoeirados e, há bastante tempo, já não funciona corretamente: muita coisa mudou no ambiente de desenvolvimento ao longo desses anos. Decidi não apenas retomar o desenvolvimento, mas também contar esse processo passo a passo ao longo de vários artigos.

Inicialmente, a ideia original era desenvolver um robô multithreaded usando computação paralela de alto desempenho, talvez até com clusters na nuvem. Imagine a seguinte situação: você está sentado diante de vários monitores, observando o movimento dos pares de moedas, e percebe que o cérebro humano simplesmente não é capaz de acompanhar dezenas de instrumentos ao mesmo tempo, analisar centenas de atributos e tomar decisões na velocidade exigida pelos mercados modernos. É exatamente nesse momento que nasce a ideia de criar um robô de trading inteligente, capaz de operar com um portfólio de instrumentos e analisar décadas de dados em paralelo.

Mas por que exatamente Python, e não o MQL5 nativo? Essa pergunta certamente surge para qualquer pessoa que veja a arquitetura híbrida da nossa solução. A resposta está na natureza das tarefas que resolvemos. Machine learning exige bibliotecas poderosas como scikit-learn, XGBoost e pandas, um ecossistema que, em Python, parece ter sido criado para machine learning.

Outro motivo para essa escolha é que a arquitetura do nosso robô se baseia na filosofia de separação de responsabilidades e divisão de tarefas. O Python fica responsável pelo "cérebro": coleta de dados, pré-processamento, criação de atributos, treinamento dos modelos e geração dos sinais de trading. O MetaTrader 5, por meio de sua API para Python, atua como as "mãos": executa ordens, gerencia posições e fornece dados de mercado em tempo real.


Autor: Yevgeniy Koshtenko