Сегодня поговорим о корреляции в контексте алготрейдинга.
Зачем это нужно? Как посчитать? Возможные применения в алготрейдинге?
Спойлер. В OsEngine уже есть 3 встроенных робота, которые позволяют вообще без написания кода знать коэффициент корреляции между инструментами внутри пары. Поэтому это не просто статья ради статьи. Это объяснение того, как устроен парный трейдинг. Начало небольшой серии статей.
Рис. 1. Интерфейс для парного трейдинга в OsEngine.
Корреляция в трейдинге – числовая мера взаимосвязи между различными активами и индексами. Насколько два актива движутся синхронно.
Числовое значение корреляции бывает от + 1 до – 1, что очень удобно для расчётов и использования данного показателя во время торговли.
Поскольку этот пост будут читать следующие лет 5, я просто обязан привести здесь формулы для математиков. Но это не означает, что надо в этом разбираться и пугаться этих закорючек) Не пугайтесь! Всё гораздо проще!
Обычно предлагается делать как-то так:
Или так:
Естественно делать так не надо. Всё уже написано до нас очень давно. Даже я с этим разбираться не стал. Ну а Вам уж точно не нужно.
Нужно использовать стандартные средства расчёта корреляции между двумя рядами, встроенными в среду, в которой вы делаете роботов.
В рамках OsEngine у нас есть слой создания роботов для торговли пар. О нём чуть позже поговорим в следующих статьях.
Также продвинутые товарищи могут пользоваться классом CorrelationBuilder:
Который предоставляет нам методы для расчёта корреляции:
На данный момент надо понимать:
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Удачных алгоритмов!
и скинь эквити по активу 1 без 2 и по активу 2 без актива 1...
скорее всего у тя там типичные для парного трейдинга ошибки...
Согласен полностью с комментом SergeyJu про то, что в чистом виде корреляция — плохая мера сходства, необходимо использовать также ковары, регрессии, дополнительную фильтрацию свечных сетапов и т.п.