dgp.fgarch: Data Generating Process - Functional ARCH/GARCH Process

Description Usage Arguments Details Value References See Also Examples

View source: R/dgp.R

Description

dgp.fgarch function generates functional curve data following the functional ARCH(1) or GARCH(1,1) process.

Usage

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

Arguments

grid_point

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)=σ_i(t)\varepsilon_i(t), t \in [0,1],
σ_i^2(t)=ω(t)+\int α(t,s) x^2_{i-1}(s)ds.

If x_i(t) follows an FGARCH(1,1) process,
x_i(t)=σ_i(t)\varepsilon_i(t), t \in [0,1],
σ_i^2(t)=ω(t)+\int α(t,s) x^2_{i-1}(s)ds+\int β(t,s) σ^2_{i-1}(s)ds,
where the innovation \varepsilon_i(t) follows an Ornstein–Uhlenbeck process dgp.fiid, and the constant coefficient ω(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

Hormann, S., Horvath, L., Reeder, R. (2013). A functional version of the ARCH model. Econometric Theory. 29(2), 267-288. <doi:10.1017/S0266466612000345>.
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.fiid

Examples

1
2
3
4
5
6
# generate discrete evaluations of 100 FARCH curves that each curve is realized on 50 grid points.
yd = dgp.fgarch(50, 100, "garch")
yd_garch = yd$garch_mat

# smooth discrete data into functional curves.
fd = fda::Data2fd(argvals=seq(0,1,len=50),y=yd_garch,fda::create.bspline.basis(nbasis=32))

yzhao7322/CurVol documentation built on Sept. 5, 2021, 8:41 p.m.