Здарова комерады,
И так продолжим рассказ о том как тестировать обученного агента, о котором был рассказ тут:
https://smart-lab.ru/blog/655417.php
В общем пару дней обучал я нашего агента, и решил проверить как он там справляется с торговлей, тем более что на валидационных данных при использовании созданной торговой среды, он показывал уж очень приятные проценты. Что кстати, явилось сигналом проверить, а не сделал ли я какой ошибки. И конечно же, я ее сделал.
Ошибка оказалась простецкой, в обучающей среде, я выбирал изначально 20 исторических цен, 10 были видны сразу, каждая последующая добавлялась на следующем шаге. Однако сперва я проводил преобразование данных к промежутку от 0 до 1 в самом начале, по всем 20 значением сразу. Т.е. получилось что я как бы заглядываю в будущее %).
Ну да ладно, подумал я и все же решил протестировать как работает алгоритм. Для этого взял простенький питоновский фреймворк для бэктестинга, и прикрутил к нему обученного агента.
Как это делалось можно посмотреть в видео, там же в описании есть ссылка на код:
Спрева я протестировал на акциях интела за 2020 год… и о боже!!! получил аж 6% прибыли!!
Подумал, что это какая-то ошибка, и протестировал за тот же пиреод на акциях амд..
И да… тут мы получили минус 40% за год…
вот можно сравнить результы:
В целом при анализе агента выяснилось, что он довольно туповатый, и оооочень часто выбирает одну и туже модель поведения, вне зависимости от данных. Это совсем не удивительно, учитывая ошибку с приобразованием и всего несколько тысяч шагов обучения.
Копаем дальше ;).
Мне так жаль что умные программисты изобретают… колесо. Давно уже программы волнового анализа помогают трейдеру понять танец цены.Программы типа EWA 6.0 сами размечают волны на графике.Меня как старого и опытного трейдера только одно удивляет что волны размечаются не соразмерно циклам времени.Вот бы умным программистам решить этот вопрос?