Как не попасть на «логические ошибки тестирования» и сделать робота правильно.
Заметка про то, как организовать логику робота, если Вы собираетесь вести большие тесты на свечных данных, а так поступают (или должны бы поступить) 95% всех, кто торгует роботами.
В общем, тема важная.
Основной её тейк такой: Если делаешь робота для тестов на свечках, старайся делать всю логику в событии завершения свечи.
И далее почему.
Отдельно на этом остановлюсь. И Арбитражи, и скринеры, и ребалансировщики, и тесты на одном инструменте – всё это просто и быстро тестируется на свечных данных.
При этом, если использовать ленту сделок для тестов, сразу же можно напороться на увеличение сложности тестирования в десятки раз (а то и в сотни).
Поэтому, если у тебя не ХФТ, использовать надо для тестов свечи.
В рамках слоя создания роботов есть события, подходящие для создания логики на тестах. В основном это конечно же:
Рассмотрим пример того, как усреднять позицию, выставляя в рынок одновременно несколько ордеров.
Это стало возможно совсем недавно, т.к. камрады из сообщества очень просили. Методы, которыми будем пользоваться для усреднения позиций, называются BuyAtLimitToPositionUnsafe и SellAtLimitToPositionUnsafe. В отличие от старых методов (Без приписки Unsafe), данные методы не убирают предыдущие ордера на усреднение, и можно выставить в рынок множество ордеров.
Точка входа у робота контртредовая на канале Envelops.
Итоговая логика робота на графике выглядит так:
Шорт, прикрытый стоп ордером, выход в плюс через профит, и два лимитных ордера на бирже для усреднения.
На ГитХаб в репозитории OsEngine это находится здесь:
https://github.com/AlexWan/OsEngine
Внутри проекта здесь:
Рассмотрим пример того, как выходить из позиции двумя (вообще можно больше, но в примере 2) лимитными ордерами одновременно.
Это стало возможно совсем недавно, т.к. камрады из сообщества очень просили. Метод, которым будем пользоваться для закрытия позиций, называется CloseAtLimitUnsafe. Отличие от CloseAtLimit такое:
Точка входа у робота контртредовая на канале Envelops.
Итоговая логика робота на графике выглядит так:
Шорт, прикрытый стоп ордером, и два лимитных ордера на бирже для закрытия в прибыль.
На ГитХаб в репозитории OsEngine это находится здесь:
Добрый день!
Сегодня я подготовил для вас полезный инструмент — код на Python, который загружает данные по выбранной валютной паре на указанном таймфрейме и создает датасет (данные берутся с биржи Bybit )
Возможно, кому-то этого будет достаточно, чтобы в будущем не беспокоиться о своих доходах. Но, конечно, это уже слишком большие ожидания от одного кода!
Обратите внимание! Для корректной работы кода обязательно повторите все шаги, описанные в README.
Паттерн позволяет разделить логику тестирования от логики реального входа внутри робота для того, чтобы при входе и выходе не «рисовать свечи» своими большими заявками.
Очень важная заготовка паттерна управления позицией для тех, у кого много денег на счету. В том числе разберём исходный код, чтобы Вы могли модернизировать свои способы входа в реале, опираясь на данные исходники. В примере логика айсберга выделена в отдельный объект и использована многопоточность, но её надо будет переиспользовать без изменений, поэтому не пугайтесь, кто не программист, переиспользовать удастся. Будете входить, как захотите в реале.
Итоговая логика робота на графике в реале выглядит так:
В примере на графике получилось даже зайти лучше, чем если бы мы это делали одним ордером.
Сам робот – классический отбойник от боллинджера с выходом в % по стопу и профиту. Выход также в реале через «кастомный айсберг».
На ГитХаб в репозитории OsEngine это находится здесь:
Доходность стратегии на Мосбирже за 3-й квартал — 4,9%.
Доходность за 2,5 года — 128%.
Доходность за последние 12 месяцев — 43%.
Средняя доходность за весь период — 43% годовых.
Максимальная просадка — 15,5%.
Кальмар — 2,8.
Львиную долю прибыли за 3-й квартал трендовые стратегии заработали на падении фьючерса РТС, а также немного профита дали шорты на Газпром. По валюте весь квартал наблюдалась низкая волатильность, что дало небольшой минус. Но в целом алгоритмы принесли почти 5% за квартал.
Мониторить динамику портфеля можно здесь:
https://www.comon.ru/strategies/109402/
Подключиться к данной стратегии вы можете от суммы 500 тыс.руб. через автоследование на Comon и все сделки автоматически будут копироваться с моего брокерского счета на ваш.
Для состоятельных инвесторов возможно индивидуальное управление портфелем от 10 млн.руб. 💼😎
По вопросам подключения к стратегии пишите в телеграм: @voronchihin_evgeny
Мой телеграм-канал: @alfa_quant