r-如何在GARCH模型中使用ARIMA



我有财务数据,我的目标是能够进行预测。我运行了一个arima模型,发现最适合的是arima(1,1,1(w/drift。我想在数据集上使用GARCH,因为由于波动性,它是更好的模型,当我对残差进行平方时,它确实具有拱形效应。但我知道GARCH接受了一个2参数arima,我不确定这是如何从我目前拥有的3参数arima转换过来的。

library(dplyr)
library(tidyr)
library(lubridate)
library(ggplot2)
library(TSA)
library(forecast)
spnew<-read.csv(file="~/Desktop/SPNEW.csv", header=T, 
sep=",",check.names=FALSE)
sfts1=ts(sp$`Adj Close`, 
freq=260,start=decimal_date(ymd("2009-01-02")))
arsf1=auto.arima(sfts1, trace=T)

我有为GARCH运行的代码,但不确定为arima部分输入什么。

model1 <-  ugarchspec(variance.model = list(model="sGARCH",         
garchOrder=c(_,_)), 
mean.model = list(armaOrder=c(_,_)), 
distribution.model = "norm")        
mod2 <- ugarchfit(spec=model1, 
data=sfts1)

我把需要输入的内容留空了。一旦我知道如何输入arima,我就会玩garch命令。如果知道更好的GARCH模型编码方法,请告诉我。

下面,我将您调用2参数arima的模型称为ARMA
rugarch::ugarchspec()可以将ARMA(p,q(或ARFIMA(p,d,q(模型视为mean.model
(注意:当d为整数时,ARFIMA(p,d,q(等效于ARIMA

这是我的例子;

p <- 1
q <- 1
# d <- 1    # if you want to fix d
model1 <-  ugarchspec(variance.model = list(model="sGARCH",         
garchOrder=c(_, _)), 
mean.model = list(armaOrder=c(p, q),
arfima = T),    # using arfima model
# fixed.pars=list(arfima = d),    # If you want to fix d
distribution.model = "norm"))

季节性可以通过在ugarchspec()中的mean.model =中包含external.regressors =来合并。forecast包中的fourier()-函数可以帮助您找到合适的傅立叶项,这些项可以用作表示季节性的外部回归函数。

相关内容

  • 没有找到相关文章

最新更新