Skip to content
exuber

Heteroskedasticity-robust (time-transformed)

Time-Transformed Test for Explosive Bubbles under Non-stationary Volatility

radf_tt
radf_tt(data, minw = NULL, kernel = c("uniform", "gaussian"), h = NULL)

radf_tt computes the STADF and GSTADF test statistics of Kurozumi, Skrobotov & Tsarev, a heteroskedasticity-robust alternative to radf that needs no bootstrap. It time-deforms the series with a nonparametric estimate of its variance profile, after which the usual asymptotic recursive sup-ADF critical values for homoskedastic errors apply.

Arguments

data A univariate or multivariate numeric time series object, a numeric vector or matrix, or a data.frame. A column may have leading or trailing NA values, which describes an unbalanced panel in which series enter or exit the sample at different times. Those periods are filled with NA in badf and bsadf and excluded from the adf, sadf and gsadf of that series. Interior NA values (a gap in the middle of a series) are not supported. When any series is padded in this way, the panel statistics (bsadf_panel and gsadf_panel) are not available, and the function returns NA for them with a warning.
minw A positive integer. The minimum window size (default = (0.01+1.8/T)T(0.01 + 1.8/\sqrt{T})T, where T denotes the sample size).
kernel Kernel used in the local variance-profile regression, "uniform" (default, as in the simulations of the paper) or "gaussian".
h Bandwidth for the variance-profile kernel regression. The default is T^(-2/5), the midpoint on the log scale of the cross-validation search range [T−0.5,T−0.3][T^{-0.5}, T^{-0.3}] of the paper.

Value

An object of class radf_tt_obj/radf_obj: the same adf/badf/sadf/bsadf/gsadf list as for radf, computed on the time-transformed series. It works with summary(), datestamp(), tidy() and autoplot() when paired with radf_tt_cv.

Details

We recommend radf_tt_cv for the critical values. They are pivotal (asymptotically free of the volatility process), so they do not have to be recomputed for each dataset, unlike a bootstrap. The wild bootstrap of Harvey, Leybourne, Sollis & Taylor in radf_wb_cv is a bootstrap-based alternative. Consider it if non-pivotality or the finite-sample robustness of the bootstrap is a specific concern.

Status

[Experimental]

Examples

These examples are copied from the package's own documentation and are run by R CMD check on every release. The printed output (after #>) and the plots were produced by running them against the current package source.

# Volatility triples half-way through the sample. This is the case of
# non-stationary volatility that this test is built for, and plain radf()
# over-rejects here
y <- sim_psy1(n = 200, seed = 1, e = sim_vol_break(199))
res <- radf_tt(y, minw = 20)
print(res)
#> 
#> ── radf_tt (minw = 20, kernel = uniform) ───────────────────────────────────────
#> 
#>    series      adf   sadf  gsadf
#>   series1  -0.9972  3.275  4.229

cv <- radf_tt_cv(n = 200, minw = 20)
summary(res, cv = cv)
#> 
#> ── Summary (minw = 20, lag = 0) ────────── Time-Transformed MC (nboot = 2000) ──
#> 
#> series1 :
#> # A tibble: 3 × 5
#>   stat   tstat  `90`  `95`  `99`
#>   <fct>  <dbl> <dbl> <dbl> <dbl>
#> 1 adf   -0.997 0.833  1.21  1.97
#> 2 sadf   3.27  2.31   2.65  3.35
#> 3 gsadf  4.23  3.27   3.65  4.42
tidy(res, cv = cv)
#> # A tibble: 1 × 4
#>   id         adf  sadf gsadf
#>   <fct>    <dbl> <dbl> <dbl>
#> 1 series1 -0.997  3.27  4.23
datestamp(res, cv = cv)
#> 
#> ── Datestamp (min_duration = 0) ───────────────────────── Time-Transformed MC ──
#> 
#> series1 :
#>   Start Peak End Duration   Signal Ongoing
#> 1    21   38  89       68 negative   FALSE
#> 2   148  148 149        1 positive   FALSE
autoplot(res, cv = cv)
Plot from the radf_tt example

See also

radf_tt_cv for the pivotal asymptotic critical values that need no bootstrap, and radf_wb_cv for the bootstrap-based alternative (Harvey, Leybourne, Sollis & Taylor).

Other volatility-robust tests: cusum_test(), radf_kp(), radf_sbz(), radf_sbz_union(), radf_sign(), radf_sign_dm(), ssu_test()

References

Kurozumi, E., Skrobotov, A., & Tsarev, A. (2024). Time-Transformed Test for Bubbles under Non-stationary Volatility. Journal of Financial Econometrics. 10.1093/jjfinec/nbae026