Korelace dvou časových řad

Analýza časových řad v Pythonu

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Korelace dvou časových řad

  • Graf akcií S&P500 a JPMorgan
Analýza časových řad v Pythonu

Korelace dvou časových řad

  • Bodový graf výnosů S&P500 a JP Morgan
Analýza časových řad v Pythonu

Další bodové grafy

  • Korelace = 0,9

  • Korelace = -0,9

  • Korelace = 0,4

  • Korelace = 1,0

Analýza časových řad v Pythonu

Častá chyba: Korelace dvou trendujících řad

  • Dow Jones Industrial Average a pozorování UFO (www.nuforc.org)

  • Korelace úrovní: 0,94

  • Korelace procentuálních změn: $\large \approx$ 0
Analýza časových řad v Pythonu

Příklad: Korelace akcií large cap a small cap

  • Ceny akcií SPX (large cap) a R2000 (small cap)
  • První krok: výpočet procentuálních změn obou řad
      df['SPX_Ret'] = df['SPX_Prices'].pct_change()
      df['R2000_Ret'] = df['R2000_Prices'].pct_change()
    
Analýza časových řad v Pythonu

Příklad: Korelace akcií large cap a small cap

  • Vizualizace korelace pomocí bodového grafu
      plt.scatter(df['SPX_Ret'], df['R2000_Ret'])
      plt.show()
    

Analýza časových řad v Pythonu

Příklad: Korelace akcií large cap a small cap

  • Výpočet korelace metodou pandas pro Series
correlation = df['SPX_Ret'].corr(df['R2000_Ret'])
print("Correlation is: ", correlation)
Correlation is: 0.868
Analýza časových řad v Pythonu

Pojďme si procvičit!

Analýza časových řad v Pythonu

Preparing Video For Download...