|
y=c+b*x*D+a
如果说向前预测多步y,这里就是y=c+b*x*D,因为E(a)=E(h*v)=0 V~N(0,sigma^2);
如果说是预测sigma,那就是使用递推式h_{t+1}^2=alpha0+(alpha1+beta1)*h_{t}^2
在splus里面用predict()函数
用SPLUS举个例子,数据是五粮液认购RCALL、认沽权证收益率RPUT与五粮液股票收益率RSTK,均值方程是五粮液认购RCALL与五粮液股票收益率RSTK之间的回归。
> module(finmetrics)
> wly[1:3,2:4]
rstk rcall rput
1 0.001405482 0.04561051 -0.01015237
2 0.027702603 0.15324035 0.02020271
3 0.073717576 0.21985948 0.15700375
> fit=garch(wly$rcall~1+wly$rstk,~garch(1,1),trace=F)
> fit
Call:
garch(formula.mean = wly$rcall ~ 1 + wly$rstk, formula.var = ~ garch(1, 1),
trace = F)
Mean Equation: structure(.Data = wly$rcall ~ 1 + wly$rstk
, class = "formula"
)
Conditional Variance Equation: structure(.Data = ~ garch(1, 1)
, class = "formula"
)
Coefficients:
C 0.00264213
wly$rstk 1.13254697
A 0.00004562
ARCH(1) -0.00753632
GARCH(1) 0.96873204
> predict(fit,n=3)
$series.pred:
[1] 0.002642133 0.002642133 0.002642133
$sigma.pred:
[1] 0.02802434 0.02829328 0.02854939
$asymp.sd:
[1] 0.03428816
attr(, "class"):
[1] "predict.garch"
>
|