Discussão do artigo "Integração rápida de um grande modelo de linguagem com o MetaTrader 5 (Parte I): Criando o modelo"

 

Novo artigo Integração rápida de um grande modelo de linguagem com o MetaTrader 5 (Parte I): Criando o modelo foi publicado:

O artigo explora uma integração revolucionária entre grandes modelos de linguagem (LLM) e a plataforma de trading MetaTrader 5, na qual a AI não se limita a prever preços, mas toma decisões de negociação de forma autônoma, analisando o contexto do mercado como faria um trader experiente. O autor mostra a diferença fundamental entre os LLM e modelos clássicos de machine learning, como o CatBoost: a capacidade de metacognição e autorreflexão, que permite ao sistema aprender com os próprios erros e aprimorar sua estratégia.

Você criou um robô de trading. O backtest é perfeito: a curva sobe e a taxa de acerto chega a 70%. Mas, na conta real, o resultado é prejuízo. O algoritmo compra quando o RSI indica sobrevenda pouco antes de uma decisão do Fed, abre operações na sexta-feira à noite e ignora notícias capazes de virar o mercado. Ele enxerga o padrão, mas não enxerga o contexto.

Nem mesmo o machine learning resolve o problema. O CatBoost pode prever a direção de um candle com 73% de acerto, mas não entende que hoje a liquidez está baixa e o spread dobrou. O modelo sabe para onde o mercado pode ir, mas não sabe quando agir.

É preciso um sistema que pense, levando em conta gráficos, horário, dia da semana, notícias e volatilidade. Um sistema capaz de dizer: "Há um sinal, mas o risco não compensa. Vou deixar essa oportunidade passar".

Os grandes modelos de linguagem (LLM) oferecem essa flexibilidade. Sua força está nas propriedades emergentes: comportamentos complexos surgem da interação entre inúmeros elementos simples. É como no cérebro: cada neurônio isoladamente é primitivo, mas, em conjunto, eles dão origem à consciência. Os LLM funcionam segundo um princípio semelhante.


Autor: Yevgeniy Koshtenko

 
E como filtrar as alucinações? Até mesmo o Googlebot, em suas respostas, frequentemente troca “sim” por “não” (como se ignorasse a negação em frases do tipo “o recurso não é suportado” nos documentos originais e construísse a resposta com base na lógica de que “o recurso é suportado”), pega as especificações do objeto errado, sobre o qual você está perguntando, e assim por diante. É preciso verificar cada palavra da resposta nas fontes originais — ainda bem que elas estão disponíveis lá.
 
Stanislav Korotky #:
E como filtrar as alucinações? Até mesmo o Googlebot, em suas respostas, frequentemente troca “sim” por “não” (como se ignorasse a negação em frases do tipo “o recurso não é compatível” nos documentos originais e construísse a resposta com base na lógica de que “o recurso é compatível”), pega as características de um objeto diferente daquele sobre o qual você está perguntando, etc. Cada palavra da resposta precisa ser verificada nas fontes originais — felizmente, elas estão disponíveis lá.

Comecei a desenvolver esse tema há pouco tempo. Estou programando a API da OpenAI em MQL5 puro. E o servidor para o modelo é o llama.cpp.

É preciso dar ao modelo instruções matematicamente precisas ao máximo, exigir respostas claras, sem enrolação. Reduzir a temperatura ao mínimo (0–0,2) para que ele não invente coisas. Escolher os modelos locais maiores possíveis que o sistema consiga suportar (na minha VRAM de 12 Gb — até 15B, e com uma pequena lentidão — até 30B). Teste e escolha o melhor (e há muitos deles). Enquanto você faz isso, os modelos evoluem, e surgem modelos pequenos e inteligentes. Depois, é possível treinar o modelo posteriormente (LoRA). Se, Deus me livre, surgir a suspeita de que o projeto seja potencialmente lucrativo, dá para migrar para grandes modelos online pagos. Ou, pelo menos, fazer um upgrade no computador para 2 GPUs com 24 Gb e muita memória.

Trabalho não falta. Vamos ver. Tentamos trabalhar com os modelos, levando em conta suas peculiaridades.

 

Estou lendo um estudo sobre a aplicabilidade de diferentes tipos de LLM e seu treinamento/ajuste para a previsão de séries temporais:

Resumo do texto (desculpem pelo inglês, cliquem no botão para traduzir):

"Pretraining + Finetune" method performed the best 3 times, while "Random Initialization + Finetune" achieved this 8 times. This indicates that language knowledge offers very limited help for forecasting. However, "Pretrain + No Finetuning" and the baseline "Random Initialization + No Finetuning" performed the best 5 times and 0 times, respectively, suggesting that Language knowledge does not contribute meaningfully during the finetuning process.

Traduzindo para o russo: não faz sentido usar um modelo de linguagem pronto para a previsão de séries temporais; é melhor pegar um modelo em branco com uma nuvem de conexões (quanto mais, melhor, é claro) e treiná-lo com suas próprias séries temporais, sem ajuste posterior. A julgar pelas publicações, o tipo de embedding influencia bastante a qualidade — não sei se é possível selecioná-lo no Llama.

Resta a questão sobre a aplicabilidade dessa abordagem em hardware local acessível.

 
MetaQuotes:
Yevgeniy Koshtenko
Excelente artigo.
Eu também estou explorando as possibilidades dos LLMs para negociação nos mercados.
Trabalhar por meio de APIs como a da OpenAI acaba ficando caro rapidamente: milhares de solicitações por dia significam centenas de dólares por mês. Além disso, há limites, interrupções e o risco de vazamento de dados: suas estratégias vão parar nos servidores de terceiros.

Para negociações de médio prazo, a API não é tão cara assim. Tomemos, por exemplo, o timeframe de uma hora. A análise da situação de negociação após o fechamento da vela = 24 solicitações. No meu caso, isso dá de 0,20 a 0,50 centavos por dia (depende do tamanho do prompt). Modelo OpenAI gpt-5-mini.

 

E quais são os requisitos mínimos de hardware para rodar a configuração descrita no artigo?

No site ollama.com não consigo encontrar nada sobre isso...

 
Um artigo muito bem elaborado. Você se baseou em números para criticar os especialistas tradicionais, afirmando que eles apresentam uma taxa de sucesso de 70%, mas não compreendem o contexto. Isso é ótimo — você estabeleceu o número de 70% como referência para o desenvolvimento e a revisão. No entanto, li todo o seu artigo e não encontrei um único número que medisse a melhoria ou o desenvolvimento que você proporcionou usando modelos de linguagem local! Você não está agregando nenhum valor real dessa forma, apenas uma manchete chamativa.

Agora, vamos abordar os modelos de linguagem local... Trata-se de modelos cujo limite de conhecimento foi definido em um momento no passado (por exemplo, em 2024) e que possuem pesos congelados. Eles não conhecem o futuro, nem sabem que o preço do ouro já ultrapassou US$ 4.400 por onça.... Como você vai resolver esse problema? E essa é apenas uma questão entre milhares.

Nem todo artigo escrito sobre IA merece prioridade só porque tem um título atraente — por favor, não conte com a ignorância das pessoas. Se você puder fornecer números reais que confirmem a extensão da sua melhoria na qualidade ou em relação à taxa de sucesso de referência de 70%, por favor, mostre-nos.

 
Comecei a criar e fazer meus ajustes tá ficando show
Arquivos anexados:
ollama.jpg  322 kb