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

Анализ временных рядов на Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Что такое автокорреляция?

  • Корреляция временного ряда с его же сдвинутой копией
  • Также называется серийной корреляцией
  • Автокорреляция с лагом 1
Анализ временных рядов на Python

Интерпретация автокорреляции

  • Возврат к среднему — отрицательная автокорреляция
Анализ временных рядов на Python

Интерпретация автокорреляции

  • Моментум, или следование тренду — положительная автокорреляция

Анализ временных рядов на Python

Как трейдеры используют автокорреляцию

  • Отдельные акции
    • Исторически имеют отрицательную автокорреляцию
    • Измеряется на коротких горизонтах (дни)
    • Стратегия: покупать аутсайдеров, продавать лидеров
  • Сырьё и валюты
    • Исторически имеют положительную автокорреляцию
    • Измеряется на длинных горизонтах (месяцы)
    • Стратегия: покупать лидеров, продавать аутсайдеров
Анализ временных рядов на Python

Пример положительной автокорреляции: валютные курсы

  • Используем дневные курсы $\yen$/$ в DataFrame df из FRED
  • Преобразуем индекс в формат datetime
# Convert index to datetime
df.index = pd.to_datetime(df.index)

# Downsample from daily to monthly data df = df.resample(rule='M').last()
# Compute returns from prices df['Return'] = df['Price'].pct_change()
# Compute autocorrelation autocorrelation = df['Return'].autocorr() print("The autocorrelation is: ",autocorrelation)
The autocorrelation is: 0.0567
Анализ временных рядов на Python

Давайте потренируемся!

Анализ временных рядов на Python

Preparing Video For Download...