不動産マーケットに興味があり 『不動産マーケットの明日を読む』という本を読んでいます。 I部4章の 2.金利が下がったから株価が上昇した? での Granger因果について興味が湧いたので R で試してみました。不動産の話はでてきません。
VARモデルと変数間の動学的な関係性の分析
VAR (Vector Autoregressive) モデルは ARモデル の多変量に拡張された時系列モデルで R では {vars} パッケージで利用できる。
VARモデルは以下の3つの分析手法の土台となる。
- Granger因果性
- インパルス応答
- 分散分解
Granger因果性の検定は, ある変数が他の変数の予測に役立つかどうかの判定に用いる。経済的な理論を必要とせずにデータを中心に分析ができるが, 関係の強さはわからなく実際の因果関係とは向きが逆向きとなることもある。
一方で, インパルス応答はある変数に対するショックが他の変数に与える影響の度合いを分析できる。つまり, Granger因果ではわからない関係の強さがわかる。
分散分解はインパルス応答同様に, 変数間の動学的関係を定量的に分析できる。ある変数の予測できない変動を説明するために, どの変数が重要であるかを求める。
実質金利と日経平均の関係
実質金利と日経平均のGranger因果性を検証してみる。
まずはデータを収集する。国債名目利回りは財務省の国債金利情報を取ってくる。 このデータから, 10年国債の系列を利用する。
消費者物価指数 (CPI)は総務省統計局 政府統計の平成22年基準消費者物価指数を取ってきた。また, 日経平均株価 (終値)の月足データは様々なところで公開されている。
実質金利 = 名目金利 – インフレ率 なので, 実質金利を求めるために, まずはインフレ率を計算する。
インフレ率 = (その期のCPI – 前年同月のCPI) / 前年同月のCPI * 100
とすると, インフレ率は下記になった。
10年国債とインフレ率の差分系列を, 実質金利とした。これで実質金利と日経平均株価の2つの系列が揃った。
互いの系列の時間軸を合わせるため, 1986/08/01 から 2015/07/01 までとした。
実質金利と日経平均の関係を調べてみる。
vars::causality でGranger因果性検定を行う。実質金利 -> 株価 は p = 0.17。
> causality(df.var, cause = "real_interest")
$Granger
Granger causality H0: real_interest do not Granger-cause stock
data: VAR object df.var
F-Test = 1.6362, df1 = 3, df2 = 674, p-value = 0.1797
$Instant
H0: No instantaneous causality between: real_interest and stock
data: VAR object df.var
Chi-squared = 0.4931, df = 1, p-value = 0.4825
株価 -> 実質金利 は p = 0.027となり 5%有意水準で日経平均株価は実質金利に影響を与えていることとなった。
> causality(df.var, cause = "stock")
$Granger
Granger causality H0: stock do not Granger-cause real_interest
data: VAR object df.var
F-Test = 3.0766, df1 = 3, df2 = 674, p-value = 0.02706
$Instant
H0: No instantaneous causality between: stock and real_interest
data: VAR object df.var
Chi-squared = 0.4931, df = 1, p-value = 0.4825
「不動産マーケットの明日を読む」では, “実質金利の低下が株価を上昇させたわけではない” とあるが一致した結果となった。
また, “逆に日経平均株価の上昇が実質金利を低下させたという因果関係しか存在しない (有意水準10%)” についても, Granger因果的な関係性 [1] はデータから確認できた。
日米の2年物の名目金利と日経平均の関係
日本の2年物の国債名目利回りは先ほどと同じ, 財務省の国債金利情報を使い, 米国の2年物の国債名目利回りは正しいか自信はないが, The Federal Reserve Board of Governorsから取得した。
2000/07/01以降のデータしかないため, 少々心許ないが, 日米の2年物の国債名目利回りは下記となった。日本はもちろんゼロ金利。
本では, 日経平均株価とドル円の相関は見かけ上のもので, 両者の変動には共通要因があり, それは日米の名目金利差であると書かれている。
そして, “日米の名目金利差は、株価およびドル円為替相場レートに先んじて動いている”ことから, “日米の2年物の名目金利差が株価の上昇をもたらした” とある。
日米の2年物の名目金利差と日経平均株価の推移は下記。
これも Granger因果性検定で調べてみる。日米の2年物の名目金利差 -> 日経平均株価 (終値) の時 p = 0.0913。
> causality(df.var, cause = "interest_diff")
$Granger
Granger causality H0: interest_diff do not Granger-cause stock
data: VAR object df.var
F-Test = 2.1702, df1 = 3, df2 = 342, p-value = 0.0913
$Instant
H0: No instantaneous causality between: interest_diff and stock
data: VAR object df.var
Chi-squared = 10.4162, df = 1, p-value = 0.001249
日経平均株価 (終値) -> 日米の2年物の名目金利差 の時 p = 2.954e-05。 本の内容とは逆の結果となってしまった。
> causality(df.var, cause="stock")
$Granger
Granger causality H0: stock do not Granger-cause interest_diff
data: VAR object df.var
F-Test = 8.1504, df1 = 3, df2 = 342, p-value = 2.954e-05
$Instant
H0: No instantaneous causality between: stock and interest_diff
data: VAR object df.var
Chi-squared = 10.4162, df = 1, p-value = 0.001249
データの処理に問題があったか, 期間の取り方が異なるのか, はたまたこれが限界なのか。より Granger因果 を理解するために, 『経済・ファイナンスデータの計量時系列分析』で勉強します。
[1] Granger因果は通常の意味の因果関係とは異なる。TJOさんのGranger因果による時系列データの因果推定(因果フェス2015)にあるように, 「何の理論にも基づかない仮説フリーで予測を基準とする因果性」というアイデアが基であり, Granger因果性は通常の因果性が存在する必要条件であるが十分条件ではない。通常の因果とは逆向きになることがあり, あくまで予測に有用かどうかで解釈した方が良い。VARモデルに依存する以上, あくまでも「時間差」(ラグ)に着目した指標である。
[2] Rで計量時系列分析:VARモデルの基礎(多変量時系列モデル)