Один из самых простых способов делать устойчивых на длинном периоде времени роботов – оптимизировать роботов при помощи кросс-тестов – это, когда Вы свою стратегию тестируете на десятках или сотнях бумаг одновременно на одном портфеле.
В отличии от Walk-Forwards и различных техник «Тестирования с подтверждением», этот способ оптимизации стратегий сильно проще для понимания и даёт при этом не худшие результаты по робастности, а иногда и лучшие.

Данный пост - старт серии статей, в которой мы будем:
- Разбираться с тем, что такое скринеры, что такое источник BotTabScreener в архитектуре роботов OsEngine.
- Разбираться, как делать воистину ГРААЛЬных роботов с примерами и совместными тестами.
- Разбираться с тем, как вести тесты скринеров в тестере и оптимизаторе OsEngine.
1. О робастности и зачем нужны кросс-тесты.
Просто подобрать настройки для робота в тестере – не достаточно. В 99% случаев, если Вы так сделаете, Вы потом в реале деньги сольёте, т.к. результаты таких тестов будут просто подгонкой под конкретный график.
Степень работоспособности стратегии в реале называется «Робастность».
Чтобы эту самую «Робастность» поднимать, существуют различные способы оптимизации роботов. Один из способов – это кросс-тесты. То, про что мы будем говорить в данной серии постов.
2. Разновидности Cross-Tests.
В целом, логика кросс-тестирования выглядит вот так: берём множество бумаг и тестируем на них одну стратегию, просматривая прибыльность на каждой отдельной бумаге, и, если везде плюсминус рост, стратегия хорошая:

При этом, можно разделить возможные кросс-тесты на два подвида:

- Монокросс-тесты – когда происходит серия изолированных тестов стратегии на разных инструментах. Это тоже работает и называется кросс-тестами, но такое мы рассматривать не будем, ибо это не удобно при наличии второго способа.
- Портфельные кросс-тесты – это, когда происходит один тест, в котором робот торгует различные инструменты одновременно, перераспределяя портфель между торгуемыми бумагами. Именно такой способ кросс-тестирования будем рассматривать в рамках серии постов.
3. Оглавление серии.
- Мы здесь.
- Кросс-тестирование – способ создавать роботов, работающих одинаково хорошо на всех рынках.
- Качаем данные для тестов скринеров.
- Скринеры в тестере.
- Скринеры в оптимизаторе.
- BotTabScreener. Концептуально.
- BotTabScreener. Обзор класса.
- Расчёт объёмов для робота.
- Самый простой скринер на скользящей средней. Робот с открытым кодом.
- Скринер ложного пробоя на PinBar, привязанном к внутридневной волатильности.
- Скринер на RSI и адаптирующемся ценовом канале.
- Скринер, анализирующий ленту сделок. PumpDetector.
- Скринер, анализирующий стакан котировок. PlateDetector. «Скринер плит».
Удачных алгоритмов!
Комментарии открыты для друзей!

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.