Dear all
I am currently estimating a number of GARCH models using the excellent
rugarch package.
I am however having a small problem, as the mean equation has convergence
problems. It is a simple ARMA(6,5) model, that is being used as mean
equation.
When estimating the mean equation, I understand that ugarchfit() use the
standard arima() function. Is there a way to pass optim.control arguments
to the arima solver? A simple increase in the default maxit should solve
the problem, but I cannot figure out if there is a way to pass this
argument.
As a small hack I have tried to simply give the arma(6,5) estimates as
stating values to ugarchspec() using arima() with a higher maxit.
However, ugarchfit() still reports convergence problems in the mean
equation, when I attempt this.
Any help will be much appreciated.
Current code:
arima_start_val <- arima(input_series, order = c(6, 0, 5), optim.control =
list(maxit = 2000)) %>%
coef %>%
as.list
names(arima_start_val) <- c("ar1", "ar2", "ar3", "ar4", "ar5", "ar6",
"ma1", "ma2", "ma3", "ma4", "ma5", "mu")
model <- ugarchspec(
variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(6, 5)),
start.pars = arima_start_val,
distribution = "norm")
ugarchfit(spec = model, data = input_series)
Best regards,
Andreas Keller
--
Andreas Keller
Passing optim.control arima arguments to ugarchfit in rugarch
3 messages · Alexios Ghalanos, Andreas Keller Leth Laursen
Hi, arima is only used to obtain mean equation starting values for the joint recursion which is then ML based. Your best bet is to try using solver="gosolnp" which searches the parameter space for good starting values. Also, try setting variance.targeting=TRUE (in variance.model), and fit.control=list(scale=1). Ofcourse, this is all dependent on using a reasonable amount of data for the estimation (already discussed numerous times over the years). Regards, Alexios
On 21/01/2015 10:38, Andreas Keller Leth Laursen wrote:
Dear all
I am currently estimating a number of GARCH models using the excellent
rugarch package.
I am however having a small problem, as the mean equation has convergence
problems. It is a simple ARMA(6,5) model, that is being used as mean
equation.
When estimating the mean equation, I understand that ugarchfit() use the
standard arima() function. Is there a way to pass optim.control arguments
to the arima solver? A simple increase in the default maxit should solve
the problem, but I cannot figure out if there is a way to pass this
argument.
As a small hack I have tried to simply give the arma(6,5) estimates as
stating values to ugarchspec() using arima() with a higher maxit.
However, ugarchfit() still reports convergence problems in the mean
equation, when I attempt this.
Any help will be much appreciated.
Current code:
arima_start_val <- arima(input_series, order = c(6, 0, 5), optim.control =
list(maxit = 2000)) %>%
coef %>%
as.list
names(arima_start_val) <- c("ar1", "ar2", "ar3", "ar4", "ar5", "ar6",
"ma1", "ma2", "ma3", "ma4", "ma5", "mu")
model <- ugarchspec(
variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(6, 5)),
start.pars = arima_start_val,
distribution = "norm")
ugarchfit(spec = model, data = input_series)
Best regards,
Andreas Keller
--
Andreas Keller
[[alternative HTML version deleted]]
_______________________________________________ R-SIG-Finance at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Ah, a misunderstanding on my part. Of course it makes perfect sense that they are jointly estimated. Thanks for the suggestions and the swift response. Best regards, Andreas -- Andreas Keller M.Sc. student in Economics and Management
On Wed, Jan 21, 2015 at 12:19 PM, alexios <alexios at 4dscape.com> wrote:
Hi, arima is only used to obtain mean equation starting values for the joint recursion which is then ML based. Your best bet is to try using solver="gosolnp" which searches the parameter space for good starting values. Also, try setting variance.targeting=TRUE (in variance.model), and fit.control=list(scale=1). Ofcourse, this is all dependent on using a reasonable amount of data for the estimation (already discussed numerous times over the years). Regards, Alexios On 21/01/2015 10:38, Andreas Keller Leth Laursen wrote:
Dear all
I am currently estimating a number of GARCH models using the excellent
rugarch package.
I am however having a small problem, as the mean equation has convergence
problems. It is a simple ARMA(6,5) model, that is being used as mean
equation.
When estimating the mean equation, I understand that ugarchfit() use the
standard arima() function. Is there a way to pass optim.control arguments
to the arima solver? A simple increase in the default maxit should solve
the problem, but I cannot figure out if there is a way to pass this
argument.
As a small hack I have tried to simply give the arma(6,5) estimates as
stating values to ugarchspec() using arima() with a higher maxit.
However, ugarchfit() still reports convergence problems in the mean
equation, when I attempt this.
Any help will be much appreciated.
Current code:
arima_start_val <- arima(input_series, order = c(6, 0, 5), optim.control =
list(maxit = 2000)) %>%
coef %>%
as.list
names(arima_start_val) <- c("ar1", "ar2", "ar3", "ar4", "ar5", "ar6",
"ma1", "ma2", "ma3", "ma4", "ma5", "mu")
model <- ugarchspec(
variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(6, 5)),
start.pars = arima_start_val,
distribution = "norm")
ugarchfit(spec = model, data = input_series)
Best regards,
Andreas Keller
--
Andreas Keller
[[alternative HTML version deleted]]
_______________________________________________ R-SIG-Finance at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.