Блог им. 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
933 | ★5

Читайте на SMART-LAB:
Индия может увеличить закупки российской нефти
Рост цен на нефть на мировом рынке на этой неделе связан прежде всего с обострением конфликта США и Ирана и фактическим параличом судоходства в...
Фото
Рынок ипотеки в феврале: рост по рыночным программам и ожидаемое снижение по льготным
Выдача ипотеки в феврале: оценка Аналитического центра ДОМ.РФ
Фото
ЦБ ожидает двукратный роста вложений в ПДС в 2026 году до 1,5 трлн руб.
Банк России ожидает, что к концу 2026 года объем вложений в рамках программы долгосрочных сбережений (ПДС) может достигнуть 1,5 трлн рублей,...
Фото
Хэдхантер. Я не дождался отчета за 25г. и обновил прогноз по прибыли и дивидендам
Хэдхантер послезавтра 6 марта опубликует отчет по МСФО за 2025 год. Модель по компании обновлял здесь , но сегодня решил сделать...

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

....все тэги



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