最近在做衍生品project的时候用到了多元garch模型,在知网上看见的有bv-garch与b-garch等称呼,查阅相关资料后发现多元garch模型拟合一般使用dcc-garch模型,标准形式如下:\[$$Y_{t}=CX_{t}+\mu_{t} \\ \mu_{t}=H_{t}^{1/2}v_{t} \\ H_{t}=D_{t}^{1/2}R_{t}D_{t}^{1/2} \\ R_{t}=diag(Q_{t})^{-1/2}Q_{t}diag(Q_{t})^{-1/2} \\ Q_{t}=(1-\lambda_{1}-\lambda_{2})\rho_{t}+\lambda_{1}(D_{t-1}^{-1/2}v_{t-1})(D_{t-1}^{-1/2}v_{t-1}\prime +\lambda_{2}Q_{t-1})$$\]
R提供了fgarch、rugarch、rmgarch来拟合:
myspec <- ugarchspec(variance.model = list(model = fitmodel,
garchOrder = c(1, 1),
submodel = NULL,
external.regressors = NULL,
variance.targeting = FALSE),
mean.model = list(armaOrder = c(0,0),
include.mean = TRUE,
archm = FALSE,
archpow = 1, arfima = FALSE,
external.regressors = ex.reg,
archex = FALSE),
distribution.model = "norm")
mysepc <- multispec(replicate(2,myspec))#二元garch模型
myspec <- dccspec(mysepc,dccOrder = c(1,1),
distribution = 'mvnorm')
myfit <- dccfit(myspec,data=y)#拟合
myforcast <- dccforecast(myfit,n.ahead = 42)#预测