uralpro
uralpro личный блог
02 сентября 2015, 09:00

Алготорговля коинтегрированными активами. Часть 2

alpha

Начало здесь.

Задача оптимизации инвестиций

Целью трейдера при открытии позиций в активах является максимизация ожидания имеющихся ресурсов при постоянной ревизии этих позиций в течение времени, для того, чтобы обеспечить  динамическую оптимальность стратегии. Обозначим \pi=(\pi_t^0,\pi_t^1,...,\pi_t^n)_{0\leq t\leq T}величину в денежном исчислении, инвестированную в безрисковый \pi_t^0и рисковые активы (\pi_t^1,...,\pi_t^n). Тогда количество открытых трейдером контрактов будет равно m_t^k=\frac{\pi_t^k}{Y_t^k}. Опустим сложный вывод конечной формулы и представим окончательное решение в закрытой форме для доли инвестиций в активы:

\pi^*=\frac{1}{\gamma}\{\mathbf{\Omega}^{-1}(\mathbf{\delta}\alpha+\mathbf{\nu})+(\mathbf{\delta}'\mathbf{\Omega}\mathbf{\delta})[\frac{1}{2}\tau(\alpha-2\frac{\mathbf{\delta'\Omega\nu}}{\mathbf{\delta'\Omega\delta}})+\frac{1}{4}Tr(\mathbf{A\Omega})\tau^2]\mathbf{a}\}

где π∗- вектор оптимальных долей в используемых активах,

τ=T−t,

γ- мера риска (подбирается при тестировании).

Первое слагаемое в приведенной формуле является классической мертоновской задачей, при том, что (δα+ν)- дрифт цен активов. Второе слагаемое, пропорциональное а, представляет собой корректировку, связанную с коинтеграцией. Как показывает это выражение, преобразования в мертоновском портфеле уменьшаются при приближении конечного времени Т. В итоге, оптимальная стратегия зависит от α, в  общем случае оптимального инвестирования в несколько коинтегрированных активов.

Эмпирическая производительность стратегии

В этом разделе мы продемонстрируем поведение стратегии в случае использования трех активов. Агент торгует портфелем из трех акций — GOOGL, FB, AMAZON, и мы используем реальные данные с биржи Nasdaq для определения параметров модели. Конкретно, мы используем средние цены книги заявок с периодичностью в одну минуту от 3 ноября 2014 года, для определения параметров VAR(1) модели логарифма цен в соответствии с регрессией:

\mathbf{Z}_n=\mathbf{b}+\mathbf{CZ_{n-1}}+\epsilon_n

где Zn=log(Yn),ϵ1,ϵ2,...- независимые случайные переменные со стандартным нормальным распределением (с ковариационной матрицей Ω) и 3х1 вектор b, и 3х3 матрица С , установленные из множественной регрессииИз ошибок регрессии затем составляется дисперсионно-ковариационная матрица для ϵ1. В таблицах ниже представлены результаты вычислений коэффициентов и дисперсионно-ковариационной матрицы.

tables

На рисунке ниже показано значение коинтеграционного фактора αt из тренировочной выборки, представляющего собой, как и ожидалось, процесс возврата к среднему. Прерывистая линия на рисунке показывает уровень возврата к среднему, плюс/минус два стандартных отклонения от коинтеграционного фактора вокруг уровня возврата к среднему (линии с точкой). Понятно, что краткосрочные отклонения от этого уровня являются основной причиной прибыльности стратегии, которую мы обсудим ниже.

cointegr_1 

Далее, уменьшим размерность задачи до случая одного коинтеграционного фактора путем следующей последовательности трансформаций:

1. Определим \mathbf{k}=\mathbf{I}-\mathbf{C} — матрица возврата к среднему, где I- единичная матрица.

2. Определим\Theta=\mathbf{k}^{-1}\mathbf{b} — уровень возврата к среднему

3. Диагонализируем k путем разложения \mathbf{k}=\mathbf{UDU^{-1}}, где D — матрица собственных значений, сортированных от наибольшего к наименьшему,U — матрица собственных значений, составленных постолбцово.

4. Определим матрицу с уменьшенной размерностью \tilde{k}=\mathbf{U\tilde{D}U^{-1}}, где\mathbf{\tilde{D}}=(D_{11},0,0...,0).

5. Затем установимa_k=-\tilde{k}_{1k},\delta_k=\frac{\tilde{k}_{1k}}{\tilde{k}_{11}},\nu_k=(\tilde{k}\Theta)_k+\frac{1}{2}\Omega_{kk}.

Результаты преобразований показаны в таблице ниже.

table

Отметим, что δ′a<0, значит процесс α, несомненно, процесс возврата к среднему.

Для иллюстрации производительности стратегии мы произвели 10 000 симуляций и записали профиль P&L в каждом случае. Мы использовали установленные выше параметры для симуляции компонента краткосрочной альфы и графика коинтеграционной цены (для каждой минуты внутри торгового горизонта) для Google, Facebook и Amazon. Для каждого прохода мы предполагали, что агент начинает с нулевыми открытыми позициями в активах и все позиции ликвидируются в конце дня, все транзакции происходят по средней цене книги заявок и нет транзакционных издержек. На графиках в заглавии поста показан один из симуляционных путей αt и соответствующие ему оптимальные позиции в активах. На графиках ниже изображен процесс изменения ресурсов агента для данного пути и гистограмма прибыли/убытков для 10 000 проходов. Среднее значение прибыли составляет 91,99 и стандартное отклонение прибыли 20,27.

P&amp;L

Для данного конкретного прохода мы видим, что открытые позиции агента всегда находятся между 4 длинными и 6 короткими контрактами и прибыль в конце торгового периода составила приблизительно 80$. Открытые позиции активов демонстрируют паттерн, похожий на краткосрочную альфа прохода, оба показаны в заглавии поста. Помните, что αt включает дрифт каждого актива, так что во время, когда альфа выше уровня возврата к среднему соответствует моменту, где есть ожидание быстрого роста средних цен, то есть оптимальная стратегия — покупка актива.Соответственно, когда αt ниже уровня возрата к среднему — ожидание медленного роста цен (или даже их падения), где оптимально входить в короткие позиции по активам для получения краткосрочной прибыли от их снижения.

Заключение

Мы показали процесс оптимальной торговли набором коинтегрированных активов. Мы смоделировали структурную зависимость через общий компонент и дрифт приращений цен активов. Этот общий компонент является коинтеграционным фактором, который мы назвали краткосрочной альфа, и он является основным источником прибыльности в оптимальной инвестиционной стратегии.

Другие стратегии, алгоритмы и программы автоматического трейдинга смотрите на моем сайте — www.quantalgos.ru

18 Комментариев
  • habanera
    02 сентября 2015, 09:34
    Как же я люблю математику!
    Очень познавательно.
  • Добрый человек
    02 сентября 2015, 09:35
    емко четко и ясно! то что нужно смартлабу. правда щас про сиськи спросят
  • Николай Лазарев
    02 сентября 2015, 09:37
    «Целью трейдера при открытии позиций в активах является максимизация ожидания имеющихся ресурсов при постоянной ревизии этих позиций в течение времени, для того, чтобы обеспечить динамическую оптимальность стратегии» ©

    Говорите на человеческом языке, а не на птичьем (конечно, если хотите что бы вас поняли). И вообще, будьте проще, и народ к вам потянется.

    А про цели трейдера при открытии позиции можно сказать без всяких «пи»: цель срубить деньжат за счёт других участников торгов.

    Правда бывают ещё цели «впарить» обучение, бота, сигналы и прочий шлак.
  • broker25
    02 сентября 2015, 09:43
    мне кажется, стоило дать выводы и ссылку на полную статью.
    1. Вопрос к коинтеграции. А зачем совместная регрессия? есть ли преимущество по отношению к отдельным регрессиям? есть ли преимущество по отношению к регрессии на себя и на индекс?
    2. Из поста я не понял, как из альфы, веги и дельты получить цены акций.
    • Николай Лазарев
      02 сентября 2015, 09:46
      broker25, )))) Не умничай! Не хочешь покупать бота — отойди в сторонку, дай другим товар пошупать.

      Товарищ uralpro, мне два заверните на вынос!
  • Brad Tick
    02 сентября 2015, 10:18
    какой компонент отвечает за подстройку под рынок? есть вектор оптимальных компонент, но это же подстройка под то, что уже было. как подстроиться под то, что возможно будет?
  • SergeyJu
    02 сентября 2015, 10:59
    В диагональном разложении
    U — матрица не из собственных значений, а из собственных векторов. Но есть непонятка, Вы рассуждаете так, словно С — самосопряженная матрица. А это не так.
      • SergeyJu
        02 сентября 2015, 11:35
        uralpro, из Вашей таблички.
        Если там попарные коэфф. ковариации, то должна быть симметричной, конечно. Но в табличке омега симметричная, а С — нет.
          • SergeyJu
            02 сентября 2015, 13:37
            uralpro, Вы разлагаете I-C=k. Поскольку С несимметрична, k тоже несимметрична. В этой ситуации собственные числа не обязаны быть положительными и даже не обязаны быть вещественными.
            Или что-то я неправильно понимаю.
  • Pereira
    02 сентября 2015, 11:24
    ну а что если ситуация выходит за два отклонения? Вот так бац, и здрасьте, например, 5 отклонений. И среднее сразу поменяется и весь преасимтотический процесс пойдет по другому пути, уже без этого алгоритма на рынке, м?
      • SergeyJu
        02 сентября 2015, 11:36
        uralpro, то есть критерий разладки — стоп-лосс?
  • Pereira
    02 сентября 2015, 20:14
    нене, в динамике процесс уже не стоит пересчитывать
    это уже постфактум-оптимизация, т.е. подгон под случившееся событие, а это лишено всякого смысла
    так, пощекотать самолюбие красивой картинкой «как могло бы быть» )))

    Еще раз перечитал и понял, что в первый раз подкорочно осталось:
    "γ- мера риска (подбирается при тестировании)". То есть имеете волатильность бумажки, определяете меру риска ПО РЕЗУЛЬТАТАМ ТЕСТИРОВАНИЯ, а затем меру риска при котором пОртфель показывает плюс подставляете для будущих сделок.

    Ребята, которые получили Нобеля за оценку портфелей, слились в один момент. Их просто не стало. И, да, они тоже считали меру риска и собственный слив оценивали как 1 раз в 10.000 лет. И вот надо ж, случилось прям сразу! ))))

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн