複数の系列が互いを説明する
次数 p のベクトル自己回帰は、k 個の変数のベクトル yₜ を自身の p 期のラグに回帰します:yₜ=c+A₁yₜ₋₁+…+Aₚyₜ₋ₚ+eₜ。各式は同じ説明変数を持つので普通の最小二乗法で推定でき、行列の要素 (A₁)ⱼᵢ は前期の変数 i が今の変数 j をどれだけ動かすかを表します。VAR(data).select_order(6) はラグ 1 から 6 をAIC、BICなどで比べます(BICはパラメータごとの罰則が大きく、ラグを少なく選びがちです)。VAR(data).fit(p) はモデルを推定し、res.is_stable() はラグ多項式のすべての根が単位円の外にあることを確かめます。これがショックが減衰する条件です。SPYの月次リターン、対数ボラティリティ、10年利回りの変化を258か月分で使うと、AICは 2 ラグ、BICは 1 ラグを選びます。
グレンジャー因果性は因果ではなく予測の概念です。x のラグが y 自身のラグを超えて y の予測力を加えるとき、x は y のグレンジャー原因であり、y の式における x の係数がすべてゼロという F 検定で調べます。res.test_causality('lvol', ['ret'], kind='f') は統計量とp値を与えます。データでは、株式リターンがボラティリティ(p=0.005)と利回り(0.006)に先行し、ボラティリティ(0.95)と利回り変化(0.74)はリターンに先行しません。インパルス応答はショックがシステムを伝わる様子で、VAR(1)では s ステップ後の A₁^s の (j,i) 要素です。月次リターンへの単位ショック(100%)は翌月の対数ボラティリティを 1.82 下げ、その後 0.87、0.49、0.27 と、システムが安定なので減衰します。5%の下落なら -0.05 を掛け、ボラティリティは約 9% 上がります(レバレッジ効果)。res.forecast(last_obs, steps) は直近の p 個の観測からモデルを反復して同時予測を与え、対数ボラティリティは -2.12 から平均へ向かいます。
- ラグはAICとBICで選び(BICは少なめ)、システムが安定か確認する。
- グレンジャー因果性は予測的で因果ではない。ある変数のラグを別の式に入れた F 検定。
- インパルス応答はショックの減衰を示す。単位ショックは現実的な大きさに直して読む。
ラボ:採点される内容
- ラグの選択10点
- VARの当てはめ10点
- グレンジャー検定15点
- グレンジャー表10点
- インパルス応答15点
- 同時予測10点
- VARの研究30点