в Алготрейдинг

Определение отношения опережение/отставание между связанными активами

Автор: uralpro.

Трейдеры, которые приобрели мою программу robot_uralpro, спрашивают, можно ли доработать алгоритм для применения его на современном рынке? Напомню, стратегия робота основана на взаимоотношении цен синтетического индекса, составляемого динамически из рыночных цен акций, входящих в индекс РТС, и фьючерса RI. Идея «одноногого» статистического арбитража, реализованного в роботе, будет работать и сейчас, только в том случае, если научиться правильно определять, какой актив опережает другой в смысле динамики их цен. Эта статья посвящена правильному выявлению такого взаимодействия, которое в англоязычных источниках называется «lead-lag relationship» -опережение-отставание между разными активами.

Кроме того, lead-lag relationship может использоваться в стратегиях парного трейдинга и им подобным. Например, определив такое взаимодействие, можно исключить из парного трейдинга один из активов ( с учетом того, конечно, что отношение торгуемых инструментов было описано четкой моделью) и значительно увеличить тем самым прибыльность стратегии.

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

, где

γ(k) — кросс-ковариация для лага k;

Δpt,Δqt — текущие приращения цен первого и второго активов.

Если кросс-ковариация положительна при положительном k, то делается вывод, что актив q опережает актив p, если кросс-ковариация положительна при отрицательном k, то актив p опережает актив q.

Однако правильное вычисление кросс-ковариации возможно, если данные о приращении цены поступают через равные интервалы времени t и не содержат пропусков . Ни то, ни другое условие не выполняется для высокочастотных данных, которые требуются для HFT и просто intraday алгоритмов. Обычно эту проблему решают так — разбивают выборку на равные интервалы и если между ними не происходило изменение цены, то полагают приращение цены равным 0. Это приводит к сильной зависимости ковариации от частоты разбиения и в общем к неправильному ее вычислению в динамическом режиме. Кроме того, ковариация зависит и от величины приращения цен, что в случае большой разницы между ценами активов, также приводит к неверным результатам.

Более точный подход к определению lead-lag relationship предлагают авторы работы «Intraday Lead-Lag Relationships between the Futures-, Options and Stock Market». Для получения правильного значения кросс-ковариации берутся приращения цен, взятые между двумя наблюдениями , между которыми может быть более одного изменения цены. Рассмотрим всю процедуру вычисления более подробно.

Обозначим наблюдения цены pt индексом i, цены qt индексом j, и общее число наблюдений N и M соответственно. Разница между двумя разными уровнями цены может быть записана как сумма приращений ненаблюдаемого процесса изменения цены в интервале между наблюдениями:

где ti означает временную метку i-го наблюдения. Кросс-произведение приращения цен между двумя активами запишем как:

Математическое ожидание этого кросс-произведения есть линейная комбинация кросс-ковариаций:

и это выражение зависит от наблюдаемых моментов времени (ti,tj,ti+1,tj+1). Далее обозначим xij(k) число раз, когда γ(k) появляется в выше приведенном выражении:

.

Важной особенностью xij является то, что эти значения зависят только от моментов времени наблюдаемых изменений цены (ti,tj,ti+1,tj+1) и не зависят от цены активов. Таким образом,мы можем записать E(yij) как линейную комбинацию ковариаций γ(k),k=−K…K:

Вышеприведенное выражение может рассматриваться как выражение регрессии с неизвестными кросс-ковариациями γ(k) в виде параметров и коэффициентами xij в виде объясняющих переменных. В векторной записи:

Таким образом, кросс-ковариации могут быть вычислены методом наименьших квадратов по наблюдениям yij и рассчитанным значениям xij.

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

, где К — максимальный требуемый лаг.

В заглавии поста приведен график кросс корелляции между приращениями цены индекса AEX амстердамской биржи и фьючерса на этот индекс. Минимальный шаг лага k взят равным пяти минутам. Максимальное значение K=6, то есть приращения цен измеряются внутри пересекающегося интервала длительностью 30 мин. Из этого графика видно, что на интервалах от 0 до 15 минут фьючерс опережает индекс с максимальным значением корреляции в районе 5 мин.

Кстати, очень перспективно выявления lead-lag relationship между фьючерсом и его опционами. Кто сможет правильно произвести все вычисления, получит очень интересный алгоритм статистического арбитража.

Другие алгоритмы, применяемые в алгоритмической торговле и биржевых роботах смотрите на моем сайте.