exuber (development version)
New methodologies from the docs/enhancements/ research programme, each independently validated against a published number (formula-exact check, table lookup, or a direct Monte Carlo reproduction of the source paper’s own theorem) — see docs/enhancements/README.md for the full record of what was checked and how.
Volatility-robust tests
-
radf_sbz_cv()— Herwartz & Siedenburg’s WLS/kernel-volatility SBZ test. -
radf_kp()— kernel-purge heteroskedasticity test. -
radf_wb_cv(..., dist_skew = TRUE)— Hafner (2020) skewness-corrected wild bootstrap. -
radf_sign()/radf_sign_cv()— Harvey, Leybourne & Zu (2020) sign-based sGSADF, invariant to volatility with no bootstrap needed. -
ssu_test()— Kurozumi & Nishi (2025) stochastic explosive-coefficient test (minimum-viable subset). -
radf_svadf()— Sarkar & Wells (2026) SV-ADF asymmetric-threshold dating. Caveat: the source is a non-peer-reviewed preprint, flagged at call time and in?radf_svadf.
Dating and root inference
-
dating_pdc()— PDC/KS sequential sample-splitting dating, plustype = "wls"for Kurozumi & Skrobotov (2023)’s time-varying-volatility correction. -
radf_recovery()/radf_recovery_cv()— Phillips & Shi (2014) reverse-regression crisis-origination/recovery dating. Caveat:f_cand the overall false-detection rate are exploratory pending further validation, flagged at call time and in?radf_recovery. -
dating_hls()— Harvey, Leybourne & Sollis (2017) SSR/BIC single-bubble dating. -
dating_hlw()— Harvey, Leybourne & Whitehouse (2020) SSR/BIC multi-bubble two-step wrapper. -
dating_knp()— Kejriwal, Nguyen & Perron (2025) bias-corrected dating.
Real-time monitoring
-
radf_monitor()— Phillips & Shi (2020) training/monitoring orchestration (Family A), plus Kurozumi (2020) closed-formSADF/GSADF_s0boundaries and Homm & Breitung (2012)’s FLUC boundary. -
monitor_cusum()— Homm & Breitung (2012) CUSUM monitoring, plus Astill et al. (2023)’s volatility-robust CUSUMV kernel variant and HB’s finite-sample boundary. -
lbi_test()/monitor_lbi()— Breitung & Diegel (2025) static LBI test and its sequential mCUSUM/wCUSUM extension.
Multivariate / panel tests
-
radf_common()/radf_common_cv()— Chen, Phillips & Shi common-bubble detection (PCA + PSY). -
cobubble_test()— Evripidou, Harvey, Leybourne & Sollis (2022) co-explosive test. -
contagion_reg()— Greenaway-McGrevy & Phillips (2016) bubble contagion regression (minimum-viable subset).
Alternative paradigms
-
quantile_test()— Wu, Shi & Wu (2025) quantile-based global test. -
monitor_quantile()— Wu, Shi & Wu (2025) QPWY recursive quantile monitoring.
Naming
- 12 of the functions above (
cobubble_test,contagion_reg,monitor_cusum,dating_hls,dating_hlw,dating_knp,lbi_test,monitor_lbi,dating_pdc,monitor_quantile,quantile_test,ssu_test) were namedradf_*in earlier development snapshots of this unreleased version; renamed before release since none of them are actually recursive-ADF-based tests. No deprecated aliases were kept, as the old names never shipped in a CRAN release.
Other
-
explosive_root(),root_ci(),root_ci_datestamp()— root inference and confidence intervals on the explosive coefficient.
exuber 1.1.0
CRAN release: 2025-08-31
- Fixed targets not in the package itself nor in the base packages to use package anchors, i.e., use
exuber 1.0.1
CRAN release: 2023-02-12
Maintenance release to accommodate breaking changes in dplyr 1.1.0.
exuber 1.0.0
CRAN release: 2022-08-19
This first major release accompanies the publication of an article in the Journal of Statistical Software:
Vasilopoulos, K., Pavlidis, E., & Martínez-García, E. (2022). exuber: Recursive Right-Tailed Unit Root Testing with R. Journal of Statistical Software, 103(1), 1–26. https://doi.org/10.18637/jss.v103.i10
augment method for radf_obj and radf_cv
New arg
truncFixed inconsistencies among functions.
Now radf stores the data that are later can be accessed with
mat+-
Advanced features on datestamping: New columns that indicate:
- Signal
- Peak
- Ongoing
- Nonrejected
New datestamping procedure
rev_radfetc.New bootstrap procedure
radf_wb_cv2andradf_wb_distr2New coloring convention for plotting
dsandobjclasses
exuber 0.4.2
CRAN release: 2020-12-18
- Include printing methods for
radf_objandradf_cv. - Removed unused class definitions.
- Using
progresspackage for progress_bar.
exuber 0.4.0
CRAN release: 2020-05-04
Design
We have the following design in mind for future scalability. If you want make inference about radf models, then the estimation can be achieved with radf() function and return an object of class radf_obj, and the critical values can be achieved with radf_*_cv() and return an object of class radf_cv.
Breaking changes
-
autoplot()forradfmodels has been refactored and new features have been added for more flexibility and conformity with the {ggplot} mindset. - Because of the change in
autoplot,ggarrange()is now defunct. -
fortify()methods have been replaced bytidy(),augment(),tidy_join()andglance_join()methods.fortify()methods are now defunct. - Also
glance()is now defunct. The user can usetidy()withpanel=TRUEinstead. - Changed the names of:
-
mc_cv()toradf_mc_cv().mc_cv()is now deprecated. -
mc_distr()toradf_mc_distr().mc_distr()is now deprecated. -
wb_cv()toradf_wb_cv().wb_cv()is now deprecated. -
wb_distr()toradf_wb_distr().wb_distr()is now deprecated. -
sb_cv()toradf_sb_cv().sb_cv()is now deprecated. -
sb_distr()toradf_sb_distr().sb_distr()is now deprecated. -
critdataset toradf_crit. -
col_names()toseries_names().col_names()is now deprecated.
-
exuberdata
- We created a new package called
exuberdatathat accommodates critical values for up to 2000 observations. Critical values can be examined withexuberdata::radf_crit2. The package is created throughdratR archive Template, and can be easily installed withinstall.packages('exuberdata', repos = 'https://kvasilopoulos.github.io/drat/', type = 'source')or throughinstall_exuberdatawrapper function that is provided inexuber.
exuber 0.3.0
CRAN release: 2019-07-15
Breaking changes
- Changed
opt_bsadf = conservativefor the simulated critical values (crit), also reduced the size of thecritfrom 700 to 600 due to package size restrictions. -
sim_dgp1()andsim_dgp2()have been renamed tosim_psy1()andsim_psy2()to better describe the origination of the dgp. -
sim_dgp1()andsim_dgp2()have been soft-deprecated. -
autoplot_radf()arranges automatically multiple graphs, to return to previous behavior we included the optional argumentarrangewhich is set to TRUE by default.
Three new functions have been added to simulate empirical distributions for:
-
mc_dist(): Monte Carlo -
wb_dist(): Wild Bootstrap -
sb_dist(): Sieve Bootstrap
and a function that can calculate the p-values calc_pvalue() given the above distributions as argument.
Also methods tidy() and autoplot() have been added to turn the object into a tidy tibble and draw a particular plot with ggplot2, respectively.
New features
-
tidy()methods for objects of classradf,cv. -
augment()methods for objects of classradfandcv. -
augment_join()to combine objectradfandcvinto a single data.frame. -
glance()method for objects of classradf.
Improvements
- New printing output for the functions
summary(),diagnostics()anddatestamp(). - New improved progressbar with more succinct printing for
wb_cv() -
seedargument to functions that are using rng. Also the option to declare a global seed for reproducibility with theoption(exuber.global_seed = ###)
exuber 0.2.1
CRAN release: 2019-03-01
- Changed DESCRIPTION to include
sb_cvreference. - Renamed boolean to dummy from
datestampanddiagnostics. -
datestampdummy is now an attribute.
exuber 0.2.0
CRAN release: 2019-02-04
Options
Some of the arguments in the functions were included as options, you can set the package options with e.g. options(exuber.show_progress = TRUE).
-
paralleloption boolean, allows for parallel in critical values computation. -
ncoresoption numeric, sets the number of cores, defaults to max - 1. -
show_progressoption boolean, allows you to disable the progress bar, defaults to TRUE.
New features
- Panel estimation in
radf() - Added
sb_cv()function: Panel Sieve Bootstrapped critical values - Default critical values are supplied directly into
summary(),diagnostics,datestamp()andautoplot(), without having to specify argument cv. The critical values have been simulated frommc_cv()function and stored as data. Custom critical values should be provided by the user with the optioncv. - Added
ggarrange()function, that can arrange a list of ggplot objects into a single grob. - Added
fortifyto arrange a data.frame fromradf()function.
