Блог им. NikolayAntonov_303

Скрипт на QLUA по определению корреляции между ценами двух инструментов

Всем привет!

Относительно недавно на своем Дзен-канале «Код торгового робота» я размещал статью в которой рассматривал различные теоретические графики и рассчитывал корреляцию между ними. Ранее примерно такие же статьи встречал и на Smart-lab.

В продолжении данной темы было бы логично написать скрипт, который строит корреляцию между двумя заданными активами по указанному тайм-фрейму. Что и было сделано в виде скрипта на QLUA. Напомню, что коэффициент корреляции принимает значение от -1 до 1. Если он близок к единице, значит две величины примерно одинаково ведут себя. Если близок к -1, то графики двух величин ведут себя разнонаправлено — когда один график расчет — второй также снижается. А результат близкий к нулю говорит, что между графиками нет связи.

Данный скрипт выполняет следующие действия:
  1. Инициирует исходные данные (по сути это блок, в котором задаются исходные данные: с какими инструментами работаем, по какому тайм-фрейму)
  2. Считывает свечи по указанным двум инструментам.
  3. Сопоставляет данные свечей, то есть создается таблица в которой приведено время и цены обоих активов в это время.
  4. Производит расчет коэффициента корреляции.
Первые два этапа — это достаточно простые механические действия. (Как считывать свечные графики я рассматривал в отдельной статье.)

При реализации третьего этапа я время свечей переводил во временную метку.
То есть, имея отдельные значения года, месяца, дня, часа и минуты временная метка получалась так:
metka = time_current_svechi['year']*100000000 + time_current_svechi['month'] * 1000000 + time_current_svechi['day'] * 10000 + time_current_svechi['hour'] * 100 + time_current_svechi['min'];
В итоге получалось число, и оно тем больше, чем более новое время.
Это позволяет легко оперировать временем, сравнивать временные метки, сортировать при необходимости и пр.

Что касается расчета коэффициента корреляции. То, как известно он рассчитывается по такой формуле:
Скрипт на QLUA по определению корреляции между ценами двух инструментов
Для упрощения вычислений, я разбил расчет на три функции: 
  1. функция рассчитывающая среднее значение
  2. Функция, вычисляющее числитель вышеобозначенной дроби
  3. Функция, вычисляющая знаменатель.

Примерно так:
Скрипт на QLUA по определению корреляции между ценами двух инструментов

Полученный скрипт можно скачать по ссылке: https://nikolai-antonov.ru/scripts/correlation.rar

Результат расчетов выводится в таблице сообщений QUIK примерно в таком виде:
Скрипт на QLUA по определению корреляции между ценами двух инструментов

На всякий случай я провел проверку вычислений: выгружал таблицу времени с ценами двух графиков в Excel и там с помощью функции PEARSON() сравнивал с результатами скрипта. У меня результаты совпали.

Целью данного скрипта является подбор пар инструментов для проведения парного трейдинга. 

В 2019 году я в более ручном режиме строил, так называемую «шахматку» — таблицу с данными нескольких фьючерсов в которой на пересечении стоит коэффициент корреляции между этими инструментами. Вот ссылка на ту «шахматку» - https://nikolai-antonov.ru/scripts/table.xlsx

В принципе, имея разработанный скрипт, можно построить новую со свежими фьючерсами.

Возможно, что кому-то будет интересен такой скрипт — пользуйтесь.

Спасибо за снимание.

P.S. Информация, приведенная в данной статье также имеется в формате видео. И расположена по ссылке: https://dzen.ru/video/watch/64e61fc12a49b25ab7524f57

  • обсудить на форуме:
  • Quik Lua
942 | ★5

Читайте на SMART-LAB:
Облигации на пальцах: как устроен главный инструмент инвестора
Если у вас все еще нет облигаций в портфеле — вы либо неверно инвестируете, либо не совсем понимаете, зачем они нужны и по какому принципу...
Фото
Каждый инвестор желает знать, где сидит доходность? Взгляд Goldman Sachs на инвестиции до конца года
Если вы инвестируете свой капитал на фондовом рынке, то каждый год легко может принести вам как большие потери, так и несметные богатства....
Преимущества покупки облигаций при первичном размещении
Активность российских эмитентов на долговом рынке растет — почему участие в первичном размещении выгодно инвесторам? →  Пополнить счет В...
Фото
Башнефть: есть шанс на переоценку, но нужно запастись терпением. Прогноз сошелся с фактом в высокой точностью, ищем инвест идею
Башнефть отчиталась по МСФО за 2025 год — внимание, квартальных отчетов в прошлом году не было вообще! Традицицинно сравниваем прогноз...

теги блога Николай Антонов

....все тэги



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