Learn R Programming

fEGarch (version 1.0.1)

locpol_spec: Specification of Nonparametric Local Polynomial Models

Description

Specify the nonparametric local polynomial model part in a semiparametric volatility model.

Usage

locpol_spec(
  poly_order = c(3, 1),
  kernel_order = c(1, 0, 2, 3),
  boundary_method = c("extend", "shorten"),
  bwidth = NULL
)

Value

An object of class "locpol_spec" is returned.

Arguments

poly_order

a single numeric value, in detail either 1 or 3, that represents the local polynomial order.

kernel_order

a single numeric value representing the smoothness of the underlying kernel function; available are 0 (uniform), 1 (epanechnikov), 2 (bisquare), and 3 (triweight).

boundary_method

a single character value indicating the smoothing concept to use at boundary points; for "extend", the smoothing window is extended toward the interior by the amount that is lost toward the boundary; for "shorten", there is no compensation in the smoothing window toward the interior for the loss of window width toward the boundary, i.e. the total smoothing window width reduces more and more when getting closer to the first and last time points.

bwidth

the smoothing bandwidth; for NULL, i.e. the default, an automated bandwidth selection is employed; otherwise a single numeric value between 0 and 0.5 must be provided.

Details

Assume that a time series \(\{r_t\}\), \(t=1,\dots,n\), follows $$r_t = \mu + \sigma_t \eta_t,$$ where \(\mu = E(r_t)\) and \(\eta_t\) are independent and identically distributed random variables with mean zero and variance one. \(\sigma_t > 0\) are total volatilities composed of \(s(x_t)\), a smooth, deterministic scale function in the unconditional variance over time (with \(x_t\) being the rescaled time on the interval \([0, 1]\)), and of \(\lambda_t\), the conditional standard deviation in \(\zeta_t=\lambda_t\eta_t\), so that \(\sigma_t = s(x_t)\lambda_t\), or alternatively \(r_t = \mu + s(x_t)\zeta_t\). It is assumed that the unconditional variance of the \(\zeta_t\) is one.

The package's estimation of \(\sigma_t\) is based on the following relations:

\(r_t^{*} = r_t - \mu\), \(y_t=\ln\left[\left(r_t^{*}\right)^2\right]\), \(C_{\mu}=E\left[\ln\left(\zeta_t^2\right)\right]\), \(m(x_t) = \ln\left[s^2 (x_t)\right] + C_{\mu}\), \(\xi_t = \ln\left(\zeta_t^2\right) - C_{\mu}\), so that $$y_t = m(x_t)+\xi_t,$$ where \(m\) describes a smooth, deterministic trend in \(y_t\). Nonparametric estimation of \(m\) and subsequent retransformation allows to obtain a suitable estimate of the scale function \(s\) in \(r_t\). Following Feng et al. (2022) and Letmathe et al. (2023), we employ local polynomial regression with automatically selected bandwidth (specially for the time-series context). The function locpol_spec allows to set the basic characteristics of the local polynomial estimator considered, like the order of polynomial used in the local regressions, and the kernel function order. After the scale function has been estimated, a zero-mean GARCH-type model can be fitted to the estimated \(\zeta_t\).

Depending on whether \(\zeta_t\) is assumed to follow a short-memory or a long-memory model, the bandwidth selection algorithm in the local polynomial regression step differs and follows either Feng et al. (2022) and Letmathe et al. (2023). The algorithm selection is done automatically based on the remaining model specifications in the call to the estimation functions like fEGarch.

References

  • Feng, Y., Gries, T., Letmathe, S., & Schulz, D. (2022). The smoots Package in R for Semiparametric Modeling of Trend Stationary Time Series. The R Journal, 14(1), 182-195. URL: https://journal.r-project.org/articles/RJ-2022-017/.

  • Letmathe, S., Beran, J., & Feng, Y. (2023). An extended exponential SEMIFAR model with application in R. Communications in Statistics - Theory and Methods, 53(22), 7914–7926. DOI: 10.1080/03610926.2023.2276049.

Examples

Run this code
locpol_spec()
locpol_spec(poly_order = 1)
locpol_spec(kernel_order = 2)

Run the code above in your browser using DataLab