est.fGarchx: Estimate Functional GARCH-X Model

Description Usage Arguments Details Value References See Also Examples

View source: R/estimation.R

Description

est.fGarchx function estimates the Functional GARCH-X model by using the Quasi-Maximum Likelihood Estimation method.

Usage

1
est.fGarchx(fdata_y, fdata_x, basis)

Arguments

fdata_y

The functional data object with N paths for the objective data.

fdata_x

The functional data object with N paths for the covariate X.

basis

The M-dimensional basis functions.

Details

This function estimates the Functional GARCH-X model:
y_i(t)=σ_i(t)\varepsilon_i(t), for t \in [0,1] and 1≤q i ≤q N,
σ_i^2(t)=ω(t)+\int α(t,s) y^2_{i-1}(s)ds+\int β(t,s) σ^2_{i-1}(s)ds + \int θ(t,s) x^2_{i-1}(s)ds,
where x_i(t) is an exogenous variable.

Value

List of model paramters:

d: d Parameter vector, for intercept function δ.

As: A Matrices, for α operators.

Bs: B Matrices, for β operators.

Gs: G Matrices, for γ operators.

References

Rice, G., Wirjanto, T., Zhao, Y. (2021) Exploring volatility of crude oil intra-day return curves: a functional GARCH-X model. MPRA Paper No. 109231. <https://mpra.ub.uni-muenchen.de/109231>. Cerovecki, C., Francq, C., Hormann, S., Zakoian, J. M. (2019). Functional GARCH models: The quasi-likelihood approach and its applications. Journal of Econometrics. 209(2), 353-375. <doi:10.1016/j.jeconom.2019.01.006>.

See Also

est.fArch est.fGarch diagnostic.fGarch

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
## Not run: 
# generate discrete evaluations and smooth them into functional data objects.
yd = dgp.fgarch(grid_point=50, N=200, "arch")
yd = yd$garch_mat
xd = dgp.fgarch(grid_point=50, N=200, "garch")
xd = xd$garch_mat
fdy = fda::Data2fd(argvals=seq(0,1,len=50),y=yd,fda::create.bspline.basis(nbasis=32))
fdx = fda::Data2fd(argvals=seq(0,1,len=50),y=xd,fda::create.bspline.basis(nbasis=32))

# extract data-driven basis functions through the truncated FPCA method.
basis_est = basis.est(yd, M=2, "tfpca")$basis

# estimate an FGARCH-X model with basis when M=1.
garchx_est = est.fGarchx(fdy, fdx, basis_est[,1])

## End(Not run)

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