RによるGARCHモデル,EGARCHモデルの推計
概要
日経225のデータの取得
とりあえず,日銀によって現在行われている量的・質的金融緩和(QQE)以降の日経平均株価を取得。 QQEが導入されたのは2013年4月4日*1。
nikkei <- getSymbols("^N225", src = "yahoo", from = as.Date("2013-04-04"), to = as.Date("2017-08-18"), auto.assign = FALSE) nikkei.price <- nikkei$N225.Close
終値の対数差分をとって,収益率の過程を計算。 欠損値はスプライン補間。
nikkei.return <- diff(log(nikkei.price))[-1] nikkei.return <- na.spline(nikkei.return)
GARCHモデルとEGARCHモデル
モデルの説明は,渡部(2000)を援用。
- 作者: 渡部敏明,木島正明
- 出版社/メーカー: 朝倉書店
- 発売日: 2000/06/01
- メディア: 単行本
- 購入: 1人 クリック: 17回
- この商品を含むブログ (2件) を見る
モデルは
である。ただし, は株価の収益率, は期待収益率の乖離(すなわち予測誤差)。 は正規分布である必要はない。
モデルは
である。 は予測誤差 をボラティリティ で除した変数。
以下では,GARCHモデルとEGARCHモデルの次数 と はそれぞれ1とする*2。
GARCHモデルとEGARCHモデルの違いは, に表れる。 現実のマーケットでは,株価の下落(負のショック)の方がマーケットに与えるインパクトが大きいといわれている(レバレッジ効果)。 GARCHモデルではショックが対称であるが,EGARCHモデルでは非対称にすることができる。
推計
まずは,GARCHモデルの推計。次数 は 。推計はtseries
パッケージのgarch
関数。
x <- garch(nikkei.return, order = c(1,1), trace = F) summary(x)
推計結果は次のよう。
Call: garch(x = nikkei.return, order = c(1, 1), trace = F) Model: GARCH(1,1) Residuals: Min 1Q Median 3Q Max -5.20347 -0.46424 0.04545 0.59874 3.37857 Coefficient(s): Estimate Std. Error t value Pr(>|t|) a0 7.942e-06 1.615e-06 4.917 8.79e-07 *** a1 2.546e-01 3.130e-02 8.135 4.44e-16 *** b1 7.560e-01 2.313e-02 32.678 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Diagnostic Tests: Jarque Bera Test data: Residuals X-squared = 321.94, df = 2, p-value < 2.2e-16 Box-Ljung test data: Squared.Residuals X-squared = 1.5052, df = 1, p-value = 0.2199
係数はすべて1%水準で有意。β1は0.756であり,ボラティリティにはある程度の持続性があることがわかる。 Jarque Bara検定の結果をみると,p-valueが非常に小さいので残差が正規分布にしたがっていないと言える。 Box-Ljung検定の結果は,残差2乗に系列相関があるっぽいことを示している。
次に,EGARCHモデルの推計。次数(p,q)は(1,1)。推計はrugarch
パッケージ。
y <- ugarchspec(variance.model = list(model = "eGARCH", garchOrder = c(1,1)), mean.model = NULL, distribution.model = "norm") #今回はz_tに正規分布を仮定 y.fit = ugarchfit(y,nikkei.return)
推計結果は次のよう。
*---------------------------------* * GARCH Model Fit * *---------------------------------* Conditional Variance Dynamics ----------------------------------- GARCH Model : eGARCH(1,1) Mean Model : ARFIMA(1,0,1) Distribution : norm Optimal Parameters ------------------------------------ Estimate Std. Error t value Pr(>|t|) mu 0.000185 0.000339 0.54647 0.58474 ar1 -0.453453 0.028285 -16.03175 0.00000 ma1 0.412972 0.028990 14.24517 0.00000 omega -0.339243 0.060716 -5.58738 0.00000 alpha1 -0.098662 0.017358 -5.68377 0.00000 beta1 0.959716 0.006908 138.91911 0.00000 gamma1 0.231997 0.029801 7.78492 0.00000 Robust Standard Errors: Estimate Std. Error t value Pr(>|t|) mu 0.000185 0.000369 0.5016 0.615951 ar1 -0.453453 0.014511 -31.2485 0.000000 ma1 0.412972 0.014091 29.3083 0.000000 omega -0.339243 0.070179 -4.8340 0.000001 alpha1 -0.098662 0.043259 -2.2807 0.022565 beta1 0.959716 0.007744 123.9298 0.000000 gamma1 0.231997 0.043629 5.3175 0.000000 LogLikelihood : 3174.769 Information Criteria ------------------------------------ Akaike -5.8990 Bayes -5.8666 Shibata -5.8991 Hannan-Quinn -5.8867 Weighted Ljung-Box Test on Standardized Residuals ------------------------------------ statistic p-value Lag[1] 0.4827 0.4872 Lag[2*(p+q)+(p+q)-1][5] 1.6308 0.9946 Lag[4*(p+q)+(p+q)-1][9] 3.2827 0.8433 d.o.f=2 H0 : No serial correlation Weighted Ljung-Box Test on Standardized Squared Residuals ------------------------------------ statistic p-value Lag[1] 0.01594 0.8995 Lag[2*(p+q)+(p+q)-1][5] 0.28856 0.9849 Lag[4*(p+q)+(p+q)-1][9] 0.74132 0.9945 d.o.f=2 Weighted ARCH LM Tests ------------------------------------ Statistic Shape Scale P-Value ARCH Lag[3] 5.569e-05 0.500 2.000 0.9940 ARCH Lag[5] 3.643e-01 1.440 1.667 0.9227 ARCH Lag[7] 3.928e-01 2.315 1.543 0.9870 Nyblom stability test ------------------------------------ Joint Statistic: 1.5595 Individual Statistics: mu 0.45356 ar1 0.10061 ma1 0.08621 omega 0.35353 alpha1 0.38347 beta1 0.36896 gamma1 0.09743 Asymptotic Critical Values (10% 5% 1%) Joint Statistic: 1.69 1.9 2.35 Individual Statistic: 0.35 0.47 0.75 Sign Bias Test ------------------------------------ t-value prob sig Sign Bias 0.04305 0.9657 Negative Sign Bias 0.07949 0.9367 Positive Sign Bias 0.82657 0.4087 Joint Effect 1.03200 0.7935 Adjusted Pearson Goodness-of-Fit Test: ------------------------------------ group statistic p-value(g-1) 1 20 59.07 5.420e-06 2 30 78.40 1.980e-06 3 40 90.69 5.337e-06 4 50 105.52 5.086e-06 Elapsed time : 0.3227599
beta1は0.9597(1%有意)であり,ボラティリティには非常に高い持続性があることがわかる。 また,gamma1は0.231997(1%有意)であり正である。 このことから,QQE導入期に限れば日経平均株価のショック構造に非対称性がないことがわかる。
結果
GARCHモデルとEGARCHモデルを使って,日経平均株価のボラティリティ構造をモデル化した。 得られた結果は,
というもの。
補足
ショック部分に正規分布を仮定して推計したが,実際は正規分布より裾の厚い分布をしていることが指摘されている。 なので,t分布や一般化誤差分布を仮定して推計した方がいいらしい(なお
rugarch
パッケージのugarchspec
関数内 の引数を変えることで,仮定する分布を変えることが可能)。計算過程を確かめるためにパッケージの中身をちゃんと見ないとダメ。
*1:QQEについては,
http://www.boj.or.jp/mopo/outline/qqe.htm/
*2:次数は,天下り的に(1,1)に設定されることが多いらしい。詳しくは,Hansen and Lunde(2005),"Forecast Comparison of Volatility Models:Does Anything Beat A GARCH(1,1)?``http://onlinelibrary.wiley.com/doi/10.1002/jae.800/abstractや三井(2014)。