Diskussion zum Artikel "Neuronale Netze im Handel: Zustandsraummodelle"

 

Neuer Artikel Neuronale Netze im Handel: Zustandsraummodelle :

Ein Großteil der bisher untersuchten Modelle basiert auf der Transformer-Architektur. Bei langen Sequenzen können sie jedoch ineffizient sein. In diesem Artikel werden wir uns mit einer alternativen Richtung der Zeitreihenprognose auf der Grundlage von Zustandsraummodellen vertraut machen.

In jüngster Zeit hat sich das Paradigma der Anpassung großer Modelle an neue Aufgaben immer mehr durchgesetzt. Diese Modelle werden mit umfangreichen Datensätzen trainiert, die beliebige Rohdaten aus einem breiten Spektrum von Bereichen enthalten, darunter Text, Bilder, Audio, Zeitreihen und vieles mehr.

Obwohl dieses Konzept nicht an eine bestimmte Architektur gebunden ist, basieren die meisten Modelle auf einer einzigen Architektur – dem Transformer und seiner Kernschicht, der Selbstaufmerksamkeit (Self-Attention). Die Effizienz der Selbstaufmerksamkeit wird auf die Fähigkeit zurückgeführt, Informationen innerhalb eines kontextuellen Fensters zu verdichten, was die Modellierung komplexer Daten ermöglicht. Diese Eigenschaft hat jedoch grundlegende Einschränkungen: die Unfähigkeit, etwas zu modellieren, was über das endliche Fenster hinausgeht, und die quadratische Skalierung in Bezug auf die Fensterlänge.

Eine alternative Lösung für Sequenzmodellierungsaufgaben besteht in der Verwendung strukturierter Sequenzmodelle im Zustandsraum (Space Sequence Models, SSM). Diese Modelle können als eine Kombination aus rekurrenten neuronalen Netzen (RNNs) und faltigen neuronalen Netzen (CNNs) interpretiert werden. Diese Klasse von Modellen kann sehr effizient mit linearer oder nahezu linearer Skalierung der Sequenzlänge berechnet werden. Außerdem verfügt es über inhärente Mechanismen zur Modellierung weitreichender Abhängigkeiten in bestimmten Datenmodalitäten.

Ein Algorithmus, der die Verwendung von Zustandsraummodellen für die Zeitreihenprognose ermöglicht, wurde in dem Beitrag „Mamba: Linear-Time Sequence Modeling with Selective State Spaces“. In diesem Beitrag wird eine neue Klasse von selektiven Zustandsraummodellen vorgestellt.

 

Autor: Dmitriy Gizlyk

 
Wie ich verstanden habe, müssen wir in Ihrer Pipeline in Schritt 1 Research.mq5 oder ResearchRealORL.mq5 mit den folgenden Details ausführen:

wenn Research.mq5 ausgeführt wird:
Zweck:
Vorhersage von Handelsaktionen (Kauf/Verkauf, Volumen, TP, SL) unter Verwendung von Encoder (Enc.nnw) und Actor (Act.nnw).
Sammeln der Trajektorien dieser Aktionen und Speichern in TotalBase.dat.
Anforderungen:
Erfordert einen zuvor trainierten Encoder (Enc.nnw) und Actor (Act.nnw).
Ohne diese beiden Dateien kann der EA nicht laufen, da er auf sie angewiesen ist, um den Marktzustand zu kodieren und Aktionen vorherzusagen.

Ausgabe: TotalBase.dat (binäre Trajektoriendaten).


wenn ResearchRealORL.mq5 ausgeführt wird:
Zweck:
Simulation des Handels auf der Grundlage des tatsächlichen Verlaufs von Signals\Signal1.csv (anstelle von Vorhersagen von Actors).
Sammeln Sie die Trajektorien aus diesen Trades und speichern Sie sie in TotalBase.dat.
Anforderungen:
Erfordert die Datei Signals\Signal1.csv, die die Handelshistorie enthält (Zeitpunkt des Öffnens/Schließens, Typ, Volumen, Preis usw.).
Kein Encoder oder Actor erforderlich, da Daten aus Signal1.csv anstelle von Vorhersagen verwendet werden.

Ausgabe: TotalBase.dat (binäre Trajektoriendaten).


Wie können wir also Schritt 1 ausführen, weil wir keinen zuvor trainierten Encoder (Enc.nnw) und Actor (Act.nnw) haben und daher Research.mq5 nicht ausführen können, und wir haben keine Signals\Signal1. csv-Datei, so dass wir auch ResearchRealORL.mq5 nicht ausführen können ?

MetaQuotes:

Sehen Sie sich den neuen Artikel an: Neuronale Netzwerke im Handel: Zustandsraum-Modelle.

Autor: Dmitriy Gizlyk

 
trungns #:
Wie ich verstanden habe, müssen wir in Ihrer Pipeline in Schritt 1 Research.mq5 oder ResearchRealORL.mq5 mit den folgenden Details ausführen:

wenn Research.mq5 ausgeführt wird:
Zweck:
Vorhersage von Handelsaktionen (Kauf/Verkauf, Volumen, TP, SL) unter Verwendung von Encoder (Enc.nnw) und Actor (Act.nnw).
Sammeln der Trajektorien dieser Aktionen und Speichern in TotalBase.dat.
Anforderungen:
Erfordert einen zuvor trainierten Encoder (Enc.nnw) und Actor (Act.nnw).
Ohne diese beiden Dateien kann der EA nicht laufen, da er auf sie angewiesen ist, um den Marktzustand zu kodieren und Aktionen vorherzusagen.

Ausgabe: TotalBase.dat (binäre Trajektoriendaten).


wenn ResearchRealORL.mq5 ausgeführt wird:
Zweck:
Simulation des Handels auf der Grundlage des tatsächlichen Verlaufs von Signals\Signal1.csv (anstelle von Vorhersagen von Actors).
Sammeln Sie die Trajektorien aus diesen Trades und speichern Sie sie in TotalBase.dat.
Anforderungen:
Erfordert die Datei Signals\Signal1.csv, die die Handelshistorie enthält (Zeitpunkt des Öffnens/Schließens, Typ, Volumen, Preis usw.).
Kein Encoder oder Actor erforderlich, da Daten aus Signal1.csv anstelle von Vorhersagen verwendet werden.

Ausgabe: TotalBase.dat (binäre Trajektoriendaten).


Wie können wir also Schritt 1 ausführen, weil wir keinen zuvor trainierten Encoder (Enc.nnw) und Actor (Act.nnw) haben , so dass wir Research.mq5 nicht ausführen können, und wir haben keine Signals\Signal1. csv-Datei, so dass wir ResearchRealORL.mq5 auch nicht ausführen können ?

Hallo,

In Research.mq5 finden Sie

//--- Modelle laden
   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;
     }
//---

Wenn Sie also kein vortrainiertes Modell haben, generiert EA Modelle mit zufälligen Parametern. Und Sie können Daten von zufälligen Trajektorien sammeln.

Über ResearchRealORL.mq5 können Sie mehr im Artikel lesen.

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.