Трендовый робот-скринер для торговли фьючерсами на акции MOEX на основе пробоя канала Боллинджера с уникальным фильтром по стадии отклонения фьючерса от базового актива (контанго/бэквордация).
Как выглядит индикатор Bollinger:

Схема работы робота:

Логика открытия.
1. Выбор фьючерса для торговли в паре с базовой акцией.
Для торговли выбирается фьючерс с наименьшим сроком до экспирации, при условии, что этот срок составляет не менее 3 и не более 100 дней.
2. Условия для входа в LONG:
Цена закрытия фьючерса выше верхней линии Боллинджера.
3. Условия для входа в SHORT:
Цена закрытия фьючерса ниже нижней линии Боллинджера.
Фильтры для входа.
1. Фильтр по времени.
Учитываются неторговые периоды (общие и по дням недели).
Робот не торгует в указанные неторговые периоды.
2. Фильтр по контанго/бэквордации (уникальный!).
Рассчитывается отклонение цены фьючерса от цены базовой акции в процентах.
Все отслеживаемые инструменты ранжируются по этому отклонению.
Инструменты делятся на стадии:
Стадия 1 - самые "дешевые" фьючерсы относительно базы (кандидаты на лонг)
Стадия 2 - самые "дорогие" фьючерсы относительно базы (кандидаты на шорт)
Остальные - нейтральная зона (торговля запрещена)
Количество инструментов в каждой стадии задается параметром.
3. Фильтр по отдельным инструментам
Для каждой из 10 пар можно отдельно включить/отключить торговлю.
Логика выхода.
1. Пробой обратной стороны канала.
Для длинной позиции: цена фьючерса ниже нижней линии Боллинджера.
Для короткой позиции: цена фьючерса выше верхней линии Боллинджера.
2. Принудительное закрытие перед экспирацией.
Если до экспирации фьючерса осталось менее 3 дней, позиция закрывается по любой цене.
Параметры робота.
Основные настройки (Base):

1. Regime base - Режим работы:
Off - выключен
On - разрешены обе стороны
OnlyLong - только длинные позиции
OnlyShort - только короткие позиции
2. Iceberg orders count - Количество ордеров в айсберге
3. Non trade periods - Кнопка настройки неторговых периодов
4. Bollinger Length - Период индикатора Боллинджера
5. Bollinger deviation - Отклонение для канала Боллинджера
6. Volume type - Тип объема:
Deposit percent - % от депозита
Contracts - в контрактах
Contract currency - в валюте контракта
7. Volume - Объем для входа:
Если Deposit percent - указывается процент
Если Contracts - количество контрактов
Если Contract currency - сумма в валюте
8. Asset in portfolio - Актив в портфеле для расчета:
Prime - общий портфель с учетом P&L
Или конкретная валюта (Rub, rub и т.д.)
Настройки фильтра контанго (Contango):

1. Contango filter regime - Режим фильтра:
Off - фильтр отключен
On_MOEXStocksAuto - автоматический режим с предустановленными коэффициентами для акций MOEX
On_Manual - ручной режим с настраиваемыми коэффициентами
2. Contango filter count securities - Количество инструментов в каждой стадии (крайних группах)
3. Contango stage to trade Long - Какая стадия разрешена для лонга (1 или 2)
4. Contango stage to trade Short - Какая стадия разрешена для шорта (1 или 2)
5. Manual coeff - Ручные коэффициенты для каждой пары (используются в режиме On_Manual)
6. Show contango - Кнопка просмотра текущего отклонения фьючерса от базы в %
Как выглядит таблица с контанго:

Включение/отключение отдельных инструментов (Trade securities):

Включить/отключить торговлю по каждой из 10 пар.
True - инструмент включен
False - выключен
Автоматическое развертывание (Auto deploy):

1. Portfolio number - Номер портфеля для автонастройки
2. Deploy standard securities - Кнопка автоматического развертывания 10 стандартных пар акций MOEX и их фьючерсов
Настройки неторговых периодов.
Общие неторговые периоды:

1. Если галочка стоит, то неторговый период включен.
2. Время начала неторгового периода.
3. Время окончания неторгового периода.
Настройка для каждого дня недели:

Устанавливаем галочку по каким дням хотим торговать. И также можно настроить отдельно неторговые периоды.
Преднастройки:

1. MOEX Акции - стандартные настройки для фондового рынка
2. MOEX Фьючерсы - стандартные настройки для срочного рынка
Результаты тестирования.
Эквити:

Статистика:

Особенности работы.
1. Парная торговля "акция-фьючерс".
Базовая акция используется только для расчета контанго.
Торговля ведется только фьючерсами.
Для каждой акции отслеживаются все доступные фьючерсные серии.
2. Автоматический выбор фьючерса.
Робот автоматически переключается на ближайший фьючерс.
Исключает фьючерсы с экспирацией менее 3 дней.
Может работать с разными сериями в разное время.
3. Фильтр контанго.
Инструменты ранжируются от самого "дешевого" фьючерса (отрицательное контанго) до самого "дорогого" (положительное).
Крайние группы (по N инструментов) считаются перекупленными/перепроданными.
В автоматическом режиме используются специальные коэффициенты для разных акций и периодов.
4. Защита от спама в реальном времени.
Робот проверяет, не было ли входа по паре в последнюю минуту.
Предотвращает множественные срабатывания на одном баре.
Удачных алгоритмов!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Канал Научный трейдинг (Bad Quant): https://t.me/bad_quant
Комментарии