Simulates multiple realizations of the CUSUM statistic.
sim_Vn_stat(size, kn =function(n){1}, tau =0, use_kernel_var =FALSE, kernel ="ba", bandwidth ="and", n =500, gen_func = rnorm, args =NULL, parallel =FALSE)
Arguments
size: Number of realizations to simulate
kn: A function returning a positive integer that is used in the definition of the trimmed CUSUSM statistic effectively setting the bounds over which the maximum is taken
tau: The weighting parameter for the weighted CUSUM statistic (defaults to zero for no weighting)
use_kernel_var: Set to TRUE to use kernel-based long-run variance estimation (FALSE means this is not employed)
kernel: If character, the identifier of the kernel function as used in the cointReg (see documentation for cointReg::getLongRunVar); if function, the kernel function to be used for long-run variance estimation (default is the Bartlett kernel in cointReg); this parameter has no effect if use_kernel_var is FALSE
bandwidth: If character, the identifier of how to compute the bandwidth as defined in the cointReg package (see documentation for cointReg::getLongRunVar); if function, a function to use for computing the bandwidth; if numeric, the bandwidth to use (the default behavior is to use the method described in if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="andrews91b",package="CPAT",cached_env=.Rdpack.currefs) , as used in cointReg); this parameter has no effect if use_kernel_var is FALSE
n: The sample size for each realization
gen_func: The function generating the random sample from which the statistic is computed
args: A list of arguments to be passed to gen_func
parallel: Whether to use the foreach and doParallel
packages to parallelize simulation (which needs to be initialized in the global namespace before use)
Returns
A vector of simulated realizations of the CUSUM statistic
Details
This differs from sim_Vn() in that the long-run variance is estimated with this function, while sim_Vn() assumes the long-run variance is known. Estimation can be done in a variety of ways. If use_kernel_var
is set to TRUE, long-run variance estimation using kernel-based techniques will be employed; otherwise, a technique resembling standard variance estimation will be employed. Any technique employed, though, will account for the potential break points, as described in if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="horvathricemiller19;textual",package="CPAT",cached_env=.Rdpack.currefs) . See the documentation for stat_Vn for more details.
The parameters kernel and bandwidth control parameters for long-run variance estimation using kernel methods. These parameters will be passed directly to stat_Vn.
Versions of the CUSUM statistic, such as the weighted or trimmed statistics, can be simulated with the function by passing values to kn and tau; again, see the documentation for stat_Vn.