Пример одноногого индексного арбитража в тренд. Торговля от индекса.

Пример одноногого индексного арбитража в тренд. Торговля от индекса.

Торговая идея:

Брать инструменты, которые идут жёстко и с импульсом против широкого рынка и торговать их в тренд. Т.е. в сторону куда они отклоняются.

 

1. Источники робота.

1. Индекс. BotTabIndex для генерации индекса.

2. Скринер. BotTabScreener для того, чтобы брать сразу N инструментов с рынка и торговать одновременно их все.

 

2. Индикаторы.

1. Корреляция, которая понадобиться нам для динамического отсеивания инструментов.

2. График «Минимальных остатков от разницы между инструментами с оптимальным мультипликатором».

3. Скользящие средние. Одна на индексе, вторая на инструменте.

4. Параболик на торгуемых инструментах. Чтобы временной распад индикатора закрыл позицию, если мы не движемся в нужную сторону и импульс закончился.

 

3. Логика робота.

1. Строим широкий индекс, выбирая бумаги по объёму, взвешивая по цене.

2. Каждое обновление индекса проверяем каждый инструмента на корреляцию.

3. Если инструмент проходит по корреляции, проверяем каждый инструмент на отклонение от индекса по «Минимальным остаткам».

4. Если инструмент отклонился больше, чем на стандартное отклонение, умноженное на мультикпликатор, торгуем на дальнейшее ускорение.

5. Выход из позиции по трейлинг-стопу в %, рассчитанному от усреднённого отклонения внутридневной волатильности.

 

4. Исходный код в проекте.

Ссылка на ГитХаб: https://github.com/AlexWan/OsEngine

 

Конструктор:

 

1. Создание индекса (BotTabIndex) и подписка на событие его обновления. В этом событии логика открытия позиции.

2. Создание индикатора волатильности и пересылка его на Индекс.

3. Создание скринера (BotTabScreener) и подписка на событие обновления свечи по любому загруженному в него инструменту. В этом событии логика закрытия позиций.

4. Создание индикатора волатильности, усреднённой для каждого инструмента в скринере. От значения этого индикатора у нас считается мультипликатор для трейлинг-стопа.

5. Инициализация параметров стратегии. 

Куда надо смотреть в коде:

Блоки с логикой открытия и закрытия позиций выделены комментариями.

 

5. Настройки робота.

1. Regime. Режим работы:

a. On – включены все режимы торгов.

b. Off – выключено.

c. OnlyLong – разрешены только позиции лонг.

d. OnlyShort – разрешены только позиции шорт.

2. Volatility Stage To Trade. Стадия волатильности, в которой разрешены открытия позиций.

3. Stop mult. Множитель для показателя волатильности инструмента, для определения расстояния для трейлинг-стопа.

4. Max poses count. Максимально разрешённое кол-во одновременно открытых позиций.

5. Percent depo on positions. Процент от доступных средств на одну позицию.

6. Asset in portfolio. Название денежной единицы в портфеле. Если Prime, то будет браться общая единица исчисления, доступная в тестере и некоторых типах подключений к Московской бирже. В остальных случаях нужно выбирать название валюты по тому, как она называется у Вас в портфеле.

7. Slippage. Проскальзывание для заявки в %.

8. Correlation candles look back. За какой период будем считать корреляцию между индексом и бумагой в торгах.

9. Cointegration candles look back. За какой период будем считать график минимальных остатков между бумагой и индексом с оптимальным мультипликатором.

10. Deviation mult. Отклонение для стандартного отклонения на графике минимальных остатков от разницы с оптимальным мультипликатором.

11. Correlation min value. Минимальное значение корреляции для того, чтобы можно открывать по бумаге позицию.

 

6. настройки индикатора стадий волатильности.

Вызывать индикатор стадий волатильности можно и нужно с графика индекса. Путём нажатия на него правой кнопкой мыши:

 

Вызывать индикатор усреднённой волатильности нужно из источника скринера правой кнопкой мыши:

 

Про индикаторы волатильности есть отдельная огромная статья: https://o-s-a.net/os-engine-faq

 

7. Запуск робота в тестере.

В настройках эмулятора биржи у меня подключен сет из ТОП 20 бумаг с MOEX:

В данном случае это 5ти минутки. Но у нас в офисе Intel Core I9 13 поколения, и я могу себе позволить такой низкий тип данных. Вам рекомендую использовать ЧАСОВИК.

Создаём робота. Открываем его чарт и настраиваем источники:

 

В Индекс добавлены все бумаги из источника:

Также у индекса настроена автоформула:

В скринер подключены все бумаги:

 

 

8. Один из вариантов тестирования.

Суть данного робота, кроме всего прочего, в применении стадий волатильности для разрешения и запрета входов. Например, в данном случае выбрана стадия волатильности 2, в которой можно работать, и индикатор настроен так, чтобы он имел три стадии, обращая внимание на центр канала. Т.е. чтобы волатильность была стандартной, вот там входить можно. Стадии повышенной волатильности и стадии её отсутствия не для открытия позиций:

Если что-то не получилось, или остались вопросы, пишите в чат поддержки!

Общаемся здесь: Old School Algo Chat

17:11
205

Комментарии

Нет комментариев. Ваш будет первым!