rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.

Обзор бесплатного робота для парного арбитража в OsEngine. Вторая модификация классического парного арбитража на схождение пары. В данном случае одновременно и корреляция и график минимальных отклонений разниц инструментов с оптимальным мультипликатором.

Сразу напоминаю, что робот уже готов к запуску на Московской бирже (MOEX), криптобиржах вроде Binance, Bitget и т.д. В общем присоединяйтесь.

Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.

Суть.

Корреляция пробивает уровень 0,9, и мы с какой-то стороны графика минимальных отклонений входим, рассчитывая на схождения пар.

Выход по обратному сигналу.

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

 

Расположение в OsEngine.

Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.
Рис. 2. Расположение в проекте.

 

Код робота.

Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.
Рис. 3. Конструктор.
  1. Создаем закрытое поле типа BotTabPair.
  2. Вызываем метод из базового класса робота TabCreate, а в качестве параметра передаем туда перечисление BotTabType, в нашем случае Pair. И ниже записываем ссылку в ранее созданное поле.
  3. Подписываемся на событие CointegrationPositionSideChangeEvent.
  4. Создаем параметр Regime для проверки состояния робота: включен он или же наоборот.
  5. Также создаем параметр MaxPositionCount для настройки максимального количества позиций.

 Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.
Рис. 4. Метод GetNameStrategyType.

Создаем метод GetNameStrategyType и записываем в нем название робота.

 Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.
Рис. 5. Обработчик событий CorrelationChangeEvent.

Переходим в обработчик события изменения корреляции и:

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

 Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.
Рис. 6. Логика закрытия позиций.

  1. Смотрим направление Коитеграции:
  • Направление выше верхней линии.
  • Прошлое значение было ниже нижней линии.

То мы закрываем позиции.

              2. Так же смотрим направление.

  • Значение ниже нижней линии.
  • Прошлое значение выше верхней линии.

Закрываем позиции.

Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.
Рис. 7. Логика открытия позиций. 

  1. Сравниваем последнее значение корреляции, если оно меньше 0,9, то выходим из метода.
  2. Смотрим количество открытых позиций и выходим из метода, если они равняются максимальному разрешенному количеству позиций.
  3. Если коинтеграция выше нуля, то на первом инструменте мы заходим в Short, а на втором в Long.
  4. Если ниже нуля, то в точности наоборот первый инструмент входит в Long, а второй входит Short. 

Мы провели тест на 6 парах, вот что из этого у нас получилось:

 Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.
Рис. 8. Результаты тестирования.


Данная модификация робота поможет Вам понять, насколько важно значение корреляции в парном арбитраже. Обязательно потратьте несколько вечеров в тестере и разберитесь как он устроен.


Что почитать по алготрейдингу?

1) Сборник статей по парному арбитражу: https://smart-lab.ru/company/os_engine/blog/948250.php

2) Сборник статей по валютному арбитражу: https://smart-lab.ru/company/os_engine/blog/965051.php

3) Сборник статей по индексному арбитражу: https://smart-lab.ru/company/os_engine/blog/997533.php

4) Сборник статей про индикаторы и роботы к ним: https://smart-lab.ru/company/os_engine/blog/966919.php

5) Как стать программистом и изменить свою жизнь: https://smart-lab.ru/company/os_engine/blog/982134.php 

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support

 

Комментарии открыты для друзей, добавляйтесь!

★2

UPDONW
Новый дизайн