estimateAccumulatedVolatilityCI {BSS}R Documentation

Estimate confidence interval for the accumulated volatility processes

Description

estimateAccumulatedVolatility estimates a confidence interval for the pth power accumulated volatility process for a Brownian semistationary process, using either parametric methods of model fitting first, or using a non-parametric estimator for the scale factor.

Usage

estimateAccumulatedVolatilityCI(
  Y,
  n,
  p,
  method = "nonparametric",
  kernel = "gamma",
  confidence_level
)

Arguments

Y

a vector of observations of a BSS process.

n

positive integer indicating the number of observations per unit of time.

p

the power to evaluate the accumulated power volatility process for. Defaults to 2, in order to estimate the accumulated squared volatility process.

method

text string representing the method used to estimate the accumulated volatility. Options are 'acf', 'cof' or nonparametric. If 'acf' is selected, model parameters are fit to the data Y using least squares on the autocorrelation function and these parameters are used to estimate the scale factor. If 'cof' is selected, only the smoothness parameter alpha is estimated using the change of frequency method, and then put into an asymptotic expression for the scale factor in the calculation. If 'nonparametric' is selected then the non-parametric estimator for the scale factor will be used in the calculation. Defaults to 'nonparametric'.

kernel

text string representing the choice of kernel when fitting the model to estimate the scale factor parametrically. Options are 'gamma' and 'power'. Defaults to 'gamma'.

confidence_level

the required level for the confidence interval, as a probability between 0 and 1.

Value

The function returns a list of two vectors of the same length as Y which are the estimates for the lower and upper values for the confidence interval. Note that the values have been divided by m_p in the output, so that the estimation is of the integral alone. If the non-parametric estimator for tau_n is used then the values will be scaled by the expectation of the squared volatility, as per the theory.

Examples


N <- 10000
n <- 100
T <- 1.0
theta <- 0.5
beta <- 0.125

kappa <- 3
alpha <- -0.2
lambda <- 1.0


vol <- exponentiatedOrnsteinUhlenbeck(N, n, T, theta, beta)
bss_simulation <- gammaKernelBSS(N, n, T, kappa, alpha, lambda, sigma = vol)
y <- bss_simulation$bss
estimateAccumulatedVolatility(y, n, p = 2, method = 'nonparametric', kernel = 'gamma')

#'


[Package BSS version 0.1.0 Index]