Кореляція двох часових рядів

Аналіз часових рядів у 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 Industrial Average і спостереження НЛО (www.nuforc.org)

  • Кореляція рівнів: 0,94

  • Кореляція відсоткових змін: $\large \approx$ 0
Аналіз часових рядів у Python

Приклад: кореляція акцій великих і малих компаній

  • Почніть із цін акцій SPX (великі компанії) і R2000 (малі компанії)
  • Крок 1: обчисліть відсоткові зміни обох рядів
      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...