如何在GARCH模型中使用ARIMA

问题描述 投票:0回答:1

我有财务数据,我的目标是能够进行预测。我运行了一个Arima模型,发现最合适的是带漂移的arima(1,1,1)。我想在数据集上使用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模型代码编写方法,请告诉我。

r data-modeling finance arima forecast
1个回答
0
投票

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

这是我的例子;

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 = 1)     # If you want to fix d
                      distribution.model = "norm"))
© www.soinside.com 2019 - 2024. All rights reserved.