Modely kointegrace

Analýza časových řad v Pythonu

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Co je kointegrace?

  • Dvě řady, $\large P_t$ a $\large Q_t$, mohou být náhodné procházky
  • Lineární kombinace $\large P_t - c \ Q_t$ však náhodnou procházkou být nemusí!
  • Pokud to platí
    • $\large P_t - c \ Q_t$ je předvídatelná
    • $\large P_t$ a $\large Q_t$ jsou kointegrované
Analýza časových řad v Pythonu

Analogie: Pes na vodítku

  • $\large P_t = $ Majitel
  • $\large Q_t = $ Pes
  • Obě řady vypadají jako náhodná procházka
  • Rozdíl neboli vzdálenost mezi nimi vykazuje návrat k průměru
    • Pokud pes příliš zaostane, je přitažen dopředu
    • Pokud pes příliš předběhne, je přitažen zpět
Analýza časových řad v Pythonu

Příklad: Topný olej a zemní plyn

  • Topný olej a zemní plyn vypadají jako náhodné procházky...

Analýza časových řad v Pythonu

Příklad: Topný olej a zemní plyn

  • Ale spread (rozdíl) vykazuje návrat k průměru

Analýza časových řad v Pythonu

Které řady jsou kointegrované?

  • Ekonomické substituty
    • Topný olej a zemní plyn
    • Platina a palladium
    • Kukuřice a pšenice
    • Kukuřice a cukr
    • ...
    • Bitcoin a Ethereum?
  • A konkurenti?
    • Coca-Cola a Pepsi?
    • Apple a Blackberry? Ne! Vodítko se přetrhlo a pes utekl
Analýza časových řad v Pythonu

Dva kroky k testování kointegrace

  • Regresujte $\large P_t$ na $\large Q_t$ a získejte sklon $\large c$
  • Spusťte rozšířený Dickey-Fullerův test na $\large P_t - c \ Q_t$ pro test náhodné procházky
  • Alternativně lze použít funkci coint ve statsmodels, která oba kroky kombinuje
from statsmodels.tsa.stattools import coint
coint(P,Q)
Analýza časových řad v Pythonu

Pojďme si procvičit!

Analýza časových řad v Pythonu

Preparing Video For Download...