Алексей Бачеров
Алексей Бачеров личный блог
05 мая 2025, 15:33

Автокорреляция MCFTR

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

Такая задача в математике решается с помощью автокорреляции. Это по сути расчет значений корреляции между значениями ряда со сдвигом на заданную величину. Например, у нас есть значения помесячной доходности за 12 месяцев. Если мы посчитаем корреляцию этих 12 значений самих к себе, то корреляция логично будет равна 1, так как такие условные два ряда будут идентичными на 100%. Но если мы возьмем сдвиг на один месяц то есть посчитаем корреляцию между рядом с 1-го по 11-й месяц и со 2-го по 12-й, то мы сможем установить наличие или отсутствие взаимосвязи между значения предыдущего периода и последующего. Сдвиг может быть любой.

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

Для примера я взял индекс полной доходности Московской биржи MCFTR (IMOEX + дивиденды), посчитал прирост индекса в непрерывных процентах (логарифмических), построил график ACF для определения стационарности ряда, и рассчитал корреляции со сдвигом в 1 месяц, 2 месяца и так далее до 12 месяцев. Результаты приведены на скриншотах.
Помесячная доходность (логарифмическая) MCFTR за весь период
Значения корреляций между доходностями (логарифмическими) MCFTR со сдвигом от 1 до 12 месяцев
Автокорреляция MCFTR
Общие выводы можно изложить так:

✅ Временной ряд логарифмических помесячных доходностей MCFTR можно считать стационарным
✅ Взаимосвязь между значениями прошлых периодов с текущими есть с лагом в 1 месяц прямая и 6 месяцев обратная.

12 Комментариев
  • Михаил
    05 мая 2025, 15:41
    > Как говорит нам наука, значимой можно считать корреляцию если она больше 0.7 или меньше -0.7. Слабозначима если больше 0.5 и меньше -0.5, если значение корреляции лежит в пределах от -0.5 до 0.5 можно считать, что никакой взаимосвязи не существует

    Наука такого не говорит — значимость зависит от количества данных. Значение корреляции R пересчитывает в t-статистику по формуле R * sqrt((n — 2) / (1 -R^2)). А дальше значимость надо смотреть по таблицам распределения Стьюдента с n — 2 степенями свободы
    • Михаил
      05 мая 2025, 15:46
      Михаил, и в добавок — вы видимо считали в стат пакете каком-то AFC, и он вам доверительный интервальчик нарисовал по правильным формулам, о которых говорит математика. Значима автокорреляция с 1 и 6 лагом
  • Не совсем понял идею стационарности - ведь она предполгает сохранение постоянного значения матожидания и дисперсии независимо от точки отсчета. Что у индекса реально эти параметры - константы?
    • Андрей Сергеевич
      05 мая 2025, 20:47
      Требониус Арториус, не у индекса, у доходности индекса. Adf тест на значениях индекса показал нестационарность, а доходность — стационарный ряд. Тест делал месяц или два назад.
        • Андрей Сергеевич
          06 мая 2025, 15:29
          Алексей Бачеров, нет.

          Вот мои результаты (из python statsmodlibrary).
          По конечным месячным значениям индекса mcftr конечно не стационарный (статистка теста -1,41, pvalue 0,57, Ho о стационарности отвергается). Критические значения при разных уровнях значимости {'1%': -3.4333124035016755, '5%': -2.862848698658432,   '10%': -2.5674666837288345).
          А вот по ариф. доходности mcftr статистика теста
          -9.598820709786356, p-value  1.9453587542625362e-16. Много меньше 1%. Соответственно Ho о стационарности не отвергается.
          Модель ARIMA (1,0,1) дала лучший результат с log likelihood -4139.932 и  наименьший AIC (8287,86).
          AR коэф отрицательный (и стат. значимый). MA положительный и стат значимый.

                           coef    std err          z      P>|z|      [0.025      0.975]

          const        0.0527   0.031    1.721    0.085    -0.007     0.113
          ar.L1.ret   -0.5156   0.150  -3.443    0.001    -0.809    -0.222
          ma.L1.ret   0.4257   0.158   2.693    0.007     0.116     0.736

  • ABC4045
    05 мая 2025, 16:29
    Вот молодец же, молодец, доказал то, что и так было ясно. Осталось доказать, что солнце круглое, жёлтое и греет и тогда… там как мин.нобелевка.
  • SergeyJu
    05 мая 2025, 17:48
    Предположение о стационарности, имхо, не обосновано. Более того, оно, я уверен, неверно. 
    Вообще, я стараюсь не использовать для анализа автокорреляционные функции. Уж больно мутные результаты получаются в реальных ситуациях, когда предположения о стационарности неверны и, также неверны, предположения о том, что анализируемые данные не окрашены спектрально. 

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

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