Изображение блога
Алексей Ван <o-s-a.net>
Алексей Ван <o-s-a.net> Блог компании Os_Engine
08 апреля 2024, 19:34

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

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

Концептуально, это может выглядеть так:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

Торговая идея: торгуем спредом между двумя индексами, как будто это пара. Покупаем и продаём спред между ними.

 

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

  1. Индекс. BotTabIndex для генерации индекса номер 1.
  2. Индекс 2. BotTabIndex для генерации индекса номер 2.
  3. Скринер. BotTabScreener для торговли индекса номер 1.
  4. Скринер 2. BotTabScreener для торговли индекса номер 2.

 

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

  1. Корреляция, которая понадобится нам для расчёта корреляции между индексами.
  2. График «Минимальных остатков от разницы между инструментами с оптимальным мультипликатором» для генерации сигналов между индексами.

 

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

  1. Строим секторальный индекс нефтянки, выбирая всё, что есть в секторе.
  2. Строим секторальный индекс банков, выбирая всё, что есть в секторе.
  3. При отклонении на графике «Минимальных остатков» значения за пределы стандартного отклонения, умноженного на мультипликатор, покупаем спред между инструментами. Продаём по обратному сигналу.

 

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

Ссылка на ГитХаб: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/IndexArbitrage/IndexArbitrageClassic.cs

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

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

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

  1. Создание индекса (BotTabIndex) номер 1. Также подписка на его обновления. Бумаги, добавленные в него, должны быть синхронны с бумагами, добавленными в скринер 1.
  2. Создание индекса (BotTabIndex) номер 2. Также подписка на его обновления. Бумаги, добавленные в него, должны быть синхронны с бумагами, добавленными в скринер 2.
  3. Создание скринера 1. Через него будет вестись торговля индексом 1.
  4. Создание скринера 2. Через него будет вестись торговля индексом 2.
  5. Инициализация параметров стратегии.

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

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

  1. Логика синхронизации индексов и выбора ветки логики. Открытие / Закрытие.
  2. Ветка открытия позиции.
  3. Ветка закрытия позиций.

 

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

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

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

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

2. Regime Close Position. Тип закрытия позиции:

  1. Reverse signal. Обратный тип сигнала по графику минимальных отклонений с оптимальным мультипликатором.
  2. No signal. Нейтральное положение графика минимальных отклонений с оптимальным мультипликатором.

3. Percent depo on one leg. Процент от доступных средств на одну сторону сделки. Например, по ноге один может быть 5ть бумаг, тогда 50 % распределятся по 10% на каждую. А с другой стороны может быть 3 бумаги, на них будет по 16%, исходя из 50% на одну ногу.

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

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

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

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

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

 

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

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

В настройках эмулятора биржи у меня подключен Сет данных с бумагами Московской биржи:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

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

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

В Индекс номер 1 добавлены бумаги нефтегазового сектора РФ:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

Для индекса 1 настроена автоформула с расчётом один раз в день, со взвешиванием по цене:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

В Индекс номер 2 добавлены бумаги финансового сектора РФ:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

Для индекса 2 настроена автоформула с расчётом один раз в день, со взвешиванием по цене:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

В скринере 1 добавлены бумаги из индекса 1. Здесь они будут торговаться:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

В скринер 2 добавлены бумаги из индекса 2. Здесь они будут торговаться:

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16


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

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

Удачных алгоритмов!

Пост из серии статей по Индексному Арбитражу.

Оглавление здесь: https://smart-lab.ru/company/os_engine/blog/997533.php

Подписывайтесь. Комментарии открыты для друзей.

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients

Робот для классического индексного арбитража с открытым кодом. Торговля от индекса #16
0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн