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

Алготорговля коинтегрированными активами. Часть 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}\},

где \pi^* - вектор оптимальных долей в используемых активах,

\tau=T-t,

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

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

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

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

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

где \mathbf{Z}_n=\log(\mathbf{Y}_n),\epsilon_1,\epsilon_2,... - независимые случайные переменные со стандартным нормальным распределением (с ковариационной матрицей \mathbf{\Omega}) и 3х1 вектор b, и 3х3 матрица С , установленные из множественной регрессииИз ошибок регрессии затем составляется дисперсионно-ковариационная матрица для \epsilon_1. В таблицах ниже представлены результаты вычислений коэффициентов и дисперсионно-ковариационной матрицы.

tables

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

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

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

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

3. Диагонализируем \mathbf{k} путем разложения \mathbf{k}=\mathbf{UDU^{-1}}, где \mathbf{D} - матрица собственных значений, сортированных от наибольшего к наименьшему, \mathbf{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Отметим, что \mathbf{\delta'a}<0, значит процесс \alpha, несомненно, процесс возврата к среднему.

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

P&L

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

Заключение

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

13 Комментарии[ Ваш комментарий ]

  1. Добрый день.

    Спасибо за отличную статью.

    Интересует, кто нибудь пытался повторить вычисления в статье? Я пробовал получить VAR(1) модель по логарфмам цен GOOGL, FB, AMZN. Но результат и близко не совпадает.                   

                            b                                            C  
    ---------------------------------------------------------------------------------

    GOOGL        0.404                  0.92        0.015     0.005
    FB                0.179                  -0.013     0.994     -0.012
    AMZN          0.437                  -0.071      0.016     0.991

    Обратите внимание на диагональ.

    Может автор имел ввиду логарифм разности или разность логарифмов. 

    Не могу понять что я упустил.

     

    • Я пока не проверял вычисления в данной статье, но собираюсь реализовать этот алгоритм в ближайшее время. Обязательно напишу, что получилось
       

  2. Забыл добавить. брал цены за 2014.11.03, минутный таймфрейм.

  3. Вроде разобрался.

    В таблице параметров модели VAR(1), вместо \hat{C} указана I - \hat{C}

    Написал про это автору Prof. S. Jaimungal, он подтвердил. Да говорит, накосячил.

    Двигаемся дальше.

     

    • Огромное спасибо, что так тщательно подходите к разбору алгоритмов

      • Добрый день.
        Как я понял, авторы получили прибыльную стратегию, uralpro Вы пробовали ее реализовать своими силами для ММВБ?

        • Пока нет, но стоит в очереди на реализацию

          • Для российского рынка подойдет торговля даже двумя коррелированными инструментами, когда их спреды будет приведен к какому то коинтегрированному виду, НО реально хорошие результаты получаются при использовании фьючерсов для hft торговли.

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

            PS Если прикрутить к такому методу еще анализирование паттернов, то результаты торговли скорее всего не улучшатся, но должно сократится количество сделок и должно пройзойти увеличение процента успешных сделок(судя по результатам других авторов)  

  4. Igor, да мне очень интересно посмотреть на ваши результаты. Для меня сделать любого робота не проблема, так что можно скооперироваться

    • Хорошо, в ближайшее время отпишу на почту Вам.
      Подскажите а почему Вы перестали выкладывать результаты торговли своего робота?

Сообщение

Обратите внимание: вы можете использоватьHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>