共和分モデル

Pythonで学ぶ時系列解析

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

共和分とは?

  • 2つの系列 $\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で学ぶ時系列解析

共和分検定の2ステップ

  • $\large P_t$ を $\large Q_t$ に回帰し、傾き $\large c$ を求める
  • $\large P_t - c \ Q_t$ に拡張Dickey-Fuller検定を適用し、ランダムウォークを検定する
  • または、statsmodelsの coint 関数で両ステップを一括実行可能
from statsmodels.tsa.stattools import coint
coint(P,Q)
Pythonで学ぶ時系列解析

練習しましょう!

Pythonで学ぶ時系列解析

Preparing Video For Download...