本章讲GARCH模型的一些有针对性的改进。
来自(Tsay 2013)§4.9-4.11内容。
EGARCH模型
模型
(Nelson 1991)提出的指数GARCH(EGARCH)模型允许正负资产收益率对波动率有不对称的影响。
考虑如下变换
g(εt)=αεt+γ[|εt|−E|εt|],(19.1)
其中α和γ是实常数。
{εt}和{|εt|−E|εt|}都分别是零均值独立同分布白噪声,
分布为连续分布。
易见Eg(εt)=0。
由下式可见g(εt)的分布是非对称的:
g(εt)={(α+γ)εt−γE|εt|,(α−γ)εt−γE|εt|,εt≥0,εt<0.(19.2)
当εt∼N(0,1)时E|εt|=2π‾‾√。
对式(17.3)中的标准t分布,有
E|εt|=2v−2‾‾‾‾‾√Γ(v+12)(v−1)Γ(v2)π‾‾√.
EGARCH(m,s)模型可以用滞后算子的形式写成
at=σtεt,lnσ2t=α′0+1+α2B+⋯+αmBm−11−β1B−⋯−βsBsg(εt−1)(19.3)
α′0为常数,
其中B是滞后算子,
多项式1+α2z+⋯+αmzm−1和
1−β1z−⋯−βmzm的根都在单位圆外且两个多项式没有公因子。
注意这里的模型阶相当于GARCH(m,s)。
记ξt=lnσ2t,
则(19.3)给出的ξt为一个平稳线性ARMA(s,m−1)序列,
以零均值独立同分布白噪声g(εt−1)为新息;
但是,
lnσ2t通过εt−j=at−j/σt−j对{at}序列依赖。
原始的GARCH模型的σ2t的方程是直接依赖于a2t−j的,±at−j对σ2t影响相同。
易见Elnσ2t=α′0。
更一般地,
可以令g(⋅)中的γ随滞后j变化,
模型变成:
at=lnσ2t=σtεt,α0+∑j=1m[αjεt−j+γj(|εt−j|−E|εt−j|)]+∑i=1sβilnσ2t−i.(19.4)
在(19.4)中,
αj代表了对数收益率的正负扰动对波动率的不同影响,
如果αj=0,
则正负扰动对波动率影响就相同了。
EGARCH与GARCH模型的区别还有:
- 使用条件方差的对数建模,
 因为对数值可正可负,
 这就取消了GARCH模型对系数必须非负的限制。
- g(εt−j)=g(at−j/σt−j)的使用使得波动率对at−j的依赖关系与at−j的正负号有关,
 可以用来描述正负收益率对波动率的不同的影响,
 即杠杆效应。
EGARCH(1,1)模型
以最简单的EGARCH(1,1)为例来讨论。
模型为
at=lnσ2t=σtεt,α0+[α1εt−1+γ1(|εt−1|−E|εt−1|)]+β1lnσ2t−1.(19.5)
其中εt iid N(0,1),
这个模型的阶类似GARCH(1,1),
模型实际上是关于lnσ2t的一个AR(1)模型。
与一个GARCH(1,1)模型对比:
σ2t=α0+α1a2t−1+β1σ2t−1
所以EGARCH模型用lnσ2t替换了σ2t,
用g(εt−1)替换了α1a2t−1,
用lnσ2t−1替换了σ2t−1。
注意g(εt−1)=g(at−1/σt−1)。
(19.5)中,
设α1<0,
εt−1≥0时,
lnσ2t变小,
εt−1<0时,
lnσ2t变大,
对于相同的|at−1|,
负值比正值产生更大的lnσ2t。
波动率方程可以写成
σ2t=σ2β1t−1eα″0⋅{exp[(γ1+α1)|at−1|σt−1],exp[(γ1−α1)|at−1|σt−1],at−1≥0at−1<0
其中α″0=α0−γ1E|εt−1|。
系数γ1+α1和γ1−α1表明当α1≠0
时模型对正的和负的at−1的响应是非对称的,
由于一般负的扰动造成的波动更大,
所以α1应该是负的才比较符合实际数据。
实例1:CRSP价值加权指数超额收益率
例子来自(Nelson 1991)的文章。
考虑CRSP价值加权指数的超额收益率日数据,
从1962年7月到1987年12月,共6408个观测值,
超额收益率是价值加权指数的收益率减去国债的月收益率,
假定一个月每天的国债收益率相等。
用rt表示超额收益率,
所用的模型为
rt=lnσ2t=g(εt−1)=ϕ0+ϕ1rt−1+cσ2t+at,at=σtεt,α0+ln(1+ωNt)+1+βB1−α1B−α2B2g(εt−1),θεt−1+γ(|εt−1|−E|εt−1|).
均值方程是带有回归自变量的AR(1)模型,
回归自变量是波动率平方,
这个回归自变量代表了风险溢价,
c是风险溢价参数。
波动率方程中的回归自变量Nt是第t−1交易日到第t交易日之间没有交易的天数,
这一项解释了放假休市若干天以后增加的波动。
εt使用广义误差分布(GED),
波动率方程是是EGARCH(2,2)模型。
这里所用的符号与19.1.1有所不同。
θ代表了杠杆效应。
(Nelson 1991)论文中参数估计值与标准误差列表如下:
参数α0ωγα1α2βθϕ0ϕ1cv估计值−10.060.1830.1561.929−0.929−0.978−0.1183.5×10−40.205−3.3611.576标准误差0.3460.0280.0230.0150.0150.0060.0099.9×10−50.0122.0260.032
估计中只有风险溢价参数c是不显著,
其它参数,
包括代表了不对称性的θ,都是显著的,
θ估计为负,
这表明模型的波动率收到负的扰动影响更大。
实例2:IBM股票月对数收益率
考虑IBM股票月对数收益率建模,
从1967年1月到2009年12月,
561个观测值。
建立EGARCH(1,1)模型,
使用(19.5)的模型形式,
模型为
rt=at=lnσ2t=μ+at,σtεt,α0+[α1εt−1+γ1(|εt−1|−E|εt−1|)]+β1lnσ2t−1.
读入数据:
da <- read_table(
  "m-ibmsp6709.txt",
  col_types=cols(.default=col_double(),
                  date=col_date(format="%Y%m%d")))
xts.ibm <- xts(log(1 + da[["ibm"]]), da[["date"]])
tclass(xts.ibm) <- "yearmon"
ts.ibm <- ts(log(1 + da[["ibm"]]), start=c(1967,1), frequency=12)对数收益率的时间序列图:
plot(xts.ibm, 
  format.labels="%Y",
  xlab="Year", ylab="Log return")
图19.1: IBM股票月对数收益率
ACF图:
forecast::Acf(xts.ibm, lag.max = 36, main="")
图19.2: IBM股票月对数收益率ACF
从对数收益率的ACF来看基本是白噪声。作Ljung-Box白噪声检验:
Box.test(xts.ibm, lag=12, type="Ljung")## 
##  Box-Ljung test
## 
## data:  xts.ibm
## X-squared = 7.4042, df = 12, p-value = 0.8298基本可以认为是(宽)白噪声。
a2t的ACF:
forecast::Acf(xts.ibm^2, lag.max = 36, main="")
图19.3: IBM股票月对数收益率平方ACF
这表明有轻微的ARCH效应。
用rugarch扩展包可以估计EGARCH模型,程序如:
library(rugarch)
spec1 <- ugarchspec(
  mean.model = list(
    armaOrder=c(0,0),
    include.mean=TRUE  ),
  variance.model = list(
    model = "eGARCH", # exponential GARCH model
    garchOrder = c(1,1) ) )
mod1ru <- ugarchfit(spec = spec1, data = xts.ibm)
show(mod1ru)## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : eGARCH(1,1)
## Mean Model   : ARFIMA(0,0,0)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.006649    0.002963   2.2442 0.024820
## omega  -0.423208    0.223673  -1.8921 0.058480
## alpha1 -0.094813    0.039373  -2.4081 0.016037
## beta1   0.920485    0.041729  22.0586 0.000000
## gamma1  0.218711    0.060802   3.5971 0.000322
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.006649    0.003073   2.1635 0.030502
## omega  -0.423208    0.308230  -1.3730 0.169743
## alpha1 -0.094813    0.051835  -1.8291 0.067382
## beta1   0.920485    0.057270  16.0728 0.000000
## gamma1  0.218711    0.061770   3.5407 0.000399
## 
## LogLikelihood : 651.634 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -2.5063
## Bayes        -2.4652
## Shibata      -2.5065
## Hannan-Quinn -2.4902
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      1.237  0.2661
## Lag[2*(p+q)+(p+q)-1][2]     1.344  0.3989
## Lag[4*(p+q)+(p+q)-1][5]     1.867  0.6501
## d.o.f=0
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                   0.009633  0.9218
## Lag[2*(p+q)+(p+q)-1][5]  1.087446  0.8396
## Lag[4*(p+q)+(p+q)-1][9]  2.511467  0.8360
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]   0.09128 0.500 2.000  0.7626
## ARCH Lag[5]   1.10479 1.440 1.667  0.7021
## ARCH Lag[7]   2.20197 2.315 1.543  0.6746
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.1719
## Individual Statistics:              
## mu     0.21948
## omega  0.61756
## alpha1 0.15868
## beta1  0.61824
## gamma1 0.06386
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.28 1.47 1.88
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value   prob sig
## Sign Bias           0.1014 0.9192    
## Negative Sign Bias  0.2560 0.7980    
## Positive Sign Bias  0.1888 0.8503    
## Joint Effect        0.3726 0.9458    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     13.07       0.8350
## 2    30     22.26       0.8094
## 3    40     28.03       0.9040
## 4    50     42.53       0.7314
## 
## 
## Elapsed time : 0.07496881估计的模型可以写成:
rt=lnσ2t=0.0066+at,at=σtεt,εt iid N(0,1)−0.4232−0.0948εt−1+0.2187(|εt−1|−E|εt−1|)+0.9205lnσ2t−1.
这种模型是关于{lnσ2t}的一个AR(1)模型。
输出中参数alpha1代表了正负收益率对波动率不对称影响的杠杆效应,
在0.05水平下这一项不显著,
说明杠杆效应可以忽略。
取εt−1=±2时,
不同正负号的εt−1引起的σ2t的变化比值为
e4×0.0948=1.46,
所以这时幅度相等的负的扰动比正的扰动额外增加46%的波动率平方。
幅度越大,额外增加的波动率也越大。
计算标准化残差ã t=at/σt和波动率σt:
stdresi <- residuals(mod1ru, standardize=TRUE)
vol <- sigma(mod1ru)标准化残差图:
plot(stdresi, format.labels="%Y",
  xlab="Year", ylab="", 
  main="IBM股票收益率模型标准化残差")
图19.4: IBM股票收益率模型标准化残差
估计的波动率:
plot(vol, format.labels="%Y",
  xlab="Year", ylab="", 
  main="IBM股票收益率模型波动率")
图19.5: IBM股票收益率模型波动率
标准化残差的ACF:
forecast::Acf(stdresi, lag.max = 36, main="")
图19.6: IBM股票收益率模型标准化残差ACF
## 或:
## plot(mod1ru, which=10)标准化残差的Ljung-Box白噪声检验:
Box.test(stdresi, lag=12, type="Ljung")## 
##  Box-Ljung test
## 
## data:  stdresi
## X-squared = 6.894, df = 12, p-value = 0.8645标准化残差平方的ACF:
forecast::Acf(stdresi^2, lag.max = 36, main="")
图19.7: IBM股票收益率模型标准化残差平方的ACF
## 或:
## plot(mod1ru, which=11)标准化残差平方的Ljung-Box白噪声检验:
Box.test(stdresi^2, lag=12, type="Ljung")## 
##  Box-Ljung test
## 
## data:  stdresi^2
## X-squared = 5.537, df = 12, p-value = 0.9376从以上残差诊断看模型比较充分。
从ugarchfit()的结果看,
标准化残差及其残差的白噪声检验通过,
分布的拟合优度检验通过,
模型参数稳定性检验通过,
杠杆效应的检验通过。
预测
以EGARCH(1,1)为例说明EGARCH模型的超前多步预测。
设模型参数已知,
εt服从标准正态分布。
模型为(见(19.5)、(19.1)和(19.2))
lnσ2t=α0+β1lnσ2t−1+α1εt−1+γ1(|εt−1|−E|εt−1|).
其中E|εt−1|=2π‾‾√。
记
g(x)=α1x+γ1(|x|−2π‾‾√),
则模型可以写成
lnσ2t=α0+β1lnσ2t−1+g(εt−1),
将模型写成指数形式为
σ2t=eα0σ2β1t−1eg(εt−1).
以h为预测原点,
超前一步预测是对σ2h+1的预测,而
σ2h+1=eα0σ2β1heg(εh)∈Fh,
所以超前一步预测为
σ̂ 2h(1)=E(σ2h+1|Fh)=σ2h+1.(19.6)
对t=h+2,
σ2h+2=eα0σ2β1h+1eg(εh+1),
注意到σ2h+1∈Fh,εh+1与Fh独立,所以有
σ̂ 2h(2)==E(σ2h+2|Fh)=eα0σ2β1h+1E[eg(εh+1)|Fh]eα0σ2β1h+1E[eg(εh+1)].
只需要计算E[eg(εh+1)]。
设ε∼N(0,1),则
Eeg(ε)==∫∞−∞exp{α1u+γ1|u|−γ12π‾‾√}φ(u)due−γ12π√{∫∞012π‾‾‾√exp[−12u2+(α1+γ1)u]du+∫0−∞12π‾‾‾√exp[−12u2+(α1−γ1)u]du}
其中
−12u2+(α1±γ1)u=−12[u−(α1±γ1)]2+12(α1±γ1)2,
所以
Eeg(ε)====e−γ12π√{e12(α1+γ1)2∫∞012π‾‾‾√exp[−12(u−(α1+γ1))2]du+e12(α1−γ1)2∫0−∞12π‾‾‾√exp[−12(u−(α1−γ1))2]du}e−γ12π√{e12(α1+γ1)2∫∞−(α1+γ1)φ(v)dv+e12(α1−γ1)2∫−(α1−γ1)−∞φ(v)dv}e−γ12π√{e12(α1+γ1)2[1−Φ(−(α1+γ1))]+e12(α1−γ1)2Φ(−(α1−γ1))}e−γ12π√{e12(γ1+α1)2Φ(γ1+α1)+e12(γ1−α1)2Φ(γ1−α1)}.
其中φ(⋅)和Φ(⋅)是标准正态分布的密度和分布函数。
于是,超前二步预测为
σ̂ 2h(2)=eα0Eeg(ε)[σ̂ 2h(1)]β1.(19.7)
超前三步:
σ2h+3=eα0(σ2h+2)β1eg(εh+2),
注意到Fh⊂Fh+1,
σ2h+2∈Fh+1,
εh+2与Fh+1独立,
可得
σ̂ 2h(3)======eα0E{(σ2h+2)β1eg(εh+2)|Fh}eα0E{E[(σ2h+2)β1eg(εh+2)|Fh+1]|Fh}eα0E{(σ2h+2)β1E[eg(εh+2)|Fh+1]|Fh}eα0E[eg(ε)]E{(σ2h+2)β1|Fh}eα0E[eg(ε)]E{eα0β1(σ2h+1)β21eβ1g(εh+1)|Fh}eα0(1+β1)E[eg(ε)]E[eβ1g(ε)](σ̂ 2h(1))β21.(19.8)
对σ̂ 2h(j)可类似计算。
GJR-GARCH模型
GJR-GARCH模型是另一个能够反映杠杆效应的波动率模型,
参见(Glosten, Jagannathan, and Runkle 1993)和(Zakoian 1994)。
或称为TGARCH。
GJR-GARCH(m,s)模型的形式为
σ2t=α0+∑i=1m(αi+γiNt−i)a2t−i+∑j=1sβjσ2t−j(19.9)
其中Nt−i是表示at−i<0的示性函数,即
Nt−i={1,0,at−i<0at−i≥0
αi,γi,βj是非负参数,
满足与GARCH模型类似的参数条件。
正的at−i对σ2t的影响为αia2t−i,
负的at−i对σ2t的影响为(αi+γi)a2t−i,
当γi>0时负的at−i影响较大。
模型用0作为at−i的门限,
还可以用其它实数值作为门限。
关于门限模型参见(Tsay 2010)第4章。
作为例子,
考虑从1999年1月4日到2010年8月20日的欧元对美元汇率的日对数收益率序列。
读入数据:
d.useu <- read_table(
  "d-useu9910.txt", 
  col_types=cols(.default=col_double())
)
xts.useu <- with(d.useu, xts(rate, make_date(year, mon, day)))
xts.useu.lnrtn <- diff(log(xts.useu))[-1,]*100用rugarch包建模:
library(rugarch)
spec2 <- ugarchspec(
  mean.model = list(
    armaOrder=c(0,0),
    include.mean=TRUE  ),
  variance.model = list(
    model = "gjrGARCH", # GJR-GARCH or TGARCH model
    garchOrder = c(1,1) ) )
mod2ru <- ugarchfit(spec = spec2, data = xts.useu.lnrtn)
show(mod2ru)## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(1,1)
## Mean Model   : ARFIMA(0,0,0)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.012262    0.010726   1.1432 0.252951
## omega   0.001274    0.000554   2.3013 0.021373
## alpha1  0.022402    0.004277   5.2373 0.000000
## beta1   0.968711    0.001779 544.4570 0.000000
## gamma1  0.012435    0.007027   1.7696 0.076789
## 
## Robust Standard Errors:
##         Estimate  Std. Error   t value Pr(>|t|)
## mu      0.012262    0.011704    1.0476 0.294800
## omega   0.001274    0.000620    2.0535 0.040021
## alpha1  0.022402    0.004777    4.6891 0.000003
## beta1   0.968711    0.000795 1219.2085 0.000000
## gamma1  0.012435    0.008047    1.5454 0.122258
## 
## LogLikelihood : -2731.85 
## 
## Information Criteria
## ------------------------------------
##                    
## Akaike       1.8688
## Bayes        1.8790
## Shibata      1.8688
## Hannan-Quinn 1.8725
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.2619  0.6088
## Lag[2*(p+q)+(p+q)-1][2]    0.3038  0.7936
## Lag[4*(p+q)+(p+q)-1][5]    3.3494  0.3469
## d.o.f=0
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      4.935 0.02632
## Lag[2*(p+q)+(p+q)-1][5]     7.136 0.04806
## Lag[4*(p+q)+(p+q)-1][9]     9.101 0.07748
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]     2.979 0.500 2.000 0.08435
## ARCH Lag[5]     3.239 1.440 1.667 0.25696
## ARCH Lag[7]     4.681 2.315 1.543 0.25882
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.4726
## Individual Statistics:              
## mu     0.20009
## omega  0.20231
## alpha1 0.06618
## beta1  0.08927
## gamma1 0.08316
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.28 1.47 1.88
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value     prob sig
## Sign Bias            1.663 0.096368   *
## Negative Sign Bias   2.386 0.017101  **
## Positive Sign Bias   1.740 0.082025   *
## Joint Effect        12.898 0.004863 ***
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     59.51    4.628e-06
## 2    30     70.40    2.676e-05
## 3    40     69.44    1.928e-03
## 4    50     81.46    2.454e-03
## 
## 
## Elapsed time : 0.206059估计的模型为
rt=σ2t=0.0123+at,at=σtεt,εt i.i.d. N(0,1)0.0013+(0.0224+0.0124Nt−1)a2t−1+0.9687σ2t−1,
模型结果中mu不显著,
在0.05水平下gamma1也不显著,
说明杠杆效应不显著。
模型标准化残差的白噪声检验通过,
但标准化残差平方的白噪声检验没有通过,
所以模型效果不够好。
模型参数稳定性检验没有通过。
拟合优度检验没有通过。
拟合的波动率σt序列图形(单位是百分之一):
plot(sigma(mod2ru), 
  format.labels="%Y",
  main="欧元汇率日对数收益率波动率TGARCH估计(%)", 
  major.ticks="years", minor.ticks=NULL, 
  grid.ticks.on="years")
图19.8: 欧元汇率日对数收益率波动率TGARCH估计
波动率的最高值出现在2008年末、2009年初,
次贷危机爆发时期。
为了进行模型诊断,计算标准化残差:
stdresi2 <- residuals(mod2ru, standardize=TRUE)标准化残差的ACF:
forecast::Acf(stdresi2, lag.max=36, main="")
图19.9: 欧元汇率日对数收益率TGARCH标准化残差ACF
## 或:
## plot(mod2ru, which=10)标准化残差平方的ACF:
forecast::Acf(stdresi2^2, lag.max=36, main="")
图19.10: 欧元汇率日对数收益率TGARCH标准化残差平方ACF
## 或:
## plot(mod2ru, which=11)标准化残差的Ljung-Box白噪声检验:
Box.test(stdresi2, lag=12, type="Ljung")## 
##  Box-Ljung test
## 
## data:  stdresi2
## X-squared = 15.029, df = 12, p-value = 0.2399标准化残差平方的Ljung-Box白噪声检验:
Box.test(stdresi2^2, lag=12, type="Ljung")## 
##  Box-Ljung test
## 
## data:  stdresi2^2
## X-squared = 15.094, df = 12, p-value = 0.2363这些残差诊断的结果说明拟合的模型是基本符合的。
作标准化残差的盒形图:
boxplot(c(coredata(stdresi2)), 
  main="", xlab="标准化残差")
图19.11: 欧元汇率日对数收益率TGARCH标准化残差盒形图
标准化残差的正态QQ图:

图19.12: 欧元汇率日对数收益率TGARCH标准化残差正态QQ图
从标准化残差的盒形图看有厚尾现象。
可以将GJR-GARCH得到的波动率与标准GARCH得到的波动率进行比较:
library(fGarch, quietly = TRUE)
mod2sg <- garchFit( ~ 1 + garch(1,1), 
  data=xts.useu.lnrtn, trace=FALSE)## Warning: Using formula(x) is deprecated when x is a character vector of length > 1.
##   Consider formula(paste(x, collapse = " ")) instead.将两个波动率作图,
黑色为GARCH结果,
红色虚线为GJR-GARCH结果:
plot(cbind(volatility(mod2sg), sigma(mod2ru)), 
  main="欧元汇率日对数收益率波动率GARCH和NGARCH估计", 
  lty=c(1,2), 
  col=c("black", "red"),
  format.labels="%Y",
  major.ticks="years", minor.ticks=NULL, 
  grid.ticks.on="years")
图19.13: 欧元汇率GARCH和NGARCH估计的波动率
放大显示其中2008年以后:
plot(cbind(volatility(mod2sg), sigma(mod2ru)), 
  subset="2008/",
  main="欧元汇率日对数收益率波动率GARCH和NGARCH估计", 
  lty=c(1,2), 
  col=c("black", "red"),
  format.labels="%Y",
  major.ticks="years", minor.ticks=NULL, 
  grid.ticks.on="years")
图19.14: 欧元汇率GARCH和NGARCH估计的波动率
APARCH模型
(Ding, Granger, and Engle 1993)提出了非对称幂(asymmetric power) ARCH模型(APARCH模型),
模型形式为
rt=σδt=μt+at,at=σtεt,εt∼D(0,1)ω+∑i=1mαi(|at−i|−γiat−i)δ+∑j=1sβjσδt−j(19.10)
其中μt是条件均值,
D(0,1)表示某个零均值单位方差分布,
δ为正实数,
系数ω,αi,γi,βj满足某些正则性条件使得波动率为正。
最常用的是最简单的APARCH(1,1)模型。
这个模型中包含了许多其它模型。
当δ=2且γj=0时即普通的GARCH模型。
当δ=2时即TGARCH模型(形式略有不同)。
当δ=1时波动率方程直接使用波动率σt和新息at而非其平方。
APARCH中的幂变换旨在提高拟合程度,
但幂次δ没有很好解释。
R的fGarch::garchFit()函数中可以使用aparch(m,s)作为模型设定。
作为例子,
拟合欧元对美元汇率数据:
library(fGarch, quietly = TRUE)
modres3 <- garchFit( ~ 1 + aparch(1,1), 
  data=xts.useu.lnrtn, trace=FALSE)## Warning: Using formula(x) is deprecated when x is a character vector of length > 1.
##   Consider formula(paste(x, collapse = " ")) instead.## 
## Title:
##  GARCH Modelling 
## 
## Call:
##  garchFit(formula = ~1 + aparch(1, 1), data = xts.useu.lnrtn, 
##     trace = FALSE) 
## 
## Mean and Variance Equation:
##  data ~ 1 + aparch(1, 1)
## <environment: 0x0000000027bf8bb0>
##  [data = xts.useu.lnrtn]
## 
## Conditional Distribution:
##  norm 
## 
## Coefficient(s):
##        mu      omega     alpha1     gamma1      beta1      delta  
## 0.0127647  0.0015919  0.0313680  0.1135338  0.9689155  1.6743169  
## 
## Std. Errors:
##  based on Hessian 
## 
## Error Analysis:
##         Estimate  Std. Error  t value Pr(>|t|)    
## mu     0.0127647   0.0107626    1.186   0.2356    
## omega  0.0015919   0.0007226    2.203   0.0276 *  
## alpha1 0.0313680   0.0053350    5.880 4.11e-09 ***
## gamma1 0.1135338   0.0711908    1.595   0.1108    
## beta1  0.9689155   0.0038405  252.291  < 2e-16 ***
## delta  1.6743169   0.4057086    4.127 3.68e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Log Likelihood:
##  -2731.172    normalized:  -0.9324587 
## 
## Description:
##  Wed May 11 22:04:40 2022 by user: Lenovo 
## 
## 
## Standardised Residuals Tests:
##                                 Statistic p-Value     
##  Jarque-Bera Test   R    Chi^2  50.20527  1.253331e-11
##  Shapiro-Wilk Test  R    W      0.9956711 1.608392e-07
##  Ljung-Box Test     R    Q(10)  13.37689  0.2033563   
##  Ljung-Box Test     R    Q(15)  20.19634  0.1645294   
##  Ljung-Box Test     R    Q(20)  22.84736  0.2963513   
##  Ljung-Box Test     R^2  Q(10)  13.15611  0.2150739   
##  Ljung-Box Test     R^2  Q(15)  16.58009  0.3445799   
##  Ljung-Box Test     R^2  Q(20)  27.44885  0.1231015   
##  LM Arch Test       R    TR^2   14.35739  0.2784705   
## 
## Information Criterion Statistics:
##      AIC      BIC      SIC     HQIC 
## 1.869014 1.881269 1.869006 1.873428拟合的白噪声检验说明模型是充分的,
但是δ的估计为1.67,
标准误差为0.41,
其95%置信区间为(0.85,2.49)包含2,
所以与δ=2没有显著差异,
可以用TGARCH模型。
γ1在0.05水平下不显著,
可以不需要反映杠杆效应的模型。
拟合的APARCH模型为:
rt=σ1.67t=0.0128+at,at=σtεt,εt∼N(0,1)0.0016+0.0313(|at−1|−0.1135at−1)1.67+0.9689σ1.67t−1
固定δ=2估计APARCH(1,1)模型:
modres4 <- garchFit( ~ 1 + aparch(1,1), 
  data=xts.useu.lnrtn, delta=2, 
  include.delta=FALSE, trace=FALSE)## Warning: Using formula(x) is deprecated when x is a character vector of length > 1.
##   Consider formula(paste(x, collapse = " ")) instead.## 
## Title:
##  GARCH Modelling 
## 
## Call:
##  garchFit(formula = ~1 + aparch(1, 1), data = xts.useu.lnrtn, 
##     delta = 2, include.delta = FALSE, trace = FALSE) 
## 
## Mean and Variance Equation:
##  data ~ 1 + aparch(1, 1)
## <environment: 0x00000000287623c0>
##  [data = xts.useu.lnrtn]
## 
## Conditional Distribution:
##  norm 
## 
## Coefficient(s):
##        mu      omega     alpha1     gamma1      beta1  
## 0.0122646  0.0012745  0.0282723  0.1100241  0.9687115  
## 
## Std. Errors:
##  based on Hessian 
## 
## Error Analysis:
##         Estimate  Std. Error  t value Pr(>|t|)    
## mu     0.0122646   0.0107289    1.143   0.2530    
## omega  0.0012745   0.0005752    2.216   0.0267 *  
## alpha1 0.0282723   0.0038637    7.317 2.53e-13 ***
## gamma1 0.1100241   0.0649051    1.695   0.0900 .  
## beta1  0.9687115   0.0039421  245.736  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Log Likelihood:
##  -2731.85    normalized:  -0.9326902 
## 
## Description:
##  Wed May 11 22:04:40 2022 by user: Lenovo 
## 
## 
## Standardised Residuals Tests:
##                                 Statistic p-Value     
##  Jarque-Bera Test   R    Chi^2  49.97675  1.405032e-11
##  Shapiro-Wilk Test  R    W      0.9956803 1.655882e-07
##  Ljung-Box Test     R    Q(10)  13.38285  0.203047    
##  Ljung-Box Test     R    Q(15)  20.29833  0.1607845   
##  Ljung-Box Test     R    Q(20)  22.87265  0.2950909   
##  Ljung-Box Test     R^2  Q(10)  12.89585  0.2295534   
##  Ljung-Box Test     R^2  Q(15)  16.55288  0.3462878   
##  Ljung-Box Test     R^2  Q(20)  27.24036  0.1286361   
##  LM Arch Test       R    TR^2   14.29661  0.2821698   
## 
## Information Criterion Statistics:
##      AIC      BIC      SIC     HQIC 
## 1.868795 1.879007 1.868789 1.872472拟合的固定δ=2的APARCH模型为:
rt=σ2t=0.0123+at,at=σtεt,εt∼N(0,1)0.00127+0.0283(|at−1|−0.1100at−1)2+0.9687σ2t−1
其中的波动率方程可以借助Nt−1为at−1<0的示性函数写成
σ2t=0.00127+(0.0224+0.0125Nt−1)a2t−1+0.9687σ2t−1.
与直接估计TGARCH(1,1)的结果对比:
rt=σ2t=0.0123+at,at=σtεt,εt i.i.d. N(0,1)0.0013+(0.0224+0.0124Nt−1)a2t−1+0.9687σ2t−1.
两个估计结果基本相同。
也可以用rugarch包估计APARCH模型:
library(rugarch)
spec3 <- ugarchspec(
  mean.model = list(
    armaOrder=c(0,0),
    include.mean=TRUE  ),
  variance.model = list(
    model = "apARCH", # APARCH model
    garchOrder = c(1,1) ) )
mod3ru <- ugarchfit(spec = spec3, 
  data = xts.useu.lnrtn)
show(mod3ru)## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : apARCH(1,1)
## Mean Model   : ARFIMA(0,0,0)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error   t value Pr(>|t|)
## mu      0.012516    0.010740    1.1654 0.243858
## omega   0.001683    0.000595    2.8299 0.004656
## alpha1  0.031692    0.000877   36.1495 0.000000
## beta1   0.969388    0.000679 1427.5230 0.000000
## gamma1  0.121817    0.072545    1.6792 0.093115
## delta   1.580101    0.129609   12.1913 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error   t value Pr(>|t|)
## mu      0.012516    0.011800    1.0607 0.288841
## omega   0.001683    0.000772    2.1804 0.029229
## alpha1  0.031692    0.002833   11.1859 0.000000
## beta1   0.969388    0.000680 1425.6414 0.000000
## gamma1  0.121817    0.084847    1.4357 0.151084
## delta   1.580101    0.082927   19.0542 0.000000
## 
## LogLikelihood : -2731.113 
## 
## Information Criteria
## ------------------------------------
##                    
## Akaike       1.8690
## Bayes        1.8812
## Shibata      1.8690
## Hannan-Quinn 1.8734
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.2823  0.5952
## Lag[2*(p+q)+(p+q)-1][2]    0.3207  0.7843
## Lag[4*(p+q)+(p+q)-1][5]    3.3970  0.3393
## d.o.f=0
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      5.165 0.02304
## Lag[2*(p+q)+(p+q)-1][5]     7.349 0.04264
## Lag[4*(p+q)+(p+q)-1][9]     9.341 0.06909
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]     2.896 0.500 2.000 0.08882
## ARCH Lag[5]     3.238 1.440 1.667 0.25703
## ARCH Lag[7]     4.723 2.315 1.543 0.25404
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.5207
## Individual Statistics:              
## mu     0.18789
## omega  0.18056
## alpha1 0.07682
## beta1  0.09516
## gamma1 0.38035
## delta  0.08651
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.49 1.68 2.12
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value     prob sig
## Sign Bias            1.641 0.100814    
## Negative Sign Bias   2.398 0.016537  **
## Positive Sign Bias   1.771 0.076666   *
## Joint Effect        12.991 0.004657 ***
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     62.92    1.323e-06
## 2    30     71.22    2.064e-05
## 3    40     73.65    6.628e-04
## 4    50     79.79    3.561e-03
## 
## 
## Elapsed time : 0.4970009与fGarch包的估计结果不完全相同,
参数值比较接近。
参考文献
Ding, Z., C. W. J. Granger, and R. F. Engle. 1993. “A Long Memory Property of Stock Returns and a New Model.” Journal of Empirical Finance 1: 83–106.
Glosten, L. R., R. Jagannathan, and D. E. Runkle. 1993. “On the Relation Between the Expected Value and the Volatility of Nominal Excess Return on Stocks.” J. Finance 48: 1779–1801.
Nelson, D. B. 1991. “Conditional Heteroskedasticity in Asset Returns: A New Approach.” Econometrica 59: 347–70.
Tsay, Ruey S. 2010. Analysis of Financial Time Series. 3rd Ed. John Wiley & Sons, Inc.
———. 2013. 金融数据分析导论:基于R语言. 机械工业出版社.
Zakoian, J. M. 1994. “Threshold Heteroscedastic Models.” J Econ Dyn Control 18: 931–55.
韭菜热线原创版权所有,发布者:风生水起,转载请注明出处:https://www.9crx.com/74591.html
 
                
 
                                                                                                


 
                                    