dgp.fgarch: Functional ARCH/GARCH Process Generator

View source: R/dgp.fgarch.R

dgp.fgarchR Documentation

Functional ARCH/GARCH Process Generator

Description

It generates functional curve data following the functional ARCH(1) or GARCH(1,1) process.

Usage

dgp.fgarch(J, N, type, alpha_par = NULL, beta_par = NULL)

Arguments

J

The number of grid point in each curve observation.

N

The sample size.

type

A string to switch data generating process between "arch" - functional ARCH and "garch" - functional GARCH.

alpha_par

The ARCH kernel coefficient function in the conditional volatility equation. If it is missing, "12 t (1-t) s (1-s)" is used to generate FGARCH, and "16 t (1-t) s (1-s)" is used to generate FARCH, for t\in[0,1] and s\in[0,1].

beta_par

The GARCH kernel coefficient function in the conditional volatility equation. If it is missing, "12 t (1-t) s (1-s)" is used to generate FGARCH, for t\in[0,1] and s\in[0,1].

Details

If X_i(t) follows an FARCH(1) process,
X_i(t)=\sigma_i(t)\varepsilon_i(t), t \in [0,1],
\sigma_i^2(t)=\omega(t)+\int \alpha(t,s) X^2_{i-1}(s)ds.

If X_i(t) follows an FGARCH(1,1) process,
X_i(t)=\sigma_i(t)\varepsilon_i(t), t \in [0,1],
\sigma_i^2(t)=\omega(t)+\int \alpha(t,s) X^2_{i-1}(s)ds+\int \beta(t,s) \sigma^2_{i-1}(s)ds,
where the innovation \varepsilon_i(t) follows an Ornstein–Uhlenbeck process dgp.ou, and the constant coefficient \omega(t)=0.1t(1-t).

Value

List of generated processes:

garch_mat: FARCH/GARCH sequences, where the finite realization of curves are stored in columns;

sigma_mat: Conditional volatility sequences, where the finite realization of curves are stored in columns.

References

[1] Hormann, S., Horvath, L., Reeder, R. (2013). A functional version of the ARCH model. Econometric Theory. 29(2), 267-288. <doi:10.1017/S0266466612000345>.
[2] Aue, A., Horvath, L., F. Pellatt, D. (2017). Functional generalized autoregressive conditional heteroskedasticity. Journal of Time Series Analysis. 38(1), 3-21. <doi:10.1111/jtsa.12192>.

See Also

dgp.ou

Examples


# Generate discrete evaluations of 100 fGARCH curves that
# each curve is realized on 50 grid points.
yd = dgp.fgarch(J = 50, N = 100, type = "garch")
yd_garch = yd$garch_mat


FTSgof documentation built on Oct. 4, 2024, 1:06 a.m.