Идентификация коинтегрированных пар акций на фондовых рынках

    Цель данной статьи — поделиться результатами исследования по выявлению коинтегрированных пар акций, которые представлены на Московской и Нью-Йоркской биржах, с помощью теста Энгла-Грэнджера.

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

    Принцип, на котором строится извлечение прибыли


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

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

    Как на фондовых рынках находить пары, связанные долгосрочным динамическим равновесием?

    Корреляция


    Первая мысль, которая приходит в голову — это вычислить корреляцию между двумя бумагами и торговать пары с сильной корреляцией. Этот подход терпит неудачу по двум причинам.

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

    Во-вторых, корреляция не даёт нам достаточной информации о взаимосвязи двух акций в долгосрочной перспективе. Например, возьмём большой и диверсифицированный портфель акций. Пусть эти акции также входят в фондовый индекс, и пусть веса акций в портфеле определяются их весами в индексе. Хотя портфель в долгосрочной перспективе должен двигаться в соответствии с индексом, будут периоды, когда акции, которые находятся в индексе, но не в портфеле, будут иметь необычные движения цен. Следовательно, эмпирические корреляции между портфелем и индексом в течение некоторого времени могут быть довольно низкими. Из-за этого при анализе мы просто отбросим такой портфель и упустим возможность заработать. Отсюда следует, что корреляция не является хорошим способом идентификации пар.

    Лучше для идентификации пар использовать коинтеграцию.

    Коинтеграция


    Часто для обеспечения стационарности экономических рядов мы берём разности. Это приводит к следующему определению интеграции.

    Временной ряд называется интегрированным порядка $k$ и обозначается $x_t \sim I(k)$, если он и его разности до порядка $k-1$ включительно нестационарны, а его разность порядка $k$ стационарна.

    Нам для получения практических результатов потребуются только значения $k=0$ и $k=1$. Если $k=0$, то сам ряд будет стационарным, и я для краткости далее буду обозначать такие ряды $I(0)$. Для $k=1$ ряд будет нестационарным со стационарными приращениями (разностями первого порядка), и я для краткости далее буду обозначать такие ряды $I(1)$.

    Пусть у нас есть два $I(1)$ ряда, $x_t$ и $y_t$. Пусть, кроме того, их линейная комбинация $y_t - \beta x_t$ является $I(0).$ В этом случае ряды $x_t$ и $y_t$ называются коинтегрированными:

    $\varepsilon_t = y_t - \beta x_t \sim I(0).$


    По сути, коинтеграция — это регрессия нестационарных рядов. Она означает, что, если $\varepsilon_t$ имеет нулевое среднее, то этот ряд будет редко далеко отклоняться от нуля и часто пересекать нулевой уровень. Иными словами, время от времени будет достигаться точное равновесие или близкое к нему состояние.

    Коинтеграция логарифмов цен


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

    Объясняется это «гипотезой эффективного рынка», моделью ценообразования опционов и леммой Ито. На самом деле, у гипотезы эффективного рынка нет строгой формализации. Эта гипотеза предполагает, что на ликвидном рынке, где цена актива будет результатом уравновешенного спонтанного спроса и предложения, текущая цена будет точно отражать всю информацию, которая доступна игрокам на рынке. Будущие изменения в цене могут быть только результатом «новостей», которые по определению непредсказуемы, так что лучший прогноз цены на любую будущую дату — это просто цена сегодня. Другими словами, цена сегодня — это вчерашняя цена плюс случайный элемент.

    Гипотеза эффективного рынка связана с основной моделью ценообразования опционов. Фундаментальное предположение этой модели заключается в том, что цена базового актива $S$ удовлетворяет процессу геометрического броуновского движения (GBM):

    $\frac{dS}{S} = \mu dt + \sigma dW,$


    где $\mu$ и $\sigma$ — константы, которые представляют собой, соответственно, смещение в цене актива и волатильность доходности, а $W$ — это винеровский процесс, то есть приращения $dW$ независимы и нормально распределены с нулевым средним и дисперсией $dt$.

    Чтобы увидеть, как уравнение GBM связано с гипотезой эффективного рынка, нужно применить к нему лемму Ито. В чём она заключается? Допустим, что значения переменной $x$ подчиняются стохастическому дифференциальному уравнению (СДУ)

    $dx = \mu dt + \sigma dW,$


    где $W$ — это винеровский процесс, а $\mu$ и $\sigma$ – функции, которые зависят от переменных $x$ и $t$. Допустим также, что функция $f$ зависит от переменных $x$ и $t$ и имеет производные $\frac{\partial f}{\partial t}$, $\frac{\partial f}{\partial x}$, $\frac{\partial^2 f}{\partial x^2}$. Лемма Ито утверждает, что данная функция подчиняется уравнению

    $df = (\frac{\partial f}{\partial t} + \mu \frac{\partial f}{\partial x} + \frac{\sigma^2}{2} \frac{\partial^2 f}{\partial x^2})dt + \sigma \frac{\partial f}{\partial x} dW.$


    По сути, лемма Ито — это формула замены переменных в СДУ, где при определённых условиях функция от некоторого СДУ также является СДУ.

    Вернёмся к уравнению GBM и преобразуем его в виде

    $dS = \mu Sdt + \sigma SdW.$


    Полагая $f=f(S,t)$, по лемме Ито получаем:

    $df=(\frac{\partial f}{\partial t} + \mu S \frac{\partial f}{\partial S} + \frac{\sigma^2 S^2}{2} \frac{\partial^2 f}{\partial S^2})dt + \sigma S \frac{\partial f}{\partial S} dW.$


    Введём функцию $f(S)=\ln ⁡S$. Поскольку

    $\frac{\partial \ln ⁡S}{\partial S}=\frac{1}{S}, \frac{\partial^2 \ln ⁡S}{\partial S^2}=-\frac{1}{S^2}, \frac{\partial \ln ⁡S}{\partial t} = 0,$


    получаем:

    $$display$$d \ln ⁡S=(\frac{\partial \ln ⁡S}{\partial t} + \mu S \frac{\partial \ln ⁡S}{\partial S} + \frac{\sigma^2 S^2}{2} \frac{\partial^2 \ln ⁡S}{\partial S^2})dt + \sigma S \frac{\partial \ln ⁡S}{\partial S} dW = \\ = (0 + \mu S \frac{1}{S} - \frac{\sigma^2 S^2}{2} \frac{1}{S^2})dt + \sigma S \frac{1}{S} dW = (\mu - \frac{\sigma^2}{2})dt + \sigma dW.$$display$$


    Уравнение

    $d \ln ⁡S = (\mu - \frac{\sigma^2}{2})dt + \sigma dW$


    можно переписать в дискретном виде

    $\Delta \ln S_t = c + \varepsilon_t,$


    где $c = \mu - \sigma^2/2$, а $\varepsilon_t \sim NID(0, \sigma^2)$, то есть здесь процесс $\varepsilon_t$ не просто стационарный, а является белым шумом. Понятие стационарного процесса шире, чем белый шум, и оно отличается тем, что стационарный процесс имеет постоянное матожидание, но оно не обязательно должно равняться нулю, как в случае с белым шумом.

    Дискретную версию уравнения, приведённого выше, можно, в свою очередь, записать в виде:

    $\ln⁡ S_t = c + \ln S_{t-1} + \varepsilon_t.$


    Данное уравнение – это модель случайного блуждания (RW), которая обычно применяется для моделирования логарифмов цен на эффективных финансовых рынках, и которая является примером $I(1)$ процесса. Таким образом, коинтеграция также может относиться и к логарифмам цен акций.

    Несмотря на то, что некоторые скептики (в частности, я) могут сомневаться относительно адекватности описания цены акции уравнением GBM и, следовательно, возможности коинтеграции между логарифмами цен, эмпирические данные успешно развеивают этот скептицизм. Я проверяла: если коинтегрированы цены, то коинтегрированы и их логарифмы.

    Тестирование коинтеграции


    Первыми метод тестирования коинтеграции придумали Роберт Энгл и Клайв Грэнджэр. Они в 2003 году получили Нобелевскую премию по экономике за разработку метода коинтеграции для анализа временных рядов. Описали они его за 15 лет до премии, в 1987 году в статье «Cointegration and error correction: representation, estimation and testing».

    Концептуально, для того, чтобы по имеющимся наблюдениям определить, являются ли временные ряды $x_t$ и $y_t$ коинтегрированными, нам необходимо провести тестирование нулевой гипотезы $H_0: \varepsilon_t \sim I(1)$ на отсутствие коинтеграции между рядами $x_t$ и $y_t$ против альтернативной гипотезы $H_1: \varepsilon_t \sim I(0)$. Если нулевая гипотеза отвергается, признаётся наличие коинтеграции.

    Оригинальный тест на коинтеграцию получил название теста Энгла-Грэнджера в честь его основателей. Он представляет собой двухшаговый процесс, которому предшествует проверка $x_t$ и $y_t$ на интегрируемость первого порядка, $x_t \sim I(1)$ и $y_t \sim I(1)$. Мы это подробно обсуждали в статье про стационарные приращения. По сути, там описаны все подготовительные работы, которые необходимо сделать до того, как приступить непосредственно к тесту Энгла-Грэнджера. Допустим, мы это сделали.

    Ряды $x_t$ и $y_t$ являются коинтегрированными, если их спред $y_t - \beta x_t \sim I(0)$, то есть является стационарным. Первый шаг в тесте Энгла-Грэнджера заключается в получении состоятельной оценки $\hat{\beta}$. Это делается с помощью применения МНК (метода наименьших квадратов) для линейной регрессии к уравнению $y_t = \beta x_t + \varepsilon_t$. Второй шаг заключается в проверке на стационарность остатков $\varepsilon_t$, полученных при МНК-оценивании коинтеграционного уравнения.

    Обычно стационарность мы проверяем тестом Дики-Фуллера. Однако в 1990 году Филлипс и Улиарис в статье «Asymptotic properties of residual based tests for cointegration» показали, что к проверке ряда $\varepsilon_t$ нельзя применять тест Дики-Фуллера.

    Дело в том, что МНК «выбирает» остатки так, чтобы они имели наименьшую возможную вариацию, поэтому, даже если переменные не коинтегрированы, МНК делает остатки «похожими» на стационарные. Из-за этого при использовании теста Дики-Фуллера гипотеза нестационарности отвергается слишком часто и, соответственно, ошибочно принимается гипотеза наличия коинтеграции.

    Если мы изучим статью авторов, то увидим, что в приложении они дают таблицы с критическими значениями, однако они оказались довольно неточными. Позднее, в 1991 году, Энгл и Грэнджер издали книжку «Long-Run Economic Relationship». В ней в 13-ой главе под названием «Critical value for cointegration tests» МакКиннон привёл уточнённые асимптотические критические значения $t$-статистики, которые были получены имитационным моделированием и подходят для данного случая.

    В 1993 году МакКиннон вместе с Дэвидсоном издали свою книжку «Estimation and Inference in Econometrics», где тоже привели уточнённые критические значения. Таким образом, если $\varepsilon_t \sim I(0)$ (остатки стационарны), то $y_t - \beta x_t \sim I(0)$ (спред тоже стационарен), что означает наличие коинтеграции между $x_t$ и $y_t$.

    В общем, метод Энгла-Грэнджера сводится к:

    1. оценке $\beta$ с помощью МНК;
    2. вычислению спреда $\varepsilon_t = y_t - \beta x_t$ и тестированию $\varepsilon_t$ на стационарность с помощью уточнённых критических значений.

    В стандартных пакетах типа матлаба этот тест уже написан, давайте им воспользуемся.

    Тестирование коинтеграции в MATLAB


    Итак, у нас есть два ряда цен акций, $x_t$ и $y_t$. Мы хотим, чтобы $x_t$ и $y_t$ были коинтегрированными, то есть чтобы спред $\varepsilon_t = y_t - \beta x_t$ был стационарным. Если мы хотим получить стационарный ряд с нулевым средним, то можем включить постоянную в уравнение, так что спред будет выглядеть как $\varepsilon_t = y_t - \beta x_t - \alpha$.

    Начнём с результатов, полученных на Московской бирже, которые я описывала в статье про стационарные приращения. Там я нашла пять $I(1)$ рядов. Составим из них всевозможные комбинации и проверим на коинтеграцию с помощью теста Энгла-Грэнджера.

    Сначала выберем из базы данных Microsoft SQL Server, в которой я храню спарсенные с Московской биржи значения цен акций, нужные нам бумаги и импортируем их в виде массива:

    conn = database.ODBCConnection('uXXXXXX.mssql.masterhost.ru', 'uXXXXXX', 'XXXXXXXXXX');
    curs = exec(conn, 'SELECT ALL PriceId, StockId, Date, Price FROM StockPrices WHERE StockId IN (52, 55, 67, 75, 162) AND Date >= ''2016-01-01 00:00:00.000'' AND Date < ''2017-01-01 00:00:00.000''');
    curs = fetch(curs);
    data = curs.Data
    sqlquery = 'SELECT ALL StockId, ShortName, Code FROM Stocks WHERE StockId IN (52, 55, 67, 75, 162)';
    curs = exec(conn, sqlquery);
    curs = fetch(curs);
    names = curs.Data
    close(conn);
    

    В этом массиве для четырёх из пяти акций есть данные с января за 252 торговых дня. Однако, для одной из акций сделки начали совершаться только в феврале, так что данные есть только за 215 торговых дней. Нам критически важно, чтобы у всех акций массив цен был одинаковой длины, поэтому в таких ситуациях у нас есть два варианта.

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

    dates = unique(datetime(data(:,3)));
    % Cut dates array until price of stock with StockId=67 is not empty.
    dates(1:37,:) = [];
    prices = zeros(length(dates),length(names));
    for i = 1:length(names)
        % Indexes with current stock's data
        indexes = find(cell2mat(data(:,2)) == cell2mat(names(i,1)));
        if length(indexes) == 252
            indexes(1:37,:) = [];
        end
        for j=1:length(dates)
            % Fill prices according to date
            prices(j,i) = cell2mat(data(indexes(j),4));
        end
    end
    

    Тест Энгла-Грэнджера выполняется с помощью функции egcitest, которая на вход принимает массив из временных рядов, в данном случае размера $n \times 2$, где $n$ — количество торговых дней. На выходе функция возвращает логическое значение, равное 1, если нулевая гипотеза отвергается в пользу альтернативной, и 0 – иначе.

    Следующая задача, которую нам надо решить, — какую акцию принять за $x_t$, а какую — за $y_t$. По-хорошему, надо попробовать и то, и другое, а затем сравнить тестовые статистики. В большинстве случаев, будет существовать как прямая, так и обратная регрессия. Давайте начнём со случая, когда $x_t < y_t$.

    Составим все возможные пары из пяти выявленных $I(1)$ рядов и выполним тест Энгла-Грэнджера как для регрессии со свободным членом (по умолчанию), так и без него (задаётся аргументом 'creg' со значением 'nc'):

    isCoint = zeros(length(nchoosek(names(:,1),2)), 3);
    k=1;
    for i=1:length(names)
        for j=i+1:length(names)
            if mean(prices(:,i)) < mean(prices(:,j))
                isCoint(k,1) = cell2mat(names(j,1));
                isCoint(k,2) = cell2mat(names(i,1));
                testPrices(:,1) = prices(:,j);
                testPrices(:,2) = prices(:,i);
            else
                isCoint(k,1) = cell2mat(names(i,1));
                isCoint(k,2) = cell2mat(names(j,1));
                testPrices(:,1) = prices(:,i);
                testPrices(:,2) = prices(:,j);
            end
            isCoint(k,3) = egcitest(testPrices);
            isCoint(k,4) = egcitest(testPrices, 'creg', 'nc');
            k = k + 1;
        end
    end
    

    В случае регрессии со свободным членом программа два раза отвергает нулевую гипотезу в пользу альтернативной модели, выявляя коинтегрированные пары акций с тикерами (NKHP, VTRS), (NKHP, ZHIV). В случае регрессии без свободного члена программа один раз отвергает нулевую гипотезу в пользу альтернативной, выявляя коинтегрированную пару акций с тикерами (VSYDP, NKHP).

    В случае обратной регрессии ($y_t < x_t$) со свободным членом программа два раза отвергает нулевую гипотезу в пользу альтернативной модели, выявляя коинтегрированные пары акций с тикерами (VTRS, NKHP), (ZHIV, NKHP). В случае регрессии без свободного члена программа четыре раза отвергает нулевую гипотезу в пользу альтернативной, выявляя коинтегрированные пары акций с тикерами (GRNT, VTRS), (GRNT, VSYDP), (GRNT, ZHIV), (GRNT, NKHP).

    Давайте оценим значения $\beta$ и $\alpha$, которые могут быть получены в качестве возвращаемых значений функции egcitest, и нарисуем спред:

    % NKHP and VTRS
    indexY = 5;
    indexX = 1;
    testPrices(:,1) = prices(:,indexY);
    testPrices(:,2) = prices(:,indexX);
    [h,pValue,stat,cValue,reg1,reg2] = egcitest(testPrices);
    alpha = reg1.coeff(1);
    beta = reg1.coeff(2);
    spread = reg1.res;
    plot(dates,spread)
    legend(strcat(names(indexY,3),'-',names(indexX,3)));
    

    Для акций с тикерами NKHP и VTRS получаем спред с коэффициентами $\beta = 37,5523$ и $\alpha = 197,4397$:

    Для обратной регрессии получаем «зеркальный» спред с коэффициентами $\beta = 0,0185$ и $\alpha = -3,0064$:

    Для акций с тикерами NKHP and ZHIV получаем спред с коэффициентами $\beta = 3,3527$ и $\alpha = 239,3471$:

    Для обратной регрессии получаем спред с коэффициентами $\beta = 0,2194$ и $\alpha = -49,6077$:

    Для акций с тикерами VSYDP and NKHP получаем спред с коэффициентом $\beta = 35,6527$:


    Аналогичные эксперименты были проведены для акций Нью-Йоркской фондовой биржи (NYSE). В результате для прямой регрессии было получено 158 коинтегрированных пар в случае регрессии со свободным членом и 130 коинтегрированных пар в случае регрессии без свободного члена. Для обратной регрессии было получено 170 коинтегрированных пар в случае регрессии со свободным членом и 144 коинтегрированные пары в случае регрессии без свободного члена.

    Регрессионная статистика


    Давайте посмотрим на регрессионную статистику коинтегрированной регрессии для пары (NKHP, VTRS).
    Статистика Прямая регрессия Обратная регрессия
    Коэффициенты $\beta = 37,5523$, $\alpha = 197,4397$ $\beta = 0,0185$, $\alpha = -3,0064$
    Тестовая статистика $t_{calc} = -3,7562$, $t_{crit} = -3,3654$ $t_{calc} = -3,5906$, $t_{crit} = -3,3654$
    $t$-статистика $t_\beta = 21,9754$, $t_\alpha = 53,3845$ $t_\beta = 21,9754$, $t_\alpha = -12,8953$
    $F$-статистика 482,9196 482,9196
    Статистика Дарбина-Уотсона 0,2548 0,2203
    Коэффициент детерминации 0,6939 0,6939
    Скорректированный коэффициент детерминации 0,6925 0,6925
    Информационный критерий Акаике 1726,5 88,8336
    Баесовский информационный критерий Шварца 1733,2 95,5748
    Информационный критерий Ханнана-Куинна 1729,2 91,5574

    Тестовая статистика как в прямой, так и в обратной регрессии говорит нам, что переменная $\beta$ в данном случае незначима ($t_{calc} < t_{crit}$). Это означает, что цена может быть слабо экзогенной, даже несмотря на то, что переменные коинтегрированы.

    Для применения критерия Стьюдента и критерия Фишера необходимо, чтобы статистика имела нормальное распределение. В нашем случае, статистика имеет распределение, подобное тому, что было установлено Дики и Фуллером (о нём я тоже писала в статье про стационарные приращения), поэтому расчётные значения этих статистик будут довольно большими и ничего содержательного нам не скажут.

    Статистика Дарбина-Уотсона приемлемая (при положительной автокорреляции статистика стремится к нулю). В случае обратной регрессии она немного лучше, чем в случае прямой.

    Коэффициент детерминации приемлемый (для приемлемых моделей предполагается, что коэффициент детерминации должен быть хотя бы не меньше 50%). Судя по этому критерию, никакой разницы между прямой и обратной регрессией нет.

    Судя по информационным критериям, обратная регрессия сильно выигрывает перед прямой (считается, что наилучшей будет модель с наименьшим значением критерия).

    Посмотрим на регрессионную статистику коинтегрированной регрессии для пары (NKHP, ZHIV).
    Статистика Прямая регрессия Обратная регрессия
    Коэффициенты $\beta = 3,3527$ и $\alpha = 239,3471$ $\beta = 0,2194$ и $\alpha = -49,6077$
    Тестовая статистика $t_{calc} = -3,4762$, $t_{crit} = -3,3654$ $t_{calc} = -3,3878$, $t_{crit} = -3,3654$
    $t$-статистика $t_\beta = 24,3444$, $t_\alpha = 137,974$ $t_\beta = 24,3444$, $t_\alpha = -19,8524$
    $F$-статистика 592,652 592,652
    Статистика Дарбина-Уотсона 0,2614 0,2104
    Коэффициент детерминации 0,7356 0,7356
    Скорректированный коэффициент детерминации 0,7344 0,7344
    Информационный критерий Акаике 1695 1108,8
    Баесовский информационный критерий Шварца 1701,7 1115,5
    Информационный критерий Ханнана-Куинна 1697,7 1111,5

    Тестовая статистика как в прямой, так и в обратной регрессии говорит нам, что переменная $\beta$ в данном случае незначима. Статистика Дарбина-Уотсона приемлемая, в случае обратной регрессии немного лучше, чем в случае прямой. Коэффициент детерминации приемлемый, разницы между прямой и обратной регрессией не наблюдается. По информационным критериям, обратная регрессия немного выигрывает перед прямой.

    Регрессионная статистика коинтегрированной регрессии для пары (VSYDP, NKHP).
    Статистика Прямая регрессия
    Коэффициенты $\beta = 35,6527$
    Тестовая статистика $t_{calc} = -2,8339$, $t_{crit} = -2,7761$
    $t$-статистика 82,5035
    $F$-статистика $\infty$
    Статистика Дарбина-Уотсона 0,1305
    Коэффициент детерминации 0,1928
    Скорректированный коэффициент детерминации 0,1928
    Информационный критерий Акаике 3823,8
    Баесовский информационный критерий Шварца 3827,1
    Информационный критерий Ханнана-Куинна 3825,1

    Переменная $\beta$, судя по тестовой статистике, опять незначима. Критерий Фишера улетел в космос. Статистика Дарбина-Уотсона приемлемая. Коэффициент детерминации маленький, поэтому модель считается плохой.

    Выводы


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

    Что почитать по теме?


    Роберт Ф. Энгл, К. У. Дж. Грэнджер. Коинтеграция и коррекция ошибок: представление, оценивание и тестирование // Прикладная эконометрика. — 2015. — 39 (3). — С. 107-135.

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

    UPD. Аналитика по коинтегрированным парам за 2017 год на Московской бирже.

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 10

      0
      В двух словах, всё это, следить с помощью одних акций за другими.
        0
        Судя по количеству комментариев, пост оказался слишком тяжелым для аудитории Хабра :)
          0
          Эх… теперь придётся завести здесь корпоративный блог и выкладывать туда фото в купальниках.
          +1
          Может быть вы не поверите, но я это реально понимаю :) Спасибо автору за статью. Много полезного почерпнул.
            0
            Ксения, я понимаю, что можно это и самому прогуглить, но если вам не сложно, не могли бы вы вкратце объяснить смысл тех статистик, которые указаны в отчетах по коинтегрированным парам.

            И второй вопрос. Вы не пробовали применять тест на коинтеграцию к тройкам активов? Ведь в матлабе функция egcitest может работать и с бОльшим количеством входных данных. Может быть пара найдутся не пары, а тройки, четверки коинтегрированных акций?

            Если можно ваше мнение по поводу потенциальных рисков, которые возникнут при увеличении количества акций в коинтегрированном портфеле.

            Спасибо. У меня всё :)
              0
              Вы не пробовали применять тест на коинтеграцию к тройкам активов?

              Пробовала.

              Ведь в матлабе функция egcitest может работать и с бОльшим количеством входных данных.

              Для троек активов лучше подойдёт тест Йохансена.

              Может быть найдутся не пары, а тройки, четверки коинтегрированных акций?

              Такое может быть, но тройки и четвёрки всё равно будут составляться из пар. Можно доказать, что если (X,Y,Z) представляет собой коинтегрированную тройку, то должна существовать коинтеграция и в парах (X,Y), (X,Z) и (Y,Z).
              0
              Может быть кого-то заинтересует.
              Применил методику, описанную в статье к акциям ММВБ за 2018 год.

              Ниже список акций.
              Акции Московской фондовой биржи - котировки за 2018 год
              1. 'ABRD_Daily_201801030000_201901040000.csv'
              2. 'ACKO_Daily_201801040000_201901040000.csv'
              3. 'AFKS_Daily_201801030000_201901040000.csv'
              4. 'AFLT_Daily_201801030000_201901040000.csv'
              5. 'AGRO_Daily_201801030000_201901040000.csv'
              6. 'AKRN_Daily_201801030000_201901040000.csv'
              7. 'ALBK_Daily_201801120000_201812280000.csv'
              8. 'ALNU_Daily_201801040000_201901040000.csv'
              9. 'ALRS_Daily_201801030000_201901040000.csv'
              10. 'AMEZ_Daily_201801030000_201901040000.csv'
              11. 'APTK_Daily_201801030000_201901040000.csv'
              12. 'AQUA_Daily_201801040000_201901040000.csv'
              13. 'ARMD_Daily_201801030000_201901040000.csv'
              14. 'ARSA_Daily_201801040000_201812290000.csv'
              15. 'ASSB_Daily_201801030000_201901040000.csv'
              16. 'AVAN_Daily_201801040000_201812270000.csv'
              17. 'AVAZP_Daily_201801030000_201811260000.csv'
              18. 'AVAZ_Daily_201801030000_201811260000.csv'
              19. 'BANEP_Daily_201801030000_201901040000.csv'
              20. 'BANE_Daily_201801030000_201901040000.csv'
              21. 'BELU_Daily_201801030000_201901040000.csv'
              22. 'BISVP_Daily_201801030000_201901030000.csv'
              23. 'BLNG_Daily_201801030000_201901040000.csv'
              24. 'BRZL_Daily_201801030000_201901040000.csv'
              25. 'BSPB_Daily_201801030000_201901040000.csv'
              26. 'CBOM_Daily_201801030000_201901040000.csv'
              27. 'CHEP_Daily_201801030000_201901040000.csv'
              28. 'CHGZ_Daily_201801190000_201812290000.csv'
              29. 'CHKZ_Daily_201801040000_201901030000.csv'
              30. 'CHMF_Daily_201801030000_201901040000.csv'
              31. 'CHMK_Daily_201801030000_201901040000.csv'
              32. 'CHZN_Daily_201801050000_201810040000.csv'
              33. 'CLSBP_Daily_201801040000_201901040000.csv'
              34. 'CLSB_Daily_201801040000_201901040000.csv'
              35. 'CNTLP_Daily_201801030000_201901040000.csv'
              36. 'CNTL_Daily_201801030000_201901040000.csv'
              37. 'DASB_Daily_201801030000_201901040000.csv'
              38. 'DGBZ_Daily_201801040000_201802210000.csv'
              39. 'DIOD_Daily_201801040000_201901040000.csv'
              40. 'DIXY_Daily_201801030000_201806220000.csv'
              41. 'DSKY_Daily_201801030000_201901040000.csv'
              42. 'DVEC_Daily_201801030000_201901040000.csv'
              43. 'DZRDP_Daily_201801030000_201901040000.csv'
              44. 'DZRD_Daily_201801040000_201901040000.csv'
              45. 'EELT_Daily_201801030000_201901040000.csv'
              46. 'ELTZ_Daily_201801030000_201901040000.csv'
              47. 'ENPL_Daily_201801030000_201901040000.csv'
              48. 'ENRU_Daily_201801030000_201901040000.csv'
              49. 'FEES_Daily_201801030000_201901040000.csv'
              50. 'FESH_Daily_201801030000_201901040000.csv'
              51. 'FIVE_Daily_201802010000_201901040000.csv'
              52. 'FTRE_Daily_201801040000_201901040000.csv'
              53. 'GAZAP_Daily_201803300000_201901040000.csv'
              54. 'GAZA_Daily_201801030000_201901040000.csv'
              55. 'GAZP_Daily_201801030000_201901040000.csv'
              56. 'GCHE_Daily_201801030000_201901040000.csv'
              57. 'GMKN_Daily_201801030000_201901040000.csv'
              58. 'GRNT_Daily_201801030000_201901040000.csv'
              59. 'GTLC_Daily_201801030000_201901040000.csv'
              60. 'GTRK_Daily_201801050000_201901040000.csv'
              61. 'HALS_Daily_201801040000_201901040000.csv'
              62. 'HIMCP_Daily_201801040000_201901040000.csv'
              63. 'HYDR_Daily_201801030000_201901040000.csv'
              64. 'IGSTP_Daily_201801040000_201812280000.csv'
              65. 'IGST_Daily_201801050000_201901040000.csv'
              66. 'IRAO_Daily_201801030000_201901040000.csv'
              67. 'IRGZ_Daily_201801030000_201901040000.csv'
              68. 'IRKT_Daily_201801030000_201901040000.csv'
              69. 'ISKJ_Daily_201801030000_201901040000.csv'
              70. 'JNOSP_Daily_201801090000_201901040000.csv'
              71. 'JNOS_Daily_201801030000_201901030000.csv'
              72. 'KAZTP_Daily_201801030000_201901040000.csv'
              73. 'KAZT_Daily_201801030000_201901040000.csv'
              74. 'KBSB_Daily_201801110000_201812290000.csv'
              75. 'KBTK_Daily_201801030000_201901040000.csv'
              76. 'KCHEP_Daily_201801040000_201812270000.csv'
              77. 'KCHE_Daily_201801030000_201901030000.csv'
              78. 'KLSB_Daily_201801100000_201901040000.csv'
              79. 'KMAZ_Daily_201801030000_201901040000.csv'
              80. 'KMEZ_Daily_201801030000_201901040000.csv'
              81. 'KOGK_Daily_201801050000_201901040000.csv'
              82. 'KRKNP_Daily_201801030000_201901040000.csv'
              83. 'KRKN_Daily_201801030000_201901040000.csv'
              84. 'KRKOP_Daily_201801090000_201901040000.csv'
              85. 'KROTP_Daily_201801030000_201901030000.csv'
              86. 'KROT_Daily_201801030000_201901040000.csv'
              87. 'KRSBP_Daily_201801030000_201901040000.csv'
              88. 'KRSB_Daily_201801030000_201901040000.csv'
              89. 'KTSBP_Daily_201801030000_201812280000.csv'
              90. 'KTSB_Daily_201801030000_201901040000.csv'
              91. 'KUBE_Daily_201801040000_201901040000.csv'
              92. 'KUZB_Daily_201801030000_201901040000.csv'
              93. 'KZOSP_Daily_201801030000_201901040000.csv'
              94. 'KZOS_Daily_201801030000_201901040000.csv'
              95. 'LIFE_Daily_201801030000_201901040000.csv'
              96. 'LKOH_Daily_201801030000_201901040000.csv'
              97. 'LNTA_Daily_201801030000_201901040000.csv'
              98. 'LNZLP_Daily_201801030000_201901040000.csv'
              99. 'LNZL_Daily_201801040000_201901040000.csv'
              100. 'LPSB_Daily_201801050000_201901040000.csv'
              101. 'LSNGP_Daily_201801030000_201901040000.csv'
              102. 'LSNG_Daily_201801030000_201901040000.csv'
              103. 'LSRG_Daily_201801030000_201901040000.csv'
              104. 'LVHK_Daily_201801030000_201901040000.csv'
              105. 'MAGEP_Daily_201801040000_201901040000.csv'
              106. 'MAGE_Daily_201801030000_201901040000.csv'
              107. 'MAGN_Daily_201801030000_201901040000.csv'
              108. 'MFGSP_Daily_201801030000_201901030000.csv'
              109. 'MFGS_Daily_201801030000_201812270000.csv'
              110. 'MFON_Daily_201801030000_201901040000.csv'
              111. 'MGNT_Daily_201801030000_201901040000.csv'
              112. 'MGNZ_Daily_201801100000_201901030000.csv'
              113. 'MGTSP_Daily_201801030000_201901040000.csv'
              114. 'MGTS_Daily_201801040000_201901040000.csv'
              115. 'MGVM_Daily_201801030000_201901040000.csv'
              116. 'MISBP_Daily_201801050000_201812290000.csv'
              117. 'MISB_Daily_201801050000_201812280000.csv'
              118. 'MOBB_Daily_201801030000_201901040000.csv'
              119. 'MOEX_Daily_201801030000_201901040000.csv'
              120. 'MOTZ_Daily_201801030000_201803280000.csv'
              121. 'MRKC_Daily_201801030000_201901040000.csv'
              122. 'MRKK_Daily_201801030000_201901040000.csv'
              123. 'MRKP_Daily_201801030000_201901040000.csv'
              124. 'MRKS_Daily_201801030000_201901040000.csv'
              125. 'MRKU_Daily_201801030000_201901040000.csv'
              126. 'MRKV_Daily_201801030000_201901040000.csv'
              127. 'MRKY_Daily_201801030000_201901040000.csv'
              128. 'MRKZ_Daily_201801030000_201901040000.csv'
              129. 'MRSB_Daily_201801030000_201901030000.csv'
              130. 'MSNG_Daily_201801030000_201901040000.csv'
              131. 'MSRS_Daily_201801030000_201901040000.csv'
              132. 'MSST_Daily_201801030000_201901040000.csv'
              133. 'MSTT_Daily_201801030000_201901040000.csv'
              134. 'MTLRP_Daily_201801030000_201901040000.csv'
              135. 'MTLR_Daily_201801030000_201901040000.csv'
              136. 'MTSS_Daily_201801030000_201901040000.csv'
              137. 'MUGSP_Daily_201801040000_201812210000.csv'
              138. 'MVID_Daily_201801030000_201901040000.csv'
              139. 'NAUK_Daily_201801040000_201901040000.csv'
              140. 'NFAZ_Daily_201801040000_201901040000.csv'
              141. 'NKHP_Daily_201801030000_201901040000.csv'
              142. 'NKNCP_Daily_201801030000_201901040000.csv'
              143. 'NKNC_Daily_201801030000_201901040000.csv'
              144. 'NKSH_Daily_201801030000_201901030000.csv'
              145. 'NLMK_Daily_201801030000_201901040000.csv'
              146. 'NMTP_Daily_201801030000_201901040000.csv'
              147. 'NNSBP_Daily_201801030000_201901040000.csv'
              148. 'NNSB_Daily_201801110000_201901030000.csv'
              149. 'NSVZ_Daily_201801090000_201901040000.csv'
              150. 'NVTK_Daily_201801030000_201901040000.csv'
              151. 'OBUV_Daily_201801040000_201901040000.csv'
              152. 'ODVA_Daily_201801030000_201901040000.csv'
              153. 'OGKB_Daily_201801030000_201901040000.csv'
              154. 'OMSH_Daily_201801050000_201808210000.csv'
              155. 'OMZZP_Daily_201801040000_201901040000.csv'
              156. 'OPIN_Daily_201801030000_201901040000.csv'
              157. 'PAZA_Daily_201801050000_201901040000.csv'
              158. 'PHOR_Daily_201801030000_201901040000.csv'
              159. 'PIKK_Daily_201801030000_201901040000.csv'
              160. 'PLSM_Daily_201801030000_201901040000.csv'
              161. 'PLZL_Daily_201801030000_201901040000.csv'
              162. 'PMSBP_Daily_201801030000_201901040000.csv'
              163. 'PMSB_Daily_201801040000_201901040000.csv'
              164. 'POLY_Daily_201801030000_201901040000.csv'
              165. 'PRFN_Daily_201801030000_201901040000.csv'
              166. 'PRTK_Daily_201801030000_201901040000.csv'
              167. 'QIWI_Daily_201801030000_201901040000.csv'
              168. 'RASP_Daily_201801030000_201901040000.csv'
              169. 'RBCM_Daily_201801030000_201901040000.csv'
              170. 'RGSS_Daily_201801030000_201901040000.csv'
              171. 'RKKE_Daily_201801040000_201901040000.csv'
              172. 'RLMNP_Daily_201801030000_201901040000.csv'
              173. 'RLMN_Daily_201801030000_201901040000.csv'
              174. 'RNFT_Daily_201801030000_201901040000.csv'
              175. 'ROLO_Daily_201801030000_201901040000.csv'
              176. 'ROSB_Daily_201801040000_201812280000.csv'
              177. 'ROSN_Daily_201801030000_201901040000.csv'
              178. 'ROST_Daily_201801030000_201901030000.csv'
              179. 'RSTIP_Daily_201801030000_201901040000.csv'
              180. 'RSTI_Daily_201801030000_201901040000.csv'
              181. 'RTGZ_Daily_201801030000_201901040000.csv'
              182. 'RTKMP_Daily_201801030000_201901040000.csv'
              183. 'RTKM_Daily_201801030000_201901040000.csv'
              184. 'RTSBP_Daily_201801050000_201901030000.csv'
              185. 'RTSB_Daily_201801050000_201901030000.csv'
              186. 'RTSI_Daily_201801030000_201901040000.csv'
              187. 'RUAL_Daily_201801030000_201812290000.csv'
              188. 'RUGR_Daily_201801030000_201901040000.csv'
              189. 'RUSP_Daily_201801030000_201901040000.csv'
              190. 'RZSB_Daily_201801030000_201812290000.csv'
              191. 'SAGOP_Daily_201801090000_201901040000.csv'
              192. 'SAGO_Daily_201801050000_201901040000.csv'
              193. 'SAREP_Daily_201801030000_201901040000.csv'
              194. 'SARE_Daily_201801030000_201901040000.csv'
              195. 'SBERP_Daily_201801030000_201901040000.csv'
              196. 'SBER_Daily_201801030000_201901040000.csv'
              197. 'SELGP_Daily_201801030000_201901040000.csv'
              198. 'SELG_Daily_201801030000_201901040000.csv'
              199. 'SFIN_Daily_201801030000_201901040000.csv'
              200. 'SIBG_Daily_201801030000_201901040000.csv'
              201. 'SIBN_Daily_201801030000_201901040000.csv'
              202. 'SLEN_Daily_201801030000_201901040000.csv'
              203. 'SNGSP_Daily_201801030000_201901040000.csv'
              204. 'SNGS_Daily_201801030000_201901040000.csv'
              205. 'STSBP_Daily_201801030000_201901040000.csv'
              206. 'STSB_Daily_201801030000_201901040000.csv'
              207. 'SVAV_Daily_201801030000_201901040000.csv'
              208. 'SZPR_Daily_201801040000_201901040000.csv'
              209. 'TANL_Daily_201801030000_201901040000.csv'
              210. 'TASBP_Daily_201801030000_201901040000.csv'
              211. 'TASB_Daily_201801030000_201812280000.csv'
              212. 'TATNP_Daily_201801030000_201901040000.csv'
              213. 'TATN_Daily_201801030000_201901040000.csv'
              214. 'TGKA_Daily_201801030000_201901040000.csv'
              215. 'TGKBP_Daily_201801030000_201901040000.csv'
              216. 'TGKB_Daily_201801030000_201901040000.csv'
              217. 'TGKDP_Daily_201801030000_201901040000.csv'
              218. 'TGKD_Daily_201801030000_201901040000.csv'
              219. 'TGKN_Daily_201801040000_201901040000.csv'
              220. 'TNSE_Daily_201801030000_201901040000.csv'
              221. 'TORSP_Daily_201801030000_201901040000.csv'
              222. 'TORS_Daily_201801030000_201901030000.csv'
              223. 'TRCN_Daily_201801030000_201901040000.csv'
              224. 'TRMK_Daily_201801030000_201901040000.csv'
              225. 'TRNFP_Daily_201801030000_201901040000.csv'
              226. 'TTLK_Daily_201801030000_201901040000.csv'
              227. 'TUCH_Daily_201801030000_201901040000.csv'
              228. 'TUZA_Daily_201801030000_201812290000.csv'
              229. 'UCSS_Daily_201801090000_201812210000.csv'
              230. 'UKUZ_Daily_201801040000_201901040000.csv'
              231. 'UNAC_Daily_201801030000_201901040000.csv'
              232. 'UNKL_Daily_201801030000_201901030000.csv'
              233. 'UPRO_Daily_201801030000_201901040000.csv'
              234. 'URKA_Daily_201801030000_201901040000.csv'
              235. 'URKZ_Daily_201801030000_201901040000.csv'
              236. 'USBN_Daily_201801030000_201901040000.csv'
              237. 'UTAR_Daily_201801030000_201901040000.csv'
              238. 'UTSY_Daily_201801030000_201809190000.csv'
              239. 'UWGN_Daily_201801030000_201901040000.csv'
              240. 'VDSB_Daily_201801040000_201812280000.csv'
              241. 'VGSBP_Daily_201801040000_201901040000.csv'
              242. 'VGSB_Daily_201801030000_201901030000.csv'
              243. 'VJGZP_Daily_201801110000_201901040000.csv'
              244. 'VJGZ_Daily_201801090000_201812250000.csv'
              245. 'VLHZ_Daily_201801030000_201901040000.csv'
              246. 'VRSBP_Daily_201801050000_201812290000.csv'
              247. 'VRSB_Daily_201801050000_201812290000.csv'
              248. 'VSMO_Daily_201801030000_201901040000.csv'
              249. 'VSYDP_Daily_201801050000_201901040000.csv'
              250. 'VSYD_Daily_201801040000_201901040000.csv'
              251. 'VTBR_Daily_201801030000_201901040000.csv'
              252. 'VTRS_Daily_201801030000_201808230000.csv'
              253. 'VZRZP_Daily_201801030000_201901040000.csv'
              254. 'VZRZ_Daily_201801030000_201901040000.csv'
              255. 'WTCMP_Daily_201801100000_201901040000.csv'
              256. 'WTCM_Daily_201801030000_201901040000.csv'
              257. 'YAKG_Daily_201801030000_201901040000.csv'
              258. 'YKENP_Daily_201801040000_201901040000.csv'
              259. 'YKEN_Daily_201801030000_201901040000.csv'
              260. 'YNDX_Daily_201801030000_201901040000.csv'
              261. 'ZILL_Daily_201801030000_201901040000.csv'
              262. 'ZMZNP_Daily_201801030000_201812100000.csv'
              263. 'ZMZN_Daily_201801030000_201812110000.csv'
              264. 'ZVEZ_Daily_201801040000_201901040000.csv'


              Провел тест Дики-Фуллера adftest на наличие единичного корня. Получил 17 акций, которые прошли тест и на уровне значимости 5% являются процессами .
              Акции, прошедшие тест Дики-Фуллера
              • ALNU
              • APTK
              • ENPL
              • FTRE
              • GAZA
              • GTLC
              • GTRK
              • LIFE
              • MGNT
              • MSRS
              • MSTT
              • OBUV
              • PLSM
              • PRFN
              • PRTK
              • TGKBP
              • UTSY


              Далее составил пары акций. Получил 136 пар вида (X, Y) и протестировал тестом Энгла-Грейнджера egcitest на наличие коинтеграции как (X, Y) и (Y, X).
              Получил следующие пары (прошу прощения за повторы в списке)
              Коинтегрированные пары акций за 2018 год
              • ALNU/MGNT
              • ALNU/PLSM
              • APTK/TGKBP
              • ENPL/GAZA
              • FTRE/GTLC
              • FTRE/MSRS
              • FTRE/MSTT
              • FTRE/PRTK
              • FTRE/TGKBP
              • GAZA/ENPL
              • GTLC/FTRE
              • GTLC/LIFE
              • GTLC/MSRS
              • GTLC/PRFN
              • GTLC/PRTK
              • LIFE/GTLC
              • LIFE/MSRS
              • LIFE/PRFN
              • LIFE/UTSY
              • MGNT/ALNU
              • MSRS/FTRE
              • MSRS/GTLC
              • MSRS/LIFE
              • MSRS/PRTK
              • MSTT/FTRE
              • MSTT/TGKBP
              • PLSM/ALNU
              • PRFN/GTLC
              • PRFN/LIFE
              • PRTK/FTRE
              • PRTK/GTLC
              • PRTK/MSRS
              • PRTK/TGKBP
              • TGKBP/APTK
              • TGKBP/FTRE
              • TGKBP/MSTT
              • TGKBP/PRTK
              • UTSY/LIFE


              Из них на недельном графике видно что почти все эти пары коинтегрированы чисто случайно и обратно в историю они сильно расходятся. Может быть только вот пара ENPL/GAZA выглядит еще более менее приемлемо. Ниже приведены графики спреда
              Графики для спреда пары ENPL/GAZA за 2018 год
              Спред пары ENPL/GAZA за 2018 год
              Гистрограмма спреда пары ENPL/GAZA за 2018 год
              Тест на нормальность распределения данных спреда
              Тест на нормальность распределения данных спреда показал что данные распределены нормально

              Однако дальнейшее исследование показало, что и сам спред является процессом , а ему то как раз положено быть процессом , как необходимое условие для формирование рыночно-нейтральной стратегии.
              adftest для спреда пары показывает следующее:
              Результаты теста на единичный корень для спреда пары ENPL/GAZA
              [h,pValue,stat,cValue,reg] = adftest(coint{1, 3}{1, 5}.res)

              h =

              logical

              1

              pValue =

              1.0000e-03

              stat =

              -3.7930

              cValue =

              -1.9421

              reg =

              struct with fields:

              num: 241
              size: 240
              names: {'a'}
              coeff: 0.8864
              se: 0.0300
              Cov: 8.9714e-04
              tStats: [1×1 struct]
              FStat: [1×1 struct]
              yMu: 0.0025
              ySigma: 0.4108
              yHat: [240×1 double]
              res: [240×1 double]
              DWStat: 2.1234
              SSR: 31.6975
              SSE: 8.6492
              SST: 40.3466
              MSE: 0.0362
              RMSE: 0.1902
              RSq: 0.7856
              aRSq: 0.7856
              LL: 58.2346
              AIC: -114.4692
              BIC: -110.9886
              HQC: -113.0668


              Как видно, p-value = 0.001. То есть и эта пара не годится для рыночно-нейтральной стратегии.
                0
                Интересно. Чуть позднее повторю ваш эксперимент и, возможно, дам более содержательный комментарий.

                Сейчас сходу могу сказать, что у вас ошибка в вычислениях. В первом проходе вам нужны ряды, которые не прошли ADF тест, т.е. матлаб выдал 0 в ответ. Именно эти ряды будут рядами I(1). Наличие единичного корня означает, что процесс нестационарный, и когда матлаб не может отвергнуть эту гипотезу и отдаёт нам 0, это как раз и означает, что ряд является I(1). Если вы исправите эту ошибку, мы сможем продолжить дискуссию.
                  0
                  Блин точно :(
                  Спасибо за подсказку. Исправил. Стали обнаруживаться пары, спред которых на глаз выглядит как I(0). Многие, но не все из найденных таковы.
                    0
                    Выкачала данные с Мосбиржи за 2018 год. У меня нашлось 104 акции (временных ряда), которые удовлетворяют уравнению случайного блуждания (являются I(1)) длиной 254 торговых дня. Из них было составлено 5356 пар, 686 из которых тест Энгла-Грэнджера выявил как коинтегрированные.

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

                    Теперь у меня появился кластер и возможность проанализировать NYSE и NASDAQ. Посмотрим, что там. А на Мосбирже, возможно, стоит расширить анализ на фьючерсы. Интересно, будет ли акция коинтегрирована с фьючерсом на неё.

              Only users with full accounts can post comments. Log in, please.