Уже разговаривали про это в серии постов про парный арбитраж. И второй раз акцентируем на этом понятии внимание неспроста. Значение корреляции между бумагой и индексом способно отфильтровать бОльшую часть не нужных входов в позиции, снижающих прибыльность любой стратегии, ориентированной на торговлю с оглядкой на индекс.

1. Что такое корреляция?
Корреляция в трейдинге – числовая мера взаимосвязи между различными активами. Насколько два актива движутся синхронно или асинхронно.
Числовое значение корреляции бывает от + 1 до – 1. Что очень удобно для расчётов и использования данного показателя во время торговли.
- +1 означает очень высокую синхронизированность активов. Высокую корреляцию. Свечи буквально ходят одна за другой без отклонений.
- -1 означает отрицательную корреляцию. Это значит, что активы ходят в разные стороны.
- Всё, что между этими значениями, нужно как-то в коде интерпретировать. Не всегда очевидным образом.
2. Зачем нужно знать коэффициент корреляции при торговле от индекса?
- Как мы узнали из предыдущих статей в серии, Индекс – это слитые по определённой формуле свечные данные. На выходе тоже свечи. Соответственно, мы можем очень легко посчитать корреляцию между индексом и бумагой, которую хотим торговать.
- Это значимо влияет на итоговую прибыльность роботов для арбитража от индекса.
- Изменение корреляции в динамике может само по себе давать отличные точки входа.
3. Использовать будем расчёт корреляции из исходного кода напрямую.
В слое для создания роботов для парного арбитража можно видеть корреляцию глазами на графике:

Это всё классно, и было бы здорово всегда видеть данный индикатор. Но из-за обилия возможных вариантов использования индекса в торговле под каждую визуальный интерфейс построить не удастся. Поэтому будем пользоваться расчётом корреляции прямо в исходном коде без визуализации.
Объект CorrelationBuilder отвечает за расчёт корреляции между двумя сериями свечек:

CorrelationBuilder предоставляет нам методы для расчёта корреляции:

- ReloadCorrelation – на вход подаём: свечи 1, свечи 2, длину расчёта, получаем массив значений PairIndicatorValue.
- ReloadCorrelationLast – всё то же самое, только на выходе одно значение по последним свечкам.
4. Итого.
На данный момент надо понимать:
- Корреляция очень важна, когда вы торгуете пару инструментов или пару свечных данных. В том числе, при сравнении индекса с какой-то бумагой нужно знать текущее состояние корреляции между сериями.
- Штука эта генерирует сигналы торговые сама по себе и может служить фильтром для входа. Ибо экстремальные показатели корреляции в моменте могут говорить о том, что не стоит торговать в данный момент.
- Рассчитывается в две строчки кода при помощи специальных классов внутри OsEngine. Что мы и будем активно применять, делая стратегии с оглядкой на индекс.
Удачных алгоритмов!
Пост из серии статей по Индексному Арбитражу.
Оглавление здесь: https://smart-lab.ru/company/os_engine/blog/997533.php
Подписывайтесь. Комментарии открыты для друзей.

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