Discussão do artigo "Redes neurais em trading: Modelos de espaço de estados"

 

Novo artigo Redes neurais em trading: Modelos de espaço de estados foi publicado:

A base de muitos dos modelos que examinamos anteriormente é a arquitetura Transformer. No entanto, eles podem ser ineficientes ao lidar com sequências longas. Neste artigo, proponho uma abordagem alternativa de previsão de séries temporais com base em modelos de espaço de estados.

Recentemente, tornou-se amplamente difundida a adaptação de grandes modelos previamente treinados em grandes conjuntos de dados brutos de diversas áreas, como texto, imagens, áudio, séries temporais, entre outros, para novas tarefas.

Embora esse conceito não dependa de uma arquitetura específica, a maioria dos modelos é baseada em um único tipo de arquitetura: Transformer e sua camada principal, Self-Attention. A eficiência do Self-Attention deve-se à sua capacidade de direcionar informações de forma densa para a janela de contexto, o que permite modelar dados complexos. No entanto, essa característica apresenta desvantagens fundamentais: a incapacidade de modelar qualquer coisa além da janela final e o escalonamento quadrático em relação ao comprimento da janela.

Nas tarefas de modelagem de sequências, uma solução alternativa pode ser o uso de modelos estruturados de sequências em espaço de estados (Space Sequence Models SSM). Esses modelos podem ser interpretados como uma combinação de redes neurais recorrentes (RNN) e redes neurais convolucionais (CNN). Esta classe de modelos pode ser computada de maneira muito eficiente, com escalonamento linear ou quase linear em relação ao comprimento da sequência. Além disso, possui mecanismos fundamentais para modelar dependências de longo alcance em determinadas modalidades de dados.

Um dos algoritmos propostos no artigo "Mamba: Linear-Time Sequence Modeling with Selective State Spaces" permite o uso de modelos de espaço de estados para a previsão de séries temporais. Ele apresenta uma nova classe de modelos de espaço de estados seletivos.


Autor: Dmitriy Gizlyk

 
Pelo que entendi, em seu pipeline, na Etapa 1, precisamos executar o Research.mq5 ou o ResearchRealORL.mq5 com os detalhes a seguir:

Se executar Research.mq5:
Purpose (Objetivo ):
Prever ações de negociação (compra/venda, volume, TP, SL) usando Encoder (Enc.nnw) e Actor (Act.nnw).
Coletar trajetórias dessas ações e salvar no TotalBase.dat.
Requisitos:
Requer codificador (Enc.nnw) e ator (Act.nnw) previamente treinados.
Sem esses dois arquivos, o EA não pode ser executado, pois depende deles para codificar o estado do mercado e prever ações.

Saída: TotalBase.dat (dados binários da trajetória).


se executar ResearchRealORL.mq5:
Objetivo:
Simular negociações com base no histórico real de Signals\Signal1.csv (em vez de previsões de Actors).
Coletar trajetórias dessas negociações e salvar em TotalBase.dat.
Requisitos:
Requer o arquivo Signals\Signal1.csv que contém o histórico da negociação (hora de abertura/fechamento, tipo, volume, preço etc.).
Não é necessário codificador ou ator, pois ele usa dados do Signal1.csv em vez de previsão.

Saída: TotalBase.dat (dados binários da trajetória).


Então, como podemos executar a etapa 1 porque não temos o Encoder (Enc.nnw) e o Actor (Act.nnw) treinados anteriormente, portanto, não podemos executar o Research.mq5 e não temos o arquivo Signals\Signal1.csv, portanto, também não podemos executar o ResearchRealORL.mq5?

MetaQuotes:

Dê uma olhada no novo artigo: Redes neurais no comércio: Modelos de espaço de estado.

Autor: Dmitriy Gizlyk

 
trungns #:
Pelo que entendi, em seu pipeline, na Etapa 1, precisamos executar o Research.mq5 ou o ResearchRealORL.mq5 com os detalhes a seguir:

Se executar Research.mq5:
Purpose (Objetivo ):
Prever ações de negociação (compra/venda, volume, TP, SL) usando Encoder (Enc.nnw) e Actor (Act.nnw).
Coletar trajetórias dessas ações e salvar no TotalBase.dat.
Requisitos:
Requer codificador (Enc.nnw) e ator (Act.nnw) previamente treinados.
Sem esses dois arquivos, o EA não pode ser executado, pois depende deles para codificar o estado do mercado e prever ações.

Saída: TotalBase.dat (dados binários da trajetória).


se executar ResearchRealORL.mq5:
Objetivo:
Simular negociações com base no histórico real de Signals\Signal1.csv (em vez de previsões de Actors).
Coletar trajetórias dessas negociações e salvar em TotalBase.dat.
Requisitos:
Requer o arquivo Signals\Signal1.csv que contém o histórico da negociação (hora de abertura/fechamento, tipo, volume, preço etc.).
Não é necessário codificador ou ator, pois ele usa dados do Signal1.csv em vez de previsão.

Saída: TotalBase.dat (dados binários da trajetória).


Então, como podemos executar a etapa 1 porque não temos o Encoder (Enc.nnw) e o Actor (Act.nnw) treinados anteriormente, portanto, não podemos executar o Research.mq5 e não temos o arquivo Signals\Signal1.csv, portanto, também não podemos executar o ResearchRealORL.mq5?

Olá,

No Research.mq5, você pode encontrar

//--- carregar modelos
   float temp;
//---
   if(!Encoder.Load(FileName + "Enc.nnw", temp, temp, temp, dtStudied, true))
     {
      CArrayObj *encoder = new CArrayObj();
      if(!CreateEncoderDescriptions(encoder))
        {
         delete encoder;
         return INIT_FAILED;
        }
      if(!Encoder.Create(encoder))
        {
         delete encoder;
         return INIT_FAILED;
        }
         delete encoder;
     }
   if(!Actor.Load(FileName + "Act.nnw", temp, temp, temp, dtStudied, true))
     {
      CArrayObj *actor = new CArrayObj();
      CArrayObj *critic = new CArrayObj();
      if(!CreateDescriptions(actor, critic))
        {
         delete actor;
         delete critic;
         return INIT_FAILED;
        }
      if(!Actor.Create(actor))
        {
         delete actor;
         delete critic;
         return INIT_FAILED;
        }
      delete actor;
      delete critic;
     }
//---

Portanto, se você não tiver um modelo pré-treinado, o EA gerará modelos com parâmetros aleatórios. E você pode coletar dados de trajetórias aleatórias.

Sobre o ResearchRealORL.mq5, você pode ler mais no artigo.

Neural networks made easy (Part 67): Using past experience to solve new tasks
Neural networks made easy (Part 67): Using past experience to solve new tasks
  • www.mql5.com
In this article, we continue discussing methods for collecting data into a training set. Obviously, the learning process requires constant interaction with the environment. However, situations can be different.