Обсуждение статьи "Нейросети — это просто (Часть 46): Обучение с подкреплением, направленное на достижение целей (GCRL)"

 

Опубликована статья Нейросети — это просто (Часть 46): Обучение с подкреплением, направленное на достижение целей (GCRL):

Предлагаю Вам познакомиться с ещё одним направлением в области обучения с подкреплением. Оно называется обучением с подкреплением, направленное на достижение целей (Goal-conditioned reinforcement learning, GCRL). В этом подходе агент обучается достигать различных целей в определенных сценариях.

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

Второй момент, на вход энкодера мы подаем только текущее состояние окружающей среды. В нашем случае это исторические данные движения цены инструмента и показатели анализируемых индикаторов. То есть мы исключаем информацию о состоянии счета. Предполагаем, что на основании исторических данных планировщик (в данном случае энкодер) сформирует используемый навык. Это может быть политика работы на растущем или падающем рынке. А может быть торговля во флете.

А уже на основе информации о состоянии счета мы сформируем подзадачу Агенту поиск точки входа в позицию или точки выхода из неё.

График тестирования


К положительным моментам использования метода GCRL можно отнести сокращение времени удержания позиции. В процессе тестирования максимальное время удержания позиции составило 21 час 15 минут. Среднее время удержания позиции 5 часов 49 минут. Напомню, что за невыполнение задачи закрытия позиции мы устанавливали штраф в размере 1/10 накопленной прибыли за каждый час удержания. То есть после 10 часов удержания штраф превышал доход от позиции.

Автор: Dmitriy Gizlyk

 
Я не смог воспроизвести ваши результаты, основываясь на файлах загрузки mql5 и диапазонах дат исторических и тестовых данных.
 

Отличная статья.

Найджел, вы не единственный.

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

Например:

"Завершив работу над советником для сбора базы данных примера "GCRL\Research.mq5", мы запускаем его в режиме медленной оптимизации в тестере стратегий".

Простой вопрос - какие параметры нужно оптимизировать?

 
Chris тестере стратегий".

Собственно, простой вопрос - какие параметры нужно оптимизировать?

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

 
Dmitriy Gizlyk #:

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

Здравствуйте Дмитрий,

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

Тестовая стратегия генерирует две серии ордеров, разделенных во времени. Сначала ордера на покупку, затем на продажу.

Ордера на продажу никогда не закрываются, кроме момента окончания периода тестирования.

Такое же поведение наблюдается и при тестировании других стратегий, поэтому ошибка должна быть в классе, общем для ваших стратегий.

Другая потенциальная причина - некоторая восприимчивость к начальному состоянию тестов.

Прилагаю отчет о своем тестировании.

Файлы: