Discusión sobre el artículo "Redes neuronales en el trading: Modelos del espacio de estados"

 

Artículo publicado Redes neuronales en el trading: Modelos del espacio de estados:

Una gran cantidad de los modelos que hemos revisado hasta ahora se basan en la arquitectura del Transformer. No obstante, pueden resultar ineficientes al trabajar con secuencias largas. En este artículo le propongo familiarizarse con una rama alternativa de pronóstico de series temporales basada en modelos del espacio de estados.

Recientemente, se ha generalizado el paradigma de adaptar grandes modelos a nuevos problemas previamente entrenados con grandes conjuntos de datos de origen aleatorios de una amplia gama de áreas, como texto, imágenes, audio, series temporales, etc.

Aunque este concepto es independiente de la elección específica de la arquitectura, la mayoría de los modelos se basan en un tipo de arquitectura: el Transformer y su capa central de Self-Attention. La eficacia de la capa de Self-Attention se debe a su capacidad de dirigir la información de forma precisa a una ventana de contexto, lo que permite modelar datos complejos. Sin embargo, esta propiedad posee desventajas fundamentales: la imposibilidad de modelar algo fuera de una ventana finita y el escalamiento cuadrático con respecto a la longitud de la ventana.

En problemas de modelado de secuencias, una solución alternativa podría ser el uso de modelos de secuencia del espacio de estados estructurados (Space Sequence Models — SSM). Estos modelos pueden interpretarse como una combinación de redes neuronales recurrentes (RNN) y redes neuronales convolucionales (CNN). Esta clase de modelos se puede calcular de forma muy eficiente usando una escala lineal o casi lineal de la longitud de la secuencia. Además, posee mecanismos fundamentales para modelar dependencias de largo alcance en ciertas modalidades de datos.

Uno de los algoritmos que permite usar modelos del espacio de estados para el pronóstico de series temporales se propone en el artículo "Mamba: Linear-Time Sequence Modeling with Selective State Spaces". En este se introduce una nueva clase de modelos del espacio de estados de muestra.


Autor: Dmitriy Gizlyk

 
Según tengo entendido, en su pipeline en el paso 1 necesitamos ejecutar Research.mq5 o ResearchRealORL.mq5 con detalles como los siguientes :

si se ejecuta Research.mq5:
Propósito:
Predecir acciones de trading (compra/venta, volumen, TP, SL) usando Encoder (Enc.nnw) y Actor (Act.nnw).
Recopilar las trayectorias de estas acciones y guardarlas en TotalBase.dat.
Requisitos:
Requiere un codificador (Enc.nnw) y un actor (Act.nnw) previamente entrenados.
Sin estos dos archivos, el EA no puede funcionar, ya que depende de ellos para codificar el estado del mercado y predecir las acciones.

Resultados: TotalBase.dat (datos binarios de la trayectoria).


si se ejecuta ResearchRealORL.mq5:
Finalidad:
Simular el comercio basado en la historia real de Signals\Signal1.csv (en lugar de predicciones de Actores).
Recoger las trayectorias de estas operaciones y guardarlas en TotalBase.dat.
Requisitos:
Requiere el archivo Signals\Signal1.csv que contiene el historial de operaciones (hora de apertura/cierre, tipo, volumen, precio, etc.).
No requiere Encoder o Actor, ya que utiliza los datos de Signal1.csv en lugar de la predicción.

Salida: TotalBase.dat (datos binarios de la trayectoria).


¿Cómo podemos ejecutar el paso 1 porque no tenemos un codificador (Enc.nnw) y un actor (Act.nnw) previamente entrenados, por lo que no podemos ejecutar Research.mq5, y no tenemos el archivo SignalsSignal1.csv, por lo que tampoco podemos ejecutar ResearchRealORL.mq5?

MetaQuotes:

Echa un vistazo al nuevo artículo: Redes Neuronales en Trading: Modelos de espacio de estados.

Autor: Dmitriy Gizlyk

 
trungns #:
Según tengo entendido, en su pipeline en el paso 1 necesitamos ejecutar Research.mq5 o ResearchRealORL.mq5 con detalles como los siguientes :

si se ejecuta Research.mq5:
Propósito:
Predecir acciones de trading (compra/venta, volumen, TP, SL) usando Encoder (Enc.nnw) y Actor (Act.nnw).
Recopilar las trayectorias de estas acciones y guardarlas en TotalBase.dat.
Requisitos:
Requiere un codificador (Enc.nnw) y un actor (Act.nnw) previamente entrenados.
Sin estos dos archivos, el EA no puede funcionar, ya que depende de ellos para codificar el estado del mercado y predecir las acciones.

Resultados: TotalBase.dat (datos binarios de la trayectoria).


si se ejecuta ResearchRealORL.mq5:
Finalidad:
Simular el comercio basado en la historia real de Signals\Signal1.csv (en lugar de predicciones de Actores).
Recoger las trayectorias de estas operaciones y guardarlas en TotalBase.dat.
Requisitos:
Requiere el archivo Signals\Signal1.csv que contiene el historial de operaciones (hora de apertura/cierre, tipo, volumen, precio, etc.).
No requiere Encoder o Actor, ya que utiliza los datos de Signal1.csv en lugar de la predicción.

Salida: TotalBase.dat (datos binarios de la trayectoria).


¿Cómo podemos ejecutar el paso 1 porque no tenemos un codificador (Enc.nnw) y un actor (Act.nnw) previamente entrenados, por lo que no podemos ejecutar Research.mq5, y no tenemos el archivo SignalsSignal1.csv, por lo que tampoco podemos ejecutar ResearchRealORL.mq5?

Hola,

En Research.mq5 puedes encontrar

//--- cargar 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;
     }
//---

Por lo tanto, si usted no tiene modelo preentrenado EA generará modelos con parámetros aleatorios. Y puedes recoger datos de trayectorias aleatorias.

Sobre ResearchRealORL.mq5 puedes leer más en el artículo.

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.