stan_garch: Fitting for a GARCH(s,k,h) model.

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/stan_models.R

Description

Fitting a GARCH(s,k,h) model in Stan.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
stan_garch(
  ts,
  order = c(1, 1, 0),
  arma = c(0, 0),
  xreg = NULL,
  genT = FALSE,
  asym = "none",
  chains = 4,
  iter = 2000,
  warmup = floor(iter/2),
  adapt.delta = 0.9,
  tree.depth = 10,
  stepwise = TRUE,
  prior_mu0 = NULL,
  prior_sigma0 = NULL,
  prior_ar = NULL,
  prior_ma = NULL,
  prior_mgarch = NULL,
  prior_arch = NULL,
  prior_garch = NULL,
  prior_breg = NULL,
  prior_gamma = NULL,
  prior_df = NULL,
  series.name = NULL,
  ...
)

Arguments

ts

a numeric or ts object with the univariate time series.

order

A specification of the garch model: the three components (s, k, h) are the arch order, the garch order, and the mgarch order.

arma

A specification of the ARMA model,same as order parameter: the two components (p, q) are the AR order,and the MA order.

xreg

Optionally, a numerical matrix of external regressors, which must have the same number of rows as ts. It should not be a data frame.

genT

a boolean value to specify for a generalized t-student garch model.

asym

a string value for the asymmetric function for an asymmetric GARCH process. By default the value "none" for standard GARCH process. If "logit" a logistic function is used for asymmetry, and if "exp" an exponential function is used.

chains

An integer of the number of Markov Chains chains to be run, by default 4 chains are run.

iter

An integer of total iterations per chain including the warm-up, by default the number of iterations are 2000.

warmup

A positive integer specifying number of warm-up (aka burn-in) iterations. This also specifies the number of iterations used for step-size adaptation, so warm-up samples should not be used for inference. The number of warmup should not be larger than iter and the default is iter/2.

adapt.delta

An optional real value between 0 and 1, the thin of the jumps in a HMC method. By default is 0.9.

tree.depth

An integer of the maximum depth of the trees evaluated during each iteration. By default is 10.

stepwise

If TRUE, will do stepwise selection (faster). Otherwise, it searches over all models. Non-stepwise selection can be very slow, especially for seasonal models.

prior_mu0

The prior distribution for the location parameter in an ARMA model. By default the value is set NULL, then the default normal(0,1) prior is used.

prior_sigma0

The prior distribution for the scale parameter in an ARMA model. By default the value is set NULL, then the default student(7,0,1) prior is used.

prior_ar

The prior distribution for the auto-regressive parameters in an ARMA model. By default the value is set NULL, then the default normal(0,0.5) priors are used.

prior_ma

The prior distribution for the moving average parameters in an ARMA model. By default the value is set NULL, then the default normal(0,0.5) priors are used.

prior_mgarch

The prior distribution for the mean GARCH parameters in a GARCH model. By default the value is set NULL, then the default normal(0,0.5) priors are used.

prior_arch

The prior distribution for the arch parameters in a GARCH model. By default the value is set NULL, then the default normal(0,0.5) priors are used.

prior_garch

The prior distribution for the GARCH parameters in a GARCH model. By default the value is set NULL, then the default normal(0,0.5) priors are used.

prior_breg

The prior distribution for the regression coefficient parameters in a ARIMAX model. By default the value is set NULL, then the default student(7,0,1) priors are used.

prior_gamma

The prior distribution for the asymmetric parameters in am Asymmetric GARCH model. By default the value is set NULL, then the default normal(0,0.5) priors are used.

prior_df

The prior distribution for the degree freedom parameters in a t-student innovations GARCH model. By default the value is set NULL, then the default gamma(2,0.1) priors are used.

series.name

an optional string vector with the series names.

...

Further arguments passed to varstan function.

Details

The function returns a varstan object with the fitted model.

By default the garch() function generates a GARCH(1,1) model, when genT option is TRUE a t-student innovations GARCH model (see Ardia (2010)) is generated, and for Asymmetric GARCH models use the option asym for specify the asymmetric function, see Fonseca, et. al (2019) for more details.

The default priors used in a GARCH(s,k,h) model are:

For changing the default prior use the function set_prior().

Value

A varstan object with the fitted GARCH model.

Author(s)

Asael Alonzo Matamoros.

References

Engle, R. (1982). Autoregressive Conditional Heteroscedasticity with Estimates of the Variance of United Kingdom Inflation. Econometrica, 50(4), 987-1007. url: http://www.jstor.org/stable/1912773.

Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics. 31(3), 307-327. doi: https://doi.org/10.1016/0304-4076(86)90063-1.

Fonseca, T. and Cequeira, V. and Migon, H. and Torres, C. (2019). The effects of degrees of freedom estimation in the Asymmetric GARCH model with Student-t Innovations. arXiv doi: arXiv: 1910.01398.

Ardia, D. and Hoogerheide, L. (2010). Bayesian Estimation of the GARCH(1,1) Model with Student-t Innovations. The R Journal. 2(7), 41-47. doi: 10.32614/RJ-2010-014.

See Also

Sarima auto.arima set_prior

Examples

1
2
3
4
5
 # Declaring a garch(1,1) model for the ipc data.
 sf1 = stan_garch(ipc,order = c(1,1,0),iter = 500,chains = 1)

 # Declaring a t-student M-GARCH(2,3,1)-ARMA(1,1) process for the ipc data.
 sf2 = stan_garch(ipc,order = c(2,3,1),arma = c(1,1),genT = TRUE,iter = 500,chains = 1)

bayesforecast documentation built on June 17, 2021, 5:14 p.m.