Почему выражение из функции "parse" не работает для исправления параметров "ugarchfit" - PullRequest
0 голосов
/ 22 ноября 2018

Я пишу автоматическую процедуру подгонки любого фондового индекса с моделью 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 ))

С нетерпением ждем вашей помощи, ребята, заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...