Интересный код, для тех, кто в теме.
Это подборка различных RL алгоритмов в реализации для трейдинга. Если пишете свой алго, возможно, тут есть что позаимствовать. Код, понятное дело, на Python. Для тех, кто не знает, что такое
reinforcement learning — погуглите, это действительно крутая штука. Имхо, это единственная технология machine learning, которая может дать что-то стоящее в трейдинге. Порог входа достаточно серьезный, но дорогу осилит идущий:)
Часть, которая завязана на принятии решении, сильно упрощена, но это реально неплохая стартовая точка.
таким, научным достаточно, дотошным и без воды.
там был раздел и про мультиагентное моделирование.
код как раз похож по философии, если я правильно понимаю, на это.
но среды в коде не видно, а это кмк самое главное:
написать среду взаимодействия агентов, с вознаграждениями и штрафами.
это моя программисткая мечта. всегда были интересны такие штуки.
помню ещё на спектруме, кажется, была такая игрушка, что-то а ля Life, где можно было создавать свои колонии со своими генами и правилами, и потом стравливать эти колонии и смотреть как они конкурируют.
такие вещи всегда очень интересны. но в части представления и визуализации мне в последнее время лень что-то делать. хотя лет 20 назад я с этого и начинал. может старые воспоминания про сложности тех лет и мешают.
вот
https://smart-lab.ru/blog/reviews/326309.php#comment5683454
https://www.dissercat.com/content/imitatsionnoe-modelirovanie-rynka-tsennykh-bumag-na-osnove-multiagentnogo-podkhoda
Но вот статья, совсем простая. С мотивирующими картинками для изучения ML :)
https://www.analyticsvidhya.com/blog/2018/10/predicting-stock-price-machine-learningnd-deep-learning-techniques-python/
cyb650, проверял, конечно :)
картинка, конечно, основана на сильно подогнанной модели, но некий смысл в ней есть.
Чёрный Трейдер, http://incompleteideas.net/book/the-book-2nd.html
на udemy и udacity есть кое-что по теме.
Я пол года убил на RL — вместо самописных алгоритмов лучше взять фреймворк типа tensorforce
У меня выходит, что она осваивает очень простые паттерны — типа цена вниз — купили, цена вверх — продал, о чем примерно и говорит эта картинка по ссылке
При этом понятно, что раз подобные алгоримты играют в Го и доту, то сложного поведения добиться можно.
Мои результаты примерно такие же:
исходя из моего опыта — очень плохо учиться, если брать в качестве вознаграждения чисто return. Кстати, с играми дело зачастую обстоит немного по другому. Там есть знания агента о среде намного более полные, чем в случае трейдинга.
day0markets, функция обучения PPO
в качестве целевой фунции — да, изменение equity, так как пробовал комбинации и остановился на этой. я не говорю, что она не учится, она учится чему-то очень простому. если дать ей специально зашумленную утечку будущего (+цену с random) — моментально это ухватывает и торгует как бог :)
а качестве action пробывал все что угодно
buy+1, sell-1,close_all,hold,full_long,full_short и комбинации этих вариантов от простого к сложному.
основное что я хотел от нее добиться — это способности жертвовать, то есть принимать решение о мгновенном убытке ради общей прибыли. как это сделать я не понял. мне показалось более прогрессивной идея с помощью rl алгоритма получать не набор политик, а значение какого-то параметра для робота — перевеса заявок в стакане, отступа от центра и стакана и тд. а все остальное отрабатывать обычным способом.
в итоговом результате не учитывается остаток акций на балансе после всех сделок. Получается неправильный расчет итога инвестиций total gains и total investment