При баскет трейдинге (торговле корзины ценных бумаг), одна или две неправильно подобранные акции могут испортить всю работу вашей системы. Рассмотрим один из способов, который может обеспечить движение всех компонентов вашего портфеля в едином направлении.
Успешная торговля корзиной ценных бумаг по стратегии возврата к среднему означает, что ее компоненты должны двигаться и возвращаться к среднему значению. Это должно происходить из-за того, что если вы держите пару акций, которые не соответствуют остальной группе, вся ваша система может потерпеть неудачу. Уверенность в том, что выбранные вами бумаги постоянно ходят вместе, является обязательной при создании такой корзины. В данной статье будет рассмотрено то, как использовать направленный ациклический граф - DAG (от англ. directed acyclic graph)при выборе компонентов корзины, чтобы находящиеся в вашем портфеле инструменты, в целом, ходили как один.
Направленный ациклический граф (DAG)
Направленный ациклический граф (DAG) подобен сетевому графу социального сайта. Если А и В являются друзьями С, то есть вероятность того, что А и В тоже являются друзьями. DAG представляет собой карту взаимосвязей между узлами. Это можно представить, как 6 степеней разделения мира акций. В этом случае узлы графа – это акции, а числовые показатели взаимосвязей, которые будут использоваться, - корреляция акций. Целью является построение сети акций, имеющих корреляцию внутри группы. Пример приведен на рисунке 1.
Рисунок 1
DAG это направленный граф, который не содержит циклических взаимосвязей между узлами. Направленный граф представляет взвешенные взаимосвязи (грани) между узлами или вершинами в наборе узлов. DAG позволяет определять самый длинный, или критический, путь. Критический путь представляет собой самое длинное взвешенное соединение между узлами. В данном примере вершина – это ценная бумага, грань – это корреляция между двумя бумагами, а вес грани – это количественное выражение корреляции, измеренное между этими двумя бумагами. Критический путь представляет собой самое длинное непрерывное соединение коррелированных бумаг.
Такой способ построения группы уменьшает вероятность включения неподходящей бумаги, т.е. акции, которая может неожиданно пойти против направления движения цен общей группы. Чтобы создать такую группу, необходимо сделать следующие шаги:
Нужно начать с формирования списка акций сильных компаний, которые составят основу группы. Такие акции легко выбрать, например, из индекса S&P 500.
- Используя этот исходный список, создается набор коррелированных пар для каждой возможной последовательности в S&P 500. Это даст достаточно большое число пар (500 x 499)/2 = 124,750 pairs).
- Затем нужно выбрать блок данных для измерения корреляции этих пар. В данном случае выберем 250 календарных дней для каждой бумаги, а затем произведем измерение корреляции (коэффициент корреляции смешанных моментов Пирсона) каждой пары за этот период (данные взяты за 2010 год).
- Затем отсортирую эти тысячи пар по убыванию их коэффициента корреляции, от положительных к отрицательным.
- Затем выберем n первых пар, из которых буду строиться DAG.
- Для каждой коррелированной пары добавим в DAG вершину для акции А и вершину для акции В.
- Затем добавим взвешенные грани (измерение корреляции - от А к В) между каждыми из этих вершин.
- Затем определим на DAG критический путь, который снова дает длинный список взаимосвязанных акций, т.е. они являются сетью друзей, связанных корреляцией. В результате, такой набор акций критического пути представляет коррелированную группу.
Наконец, когда определились с группой, я можно протестировать эту корзину ценных бумаг, будучи уверенными, что, по меньшей мере, в рассматриваемый период, эти бумаги, в целом, будут двигаться вместе.
Причина, по которой для отбора совместно торгуемых акций выбрана корреляция, а не более популярный метод - коинтеграцию, в том, что нужно, чтобы эти бумаги были коррелированны. Нужно чтобы они двигались все вместе, а не "кто - в лес, кто - по дрова", что часто наблюдается при коинтеграции (причем, "в лес" и "по дрова" - это в одном направлении, но случайным маршрутом).
В качестве примера приведем образное сравнение – передвижная пирушка, когда на телегу грузят бочку спиртного, и вся компания присутствующих следует за ней. Куда поворачивает телега, туда же сворачивают и участники пирушки, поскольку никто из них не хочет упустить свою долю напитка.
Конечно, время от времени некоторые могут отклоняться в сторону, но, в конечном счете, возвращаются к среднему маршруту, то есть – к бочке, и вновь присоединяются к путешествующей компании. Такая группа может бродить по местности как коррелированный набор – влево, вправо, влево, вправо. При этом периодически некоторые участники могут отклоняться, но в конечном счете, все приходят к цели.
Именно такого поведения мы ждем от нашей группы акций. Мы хотим, чтобы они двигались синхронно, и лишь некоторые участники иногда опережали среднюю группу. Аналогично, некоторые будут иногда отставать. Лидеров нужно усмирить, отстающих – подтянуть, а такую группу торговать по стратегии корзины с возвратом к среднему.
Источником отбора исходных акций может служить любая обширная группа акций. Как было отмечено выше, в данном случае использованы акции, которые входят в индекс S&P 500. Точно так же можно воспользоваться любым другим индексом, например Russell 1000, 2000 или определенными секторами (потребительские товары, вспомогательные товары, энергетика, финансы, здравоохранение, промышленность, информационные технологии, материалы, телекоммуникации, услуги, общественные предприятия), а также различными торговыми площадками (Европа, Азия, развивающиеся рынки и т.п.). Можно также отфильтровать исходный список по цене, доходности или другим фундаментальным факторам. Нужно действительно большое число исходных инструментов, чтобы сформировать приличного размера группу. Размер группы с возвратом к среднему – предмет для обсуждения, но обычно, чем больше группа, тем более стабильна прибыль (P&L). Независимо от того, как вы выбираете свой исходный набор акций, результирующий набор акций (DAG, составленный на основе корреляций) должен состоять из тесно коррелированных бумаг.
Обработка DAG
Для создания группы использовался специально разработанный инструмент, но можно использовать программные пакеты типа Python, R или Matlab, чтобы создать свои коррелированные пары. В данном случае использовался C# и Visual Studio, которые также позволили применять один из множества имеющихся программных инструментов DAG. Он был найден на CodePlex (о наличии пакетов DAG для Python, R и Matlab известно, но предпочтение было отдано CodePlex).
Имея список коррелированных пар, который создан за пределами приведенного ниже примера кода, вводится n первых его позиций в метод, описанный ниже «Пример кода для загрузки DAG и получения коррелированного списка символов».
Программное обеспечение для корреляции и DAG простое в использовании. Данная статья не является мануалом по работе со специализированным софтом, а лишь преследует цель познакомить читателей сайта http://utmagazine.ru/ с методом баскет трейдинга с использованием DAG. Поэтому тот кто по-настоящему заинтересуется данным методом сам найдет софт, создаст коррелированные пары и построит свои группы DAG.
Баскет трейдинг (торговля корзиной ценных бумаг)
Теперь, когда создана сплоченная команда инструментов, возникает вопрос "как их торговать?". Вы знаете, что надо торговать «отбившихся» - те акции, которые, хотя и следуют за общей группой, но периодически стремятся отклониться от среднего пути. Поэтому нужно подойти с количественным критерием, который скажет нам, когда эти «отбившиеся» отходят от группы. Для иллюстрации воспользуемся индикатором RSI – индексом относительной силы.
В рамках этой статьи для примера приведено два отдельных стиля использования RSI в качестве средства для торговли «отбившихся».
Метод 1
- В каждый период времени нужно оценивать RSI для каждого элемента корзины, а затем выбирать из группы n бумаг с наименьшими значениями и n бумаг с наибольшими значениями.
- Продавать бумаги с максимальным RSI.
- Покупать бумаги с минимальным RSI.
- Выполнять такое перебалансирование корзины всякий раз, когда текущее значение чистого P&L для стратегии изменилось более, чем на х долларов.
Метод 2
- В каждый период времени нужно смотрить значение RSI для каждой бумаги, измерять среднее значение RSI для группы инструментов, после чего определяйте разницу между средним значением и каждым индивидуальным значением RSI. Эти значения разницы становятся весовыми коэффициентами каждого плеча внутри группы. Чем ниже значение RSI относительно среднего, тем больше весовой коэффициент для сделки в лонг. Чем выше значение RSI относительно среднего, тем больше весовой коэффициент для сделки в шорт.
- Для каждого инструмента в группе сделки на покупку или продажу должны основываться на этом весовом коэффициенте.
- Выполнять такое перебалансирование корзины всякий раз, когда текущее значение чистого P&L для вашей стратегии изменилось более, чем на х долларов.
Эти стратегии предоставляют тестовую платформу для измерения эффективности построения группы с помощью метода DAG. Для всех последующих тестов будет использоваться метод 1.
Результаты тестирования различных групп
Чтобы оценить эффективность выбранной группы, сначала была протестирована случайная выборка бумаг из S&P 500. Аномальная прибыль от этой группы в результате теста стала полной неожиданностью. Отчет P&L данной группы можно посмотреть на рисунке 2.
Рисунок 2
Затем выбрана группа пар, корреляция которых находилась в пределах от –0.1 до 0.1. Вместо того, чтобы прогнать их через процедуру DAG, был применен другой механизм отбора, который позволил выбрать наиболее часто встречаемые парные активы (из набора с корреляцией от -0.1 до 0.1), отсортировать их по номерам и взять n первых позиций результат на рисунке 3.
Рисунок 3
Поскольку всего для измерений использовалось 124750 пар, то было решено расположить их в порядке от отрицательных к положительным. Затем взяты пары со значением от -0.96 до -0.65 и из них построен DAG. Для построения этого DAG нужен был обширный набор пар, поскольку итоговый критический путь редко бывает достаточно длинным, чтобы построить жизнеспособную группу. В конце концов, для окончательного построения группы потребовалось несколько тысяч отрицательно коррелированных пар. Эта группа работала лучше, чем первые две результат на рисунке 4.
Рисунок 4
В конце концов, была протестирована настоящая группа, где корзина ценных бумаг была наиболее коррелированна и обработана с помощью DAG, и выбран из этого графа критический путь, что дало группу из 19 бумаг. Результаты тестирования представлены на рисунке 5.
Рисунок 5
Достоинства корреляции
Результаты тестирования различных портфелей акций на истории подтверждают теорию о том, что использование направленного ациклического графа (DAG)может быть весьма полезным методом выбора группы акций для баскет трейдинга. По-видимому, справедливо будет сказать, что для того, чтобы торговать по стратегии с возвратом к среднему, нужно построить группу, элементы которой максимально взаимно коррелированны. На данный момент требуется дополнительное тестирование, чтобы подтвердить, что группа, построенная с помощью DAG, дает лучшие результаты, чем группы акций собранные с применением других механизмов отбора.