Я пишу автоматическую процедуру подгонки любого фондового индекса с моделью Garch, которая включает в себя написание функции, которая уточняет модель garch, устанавливая эти незначимые параметры в ноль.
Сначала я присоединяю свой коддля установки дневной цены stoxx50 с 01.01.2015 по 31.12.2017 от GJRGarch (1,0) и ARMA (3,4) из autoarima.
autoarima=auto.arima(stoxx50,trace=FALSE)
lags_ar=length(autoarima$model$phi)
lags_ma=length(autoarima$model$theta)
spec=ugarchspec(variance.model = list(model = "fGARCH", submodel="GJRGARCH",
garchOrder = c(1, 0)),mean.model =list(armaOrder= c(lags_ar,lags_ma)
,include.mean = TRUE), distribution.model= "norm")
model=ugarchfit(spec,stoxx50,solver = "hybrid")
теперь, если я хочу исправить ar1и ar2 к нулю вручную , код задействован, и он работает правильно:
setfixed(spec)<- list(ar1=0,ar2=0)
refinedmodel = ugarchfit(spec, stoxx50, solver="hybrid")
, но когда я пытаюсь заставить его работать автоматически , код не работает:
position_no_signifi = which(model@fit$robust.matcoef[,4]>0.05)
setfixed(spec)=parse(text=paste(rownames(model@fit$matcoef)[position_no_signifi],"=",0 ))
С нетерпением ждем вашей помощи, ребята, заранее спасибо.