radf_sbz_cv performs the HLST (2016) wild bootstrap – the same
algorithm as radf_wb_cv – jointly on the classic
sup-ADF statistic (supDF, i.e. radf()'s sadf) and the
WLS/kernel-volatility statistic supBZ of Harvey, Leybourne & Zu
(2019), and combines them into the paper's union-of-rejections statistic
U. supBZ can have substantially higher power than supDF under
many time-varying-volatility patterns, at the cost of lower power under
others (e.g. upward volatility trends); U is designed to capture
whichever of the two is more powerful for a given series.
Usage
radf_sbz_cv(
data,
minw = NULL,
nboot = 499L,
kernel = c("gaussian", "uniform"),
h = NULL,
seed = NULL
)Arguments
- data
A univariate or multivariate numeric time series object, a numeric vector or matrix, or a data.frame. A column may have leading and/or trailing
NAvalues (an uneven/unbalanced panel where series enter or exit the sample at different times) – those periods are filled withNAinbadf/bsadfand excluded from that series'adf/sadf/gsadf. InteriorNAvalues (a gap in the middle of a series) are not supported. When any series is padded this way, the panel statistic (bsadf_panel/gsadf_panel) is not available and is returned asNA, with a warning.- minw
A positive integer. The minimum window size (default = \((0.01 + 1.8/\sqrt(T))T\), where T denotes the sample size).
- nboot
A positive integer. Number of bootstraps (default = 500L).
- kernel
Kernel for the spot-volatility estimator (eq. 6),
"gaussian"(default, as in the paper) or"uniform".- h
Bandwidth for the spot-volatility estimator. Default: leave-one-out cross-validation over the paper's own search range.
- seed
An object specifying if and how the random number generator (rng) should be initialized. Either NULL or an integer will be used in a call to
set.seedbefore simulation. If set, the value is saved as "seed" attribute of the returned value. The default, NULL, will not change rng state, and return .Random.seed as the "seed" attribute. Results are reproducible across the parallel and non-parallel option when the same seed is used.
Value
A list with bootstrap p-values (p_supDF, p_supBZ,
p_U) and critical values (supDF_cv, supBZ_cv,
U_cv) for each series.
Note
This function bundles the statistic and its critical values in a
single call – there is no separate un-cv'd statistic function and no
other critical-value function to pair it with, unlike radf()/
radf_wb_cv().
References
Harvey, D. I., Leybourne, S. J., & Zu, Y. (2019). Testing explosive bubbles with time-varying volatility. Econometric Reviews, 38(10), 1131-1151.
See also
radf_wb_cv for the underlying (supDF-only) wild
bootstrap, and radf_tt for a bootstrap-free
heteroskedasticity-robust alternative.
Examples
# \donttest{
res <- radf_sbz_cv(sim_data, nboot = 200)
print(res)
#>
#> ── radf_sbz (minw = 19, nboot = 200) ───────────────────────────────────────────
#>
#> series supDF supBZ U p_supDF p_supBZ p_U
#> psy1 1.946 0.2802 1.946 0.045 0.580 0.070
#> psy2 7.880 1.5349 7.880 0.000 0.175 0.000
#> evans 5.283 1.9138 5.283 0.085 0.285 0.120
#> div 1.113 2.2607 1.336 0.100 0.080 0.110
#> blan 3.930 1.4008 3.930 0.060 0.235 0.085
#>
# }
