Обзор бесплатного робота для парного арбитража в OsEngine. Вторая модификация классического парного арбитража на схождение пары. В данном случае одновременно и корреляция и график минимальных отклонений разниц инструментов с оптимальным мультипликатором.
Сразу напоминаю, что робот уже готов к запуску на Московской бирже (MOEX), криптобиржах вроде Binance, Bitget и т.д. В общем присоединяйтесь.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/8829cf.webp)
Суть.
Корреляция пробивает уровень 0,9, и мы с какой-то стороны графика минимальных отклонений входим, рассчитывая на схождения пар.
Выход по обратному сигналу.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/4174fe.webp)
Рис. 1. Пример логики.
Расположение в OsEngine.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/0da9f0.webp)
Рис. 2. Расположение в проекте.
Код робота.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/c8183c.webp)
Рис. 3. Конструктор.
- Создаем закрытое поле типа BotTabPair.
- Вызываем метод из базового класса робота TabCreate, а в качестве параметра передаем туда перечисление BotTabType, в нашем случае Pair. И ниже записываем ссылку в ранее созданное поле.
- Подписываемся на событие CointegrationPositionSideChangeEvent.
- Создаем параметр Regime для проверки состояния робота: включен он или же наоборот.
- Также создаем параметр MaxPositionCount для настройки максимального количества позиций.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/4bcd5d.webp)
Рис. 4. Метод GetNameStrategyType.
Создаем метод GetNameStrategyType и записываем в нем название робота.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/d1fa16.webp)
Рис. 5. Обработчик событий CorrelationChangeEvent.
Переходим в обработчик события изменения корреляции и:
- Проверяем, включен робот или нет. Если нет, то выходим из события.
- Проверяем, есть ли у нас открытые позиции. Если да, то заходим в логику закрытия позиций, если нет открытых позиций, то переходим в логику открытия позиций.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/988331.webp)
Рис. 6. Логика закрытия позиций.
- Смотрим направление Коитеграции:
- Направление выше верхней линии.
- Прошлое значение было ниже нижней линии.
То мы закрываем позиции.
2. Так же смотрим направление.
- Значение ниже нижней линии.
- Прошлое значение выше верхней линии.
Закрываем позиции.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/b190b2.webp)
Рис. 7. Логика открытия позиций.
- Сравниваем последнее значение корреляции, если оно меньше 0,9, то выходим из метода.
- Смотрим количество открытых позиций и выходим из метода, если они равняются максимальному разрешенному количеству позиций.
- Если коинтеграция выше нуля, то на первом инструменте мы заходим в Short, а на втором в Long.
- Если ниже нуля, то в точности наоборот первый инструмент входит в Long, а второй входит Short.
Мы провели тест на 6 парах, вот что из этого у нас получилось:
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2023/images/21/16/44/2023/10/05/e45105.webp)
Рис. 8. Результаты тестирования.
Данная модификация робота поможет Вам понять, насколько важно значение корреляции в парном арбитраже. Обязательно потратьте несколько вечеров в тестере и разберитесь как он устроен.
![Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором. Робот для классического парного арбитража на схождение пары. На основе анализа корреляции и графика минимальных отклонений разницы инструментов с оптимальным мультипликатором.](/uploads/2024/images/21/16/44/2024/08/22/aaaed5.webp)
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Комментарии открыты для друзей, добавляйтесь!