(一)建立ARIMA模型
auto.arima(AA[,4])#識別最優階數 arima1<-arima(AA[,4],order=c(0,1,3),method="ML") summary(arima1)
(二)建立GARCH模型
#GARCH模型 library(rugarch) myspec=ugarchspec(variance.model=list(model="sGARCH",garchOrder=c(1,1), submodel=NULL,external.regressors=NULL,variance.targeting=FALSE), mean.model=list(armaOrder=c(1,1),include.mean=TRUE,archm=FALSE,archpow=1, arfima=FALSE,external.regressors=NULL,archex=FALSE), distribution.model="std") garchfit=ugarchfit(myspec,data=SR_dayly,solver="solnp") err=residuals(garchfit) plot(residuals(garchfit),main="殘差圖") plot(sigma(garchfit),main="波動率圖") #ARCH效應檢驗 for(i in 1:10){ print(ArchTest(err,lag=i)) }
(三)建立非對稱GARCH模型
myspec=ugarchspec(variance.model=list(model="eGARCH",garchOrder=c(1, 1)),mean.model=list(armaOrder=c(0,0),include.mean=TRUE),distribution.model="std") fit=ugarchfit(myspec,data=S1,solver="gosolnp") summary(fit) plot(fit,which=12)#信息沖擊曲線 plot(fit)