На языке Питон научился строить красивые графики. Как я без этого раньше жил? Визуализация — наше всё.
Вопрос смарт-лабовским математикам.
Стратегия одна. Робот подбирает наилучшие параметры по историческим данным.
Вот график доходности с одним из параметров. С этим параметром у стратегии максимальная доходность.
Вертикальная ось — доход в рублях, горизонтальная ось — количество сделок.
В начале была глубокая просадка. Значит я этот вариант отвергаю не смотря на то, что в итоге он дал максимальную прибыль.
В работу будут взяты иные параметры, которые не дают высокой доходности, но у них нет просадок.
Как всё это анализировать?
График строился по такому ряду чисел (это накопленная прибыль в рублях):
---
Я в целом понимаю, что мне нужны коэффициенты Шарпа, Сортино...
Вот так считается Сортино:
Но я не смогу сам забить это в код в виде формулы. Я не понимаю что происходит под этим ужасным корнем. С Шарпом то же самое. Вижу, но не понимаю.
Подскажите пожалуйста как человеку с ограниченными способностями в математике отсекать плохие варианты доходности и оставлять хорошие.
Безмерно благодарен всем советчикам.
там гораздо удобнее и проще, да и графики там на порядок красивее можно делать.
Что касается коэффициентов, если не хотите считать руками, в R же есть пакет PerformanceAnalytics — в котором реализовано десятки коэффицентов - https://cran.r-project.org/web/packages/PerformanceAnalytics/vignettes/PA-Bacon.pdf
Ну и плюс shiny.
этсамое… под любой язык, в том числе под пайтон есть же фреймворки для бэктестов, они сами все показатели посчитают, даже формулы всяких Сортино не нужно знать. Правда сам я в этом не продвинулся, но когда год назад изучал, то себе вот такой короткий список составил:
На Хабре есть цикл переводов «Событийно-ориентированный бэктестинг на Python»5 частей. habr.com/company/iticapital/blog/263097/
Также есть «Объектно-ориентированная система бэктестинга на Python»
Я хз в чем различие, но возможно для нас есть разница. Отсюда может быть и будет разница по выбору фреймворка.
По фреймворкам для Питона рекомендации такие:
1) Backtrader (отличная документация и сообщество, удобная интеграция с питоном):
https://www.backtrader.com
https://github.com/mementum/backtrader
2) Zipline:https://github.com/quantopian/zipline
Вроде как медленный, но поддеживает Pandas
3) PyAlgoTrade:http://gbeced.github.io/pyalgotrade/
шустрее, чем ZipLine, но не поддерживает Pandas
4) bt — Flexible Backtesting for Python
https://pypi.python.org/pypi/bt
http://pmorissette.github.io/bt/
Хоть какое-то сравнение этих фрэймворков тут: https://www.quantstart.com/articles/backtesting-systematic-trading-strategies-in-python-considerations-and-open-source-frameworks
Обсуждение — сравнение: https://www.reddit.com/r/algotrading/comments/5bkhl7/pyalgotrade_vs_backtrader_python/
Еще больше фрэймворков, список тут: https://github.com/mementum/backtrader#alternatives
Насчёт графиков/свечек всё понятно, это легко.