Обсуждение статьи "Нейросети в трейдинге: Модели пространства состояний"

 

Опубликована статья Нейросети в трейдинге: Модели пространства состояний:

В основе большого количества рассмотренных нами ранее моделей лежит архитектура Transformer. Однако они могут быть неэффективны при работе с длинными последовательностями. И в этой статье я предлагаю познакомиться с альтернативным направлением прогнозирования временных рядов на основе моделей пространства состояний.

В последнее время широкое распространение получила парадигма адаптации к новым задачам больших моделей, предварительно обученных на больших массивах произвольных исходных данных из широкого спектра областей, таких как текст, изображения, аудио, временные ряды и прочее.

Хотя эта концепция не зависит от конкретного выбора архитектуры, но большинство моделей основано на одно типе архитектуры — Transformer и его основном слое Self-Attention. Эффективность Self-Attention объясняется способностью плотно направлять информацию в контекстное окно, что позволяет моделировать сложные данные. Однако это свойство имеет принципиальные недостатки — невозможность моделировать что-либо за пределами конечного окна, и квадратичное масштабирование по отношению к длине окна.

В задачах моделирования последовательностей альтернативным решением может стать использование структурированных моделей последовательностей в пространстве состояний (Space Sequence Models — SSM). Эти модели можно интерпретировать как комбинацию рекуррентных нейронных сетей (RNN) и сверточных нейронных сетей (CNN). Данный класс моделей может быть очень эффективно вычислен с линейным или почти линейным масштабированием длины последовательности. Кроме того, у него есть принципиальные механизмы моделирования дальних зависимостей в определенных модальностях данных.

Один из алгоритмов, который позволяет использовать модели пространства состояний для прогнозирования временных рядов, был предложен в статье "Mamba: Linear-Time Sequence Modeling with Selective State Spaces". В ней представлен новый класс выборочных моделей пространства состояний.



Автор: Dmitriy Gizlyk

 
Как я понимаю, в вашем конвейере на шаге 1 нам нужно запустить Research.mq5 или ResearchRealORL.mq5 с деталями, как показано ниже :

если запустить Research.mq5:
Цель:
Прогнозирование торговых действий (покупка/продажа, объем, TP, SL) с помощью Encoder (Enc.nnw) и Actor (Act.nnw).
Соберите траектории этих действий и сохраните в TotalBase.dat.
Требования:
Требуется предварительно обученные кодировщик (Enc.nnw) и актор (Act.nnw).
Без этих двух файлов советник не сможет работать, поскольку они используются для кодирования состояния рынка и прогнозирования действий.

Выходные данные: TotalBase.dat (бинарные данные траектории).


если запустить ResearchRealORL.mq5:
Цель:
Моделирование торговли на основе реальной истории из файла Signals\Signal1.csv (вместо прогнозов из Actors).
Соберите траектории этих торгов и сохраните их в файле TotalBase.dat.
Требования:
Требуется файл Signals\Signal1.csv, содержащий историю сделок (время открытия/закрытия, тип, объем, цена и т. д.).
Не требуется кодировщик или актор, так как вместо предсказания используются данные из Signal1.csv.

Выходные данные: TotalBase.dat (данные бинарной траектории).


Как же нам выполнить шаг 1, ведь у нас нет ранее обученных Encoder (Enc.nnw) и Actor (Act.nnw), поэтому мы не можем запустить Research.mq5, и у нас нет файла Signals\Signal1.csv, поэтому мы не можем запустить ResearchRealORL.mq5 тоже?

 
trungns #:
Как я понимаю, в вашем конвейере на шаге 1 нам нужно запустить Research.mq5 или ResearchRealORL.mq5 с деталями, как показано ниже :

если запустить Research.mq5:
Цель:
Прогнозирование торговых действий (покупка/продажа, объем, TP, SL) с помощью Encoder (Enc.nnw) и Actor (Act.nnw).
Соберите траектории этих действий и сохраните в TotalBase.dat.
Требования:
Требуется предварительно обученные кодировщик (Enc.nnw) и актер (Act.nnw).
Без этих двух файлов советник не сможет работать, поскольку они используются для кодирования состояния рынка и прогнозирования действий.

Выходные данные: TotalBase.dat (бинарные данные траектории).


если запустить ResearchRealORL.mq5:
Цель:
Моделирование торговли на основе реальной истории из файла Signals\Signal1.csv (вместо прогнозов из Actors).
Соберите траектории этих торгов и сохраните их в файле TotalBase.dat.
Требования:
Требуется файл Signals\Signal1.csv, содержащий историю сделок (время открытия/закрытия, тип, объем, цена и т. д.).
Не требуется кодировщик или актор, так как вместо предсказаний используются данные из Signal1.csv.

Выходные данные: TotalBase.dat (данные бинарной траектории).


Как же нам выполнить шаг 1, ведь у нас нет ранее обученных Encoder (Enc.nnw) и Actor (Act.nnw), поэтому мы не можем запустить Research.mq5, и у нас нет файла Signals\Signal1.csv, поэтому мы не можем запустить ResearchRealORL.mq5 тоже?

Здравствуйте,

В Research.mq5 вы можете найти

//--- загрузить модели
   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;
     }
//---

Таким образом, если у вас нет предварительно обученной модели, EA будет генерировать модели со случайными параметрами. И вы можете собирать данные по случайным траекториям.

О ResearchRealORL.mq5 вы можете подробнее прочитать в статье.

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.