[R-SIG-Finance] How to add lagged values to rugarch-model
Lasse Thorst
thorstlasse at gmail.com
Wed Nov 5 15:59:35 CET 2014
Thanks!
Quick follow-up.
My knowledge about ARMA-GARCH models is not perfect, but if want a lagged
time series in the model - to work with seasonality - how can I then add
it, if not via the ext.reg?
For example, in STATA I would do something like choosing my "x AR(24)
AR(48)" for adding the 24th and 48th lag.
I would here like to add the 24th and 48th lag to the mean model in my
ARMA-GARCH model.
Should I look at another package?
2014-11-05 15:28 GMT+01:00 Robert Harlow <rharlow86 at gmail.com>:
> Lasse,
> Your problem is that you have NAs in your external regressor matrix.
> Since you lagged it twice, you have 2 NAs. Try the code below.
> Thanks for the reproducible example, it made it really easy.
> Bob
>
>
> require(rugarch)
> require(quantmod)
>
> x = runif(n = 1000, min = -5, max = 100)
> ext.reg_lagged = cbind(Lag(x, k = 1), Lag(x, k = 2))
> ext.reg = cbind(x + runif(n = 1000, min = 5, max = 20), x - runif(n = 1000,
> min = 5, max = 15))
>
> *x <- x[-c(1:2)]*
> *ext.reg_lagged = ext.reg_lagged[-c(1:2), ]*
>
> fit.spec <- ugarchspec(variance.model = list(model = "sGARCH",
> garchOrder = c(1, 1)),
> mean.model = list(armaOrder = c(3, 1),
> include.mean = TRUE,
> external.regressors =
> ext.reg_lagged), # with ext.reg.lagged it does
> not work.
> distribution.model = "sstd")
> fit <- ugarchfit(data = x, spec = fit.spec, solver = "hybrid")
>
>
> On Wed, Nov 5, 2014 at 9:16 AM, Lasse Thorst <thorstlasse at gmail.com>
> wrote:
>
>> Hi - First question here, so please bear with me:
>>
>> I would like to added lagged values to a rugarch-model, but have been
>> unable to find answers in the vignette.
>>
>> Basic test-code:
>>
>> require(rugarch)
>> require(quantmod)
>>
>> x = runif(n = 1000, min = -5, max = 100)
>> ext.reg_lagged = cbind(Lag(x, k = 1), Lag(x, k = 2))
>> ext.reg = cbind(x + runif(n = 1000, min = 5, max = 20), x - runif(n =
>> 1000,
>> min = 5, max = 15))
>>
>> fit.spec <- ugarchspec(variance.model = list(model = "sGARCH",
>> garchOrder = c(1, 1)),
>> mean.model = list(armaOrder = c(3, 1),
>> include.mean = TRUE,
>> external.regressors =
>> ext.reg), # with ext.reg.lagged it does not work.
>> distribution.model = "sstd")
>>
>> fit <- ugarchfit(data = x, spec = fit.spec, solver = "hybrid")
>>
>> Now this works perfectly, but if I exchange the external.regressors =
>> ext.reg_lagged
>> it no longer works.
>>
>> How can you do this in rugarch? Or do I need to try another package?
>>
>> /Regards Lasse
>>
>> [[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.
>>
>
>
[[alternative HTML version deleted]]
More information about the R-SIG-Finance
mailing list