공적분 모형

Python으로 배우는 시계열 분석

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

공적분이란?

  • $\large P_t$와 $\large Q_t$ 두 계열이 각각 랜덤 워크일 수 있음
  • 그러나 선형 결합 $\large P_t - c \ Q_t$는 랜덤 워크가 아닐 수도 있음
  • 그것이 사실이라면
    • $\large P_t - c \ Q_t$는 예측 가능
    • $\large P_t$와 $\large Q_t$는 공적분 관계에 있다고 함
Python으로 배우는 시계열 분석

비유: 줄에 묶인 개

  • $\large P_t = $ 주인
  • $\large Q_t = $ 개
  • 두 계열 모두 랜덤 워크처럼 보임
  • 둘의 차이(거리)는 평균 회귀 특성을 보임
    • 개가 너무 뒤처지면 앞으로 당겨짐
    • 개가 너무 앞서면 다시 뒤로 당겨짐
Python으로 배우는 시계열 분석

예시: 난방유와 천연가스

  • 난방유와 천연가스는 모두 랜덤 워크처럼 보임...

Python으로 배우는 시계열 분석

예시: 난방유와 천연가스

  • 하지만 스프레드(차이)는 평균 회귀 특성을 보임

Python으로 배우는 시계열 분석

어떤 계열이 공적분 관계에 있는가?

  • 경제적 대체재
    • 난방유와 천연가스
    • 플래티넘과 팔라듐
    • 옥수수와 밀
    • 옥수수와 설탕
    • ...
    • 비트코인과 이더리움?
  • 경쟁 관계는 어떨까요?
    • 코카콜라와 펩시?
    • 애플과 블랙베리? 아님! 줄이 끊겨 개가 달아남
Python으로 배우는 시계열 분석

공적분 검정의 두 단계

  • $\large P_t$를 $\large Q_t$에 회귀하여 기울기 $\large c$ 추정
  • $\large P_t - c \ Q_t$에 ADF 검정 실시 (랜덤 워크 여부 확인)
  • statsmodels의 coint 함수로 두 단계를 한 번에 수행 가능
from statsmodels.tsa.stattools import coint
coint(P,Q)
Python으로 배우는 시계열 분석

연습해 봅시다!

Python으로 배우는 시계열 분석

Preparing Video For Download...