Comments 13
Вся проблема в том, что агент обученный на прошлых данных, не зарабатывает на текущих. В остальном, было интересно почитать.
Проблема в том, что такой примитивный агент не способен реализовать прибыльную стратегию.
Но поскольку это учебный материал будем наращивать сложность постепенно и через пару статей подойдем к доходным реализациям.
Вот там сможем подискутировать предметно, пока это первый шаг для новичков.
Для этого необходимо точно определять фазу рынка, рост, падение, флет и в зависимости от этого уже переключать модель.
Робот имеет доступ только к объёмам и ценам торгов и не видит информацию по изменениям баланса, новостям о компании, объявленным дивидендам, верно?
В качестве базы для сравнения надо брать индекс, например Dow Jones (смотря на каком рынке тренируете) и если ваша стратегия не генерирует стабильный результат выше индекса, то можно даже не заморачиваться.
Подсказка: на длительном интервале вы не можете достичь доходность выше индекса. :)
Балыки этот спор уже выиграл :)
Так а где собственно performance statistics - beta, alpha, sharpe, max. drawdown хотя бы?
График equity увы ничего не скажет о стратегии.
Мне кажется, что спекулятивные рынки мучают нейросетями все кому не лень лет тридцать уже)
Вроде раньше уже роботы торговали акциями. Не очень удачно...
В статье приведен код с ошибками. Очевидно, автор его не тестировал.
строки кода с ошибками:
state_space = 1 + 2stock_dimension + len(INDICATORS)stock_dimension
Предположу, что в этой строке пропущен оператор умножение
---------------------------------
e_train_gym = StockTradingEnv(df = train, **env_kwargs)
Предположу, что в этой строке используется не определенный ранее указатель **env_kwargs.
-----------------
Кто может исправить текст кода?
Выложил полный исходник на GitHub:
https://github.com/stureiko/FinRL-Demo.git
Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением