Корреляция двух временных рядов

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

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Корреляция двух временных рядов

  • График S&P500 и акций JPMorgan
Анализ временных рядов на Python

Корреляция двух временных рядов

  • Диаграмма рассеяния доходностей S&P500 и JP Morgan
Анализ временных рядов на Python

Больше диаграмм рассеяния

  • Корреляция = 0,9

  • Корреляция = -0,9

  • Корреляция = 0,4

  • Корреляция = 1,0

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

Типичная ошибка: корреляция двух трендовых рядов

  • Промышленный индекс Dow Jones и наблюдения НЛО (www.nuforc.org)

  • Корреляция уровней: 0,94

  • Корреляция процентных изменений: $\large \approx$ 0
Анализ временных рядов на Python

Пример: корреляция акций крупной и малой капитализации

  • Исходные данные: цены акций SPX (крупная капитализация) и R2000 (малая капитализация)
  • Первый шаг: вычислить процентные изменения обоих рядов
      df['SPX_Ret'] = df['SPX_Prices'].pct_change()
      df['R2000_Ret'] = df['R2000_Prices'].pct_change()
    
Анализ временных рядов на Python

Пример: корреляция акций крупной и малой капитализации

  • Визуализация корреляции с помощью диаграммы рассеяния
      plt.scatter(df['SPX_Ret'], df['R2000_Ret'])
      plt.show()
    

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

Пример: корреляция акций крупной и малой капитализации

  • Метод корреляции pandas для Series
correlation = df['SPX_Ret'].corr(df['R2000_Ret'])
print("Correlation is: ", correlation)
Correlation is: 0.868
Анализ временных рядов на Python

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

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

Preparing Video For Download...