| Title: | Fourier Bootstrap ARDL Cointegration Test |
|---|---|
| Description: | Implements the Fourier Bootstrap Autoregressive Distributed Lag (FBARDL) bounds testing approach for cointegration analysis. Combines the Pesaran, Shin & Smith (2001) <doi:10.1002/jae.616> ARDL bounds testing framework with Fourier terms to capture structural breaks following Yilanci, Bozoklu & Gorus (2020) <doi:10.1080/00036846.2019.1686454>, and bootstrap critical values based on McNown, Sam & Goh (2018) <doi:10.1080/00036846.2017.1366643> and Bertelli, Vacca & Zoia (2022) <doi:10.1016/j.econmod.2022.105987>. Features include automatic lag selection via AIC/BIC, optimal Fourier frequency selection by minimum SSR, long-run and short-run coefficient estimation, diagnostic tests, and dynamic multiplier analysis. |
| Authors: | Muhammad Alkhalaf [aut, cre, cph] (ORCID: <https://orcid.org/0009-0002-2677-9246>), Merwan Roudane [ctb] (Original Stata implementation) |
| Maintainer: | Muhammad Alkhalaf <[email protected]> |
| License: | GPL-3 |
| Version: | 1.0.2 |
| Built: | 2026-05-28 07:24:23 UTC |
| Source: | https://github.com/muhammedalkhalaf/fbardl |
Performs the Fourier Bootstrap ARDL (FBARDL) bounds testing approach for cointegration analysis. This function combines the Pesaran, Shin & Smith (2001) ARDL bounds testing framework with Fourier terms to capture structural breaks, and provides bootstrap critical values for robust inference.
fbardl( formula, data, type = c("fardl", "fbardl_mcnown", "fbardl_bvz"), maxlag = 4, maxk = 5, ic = c("aic", "bic"), case = 3, reps = 999, fourier = TRUE, level = 0.95, horizon = 20 )fbardl( formula, data, type = c("fardl", "fbardl_mcnown", "fbardl_bvz"), maxlag = 4, maxk = 5, ic = c("aic", "bic"), case = 3, reps = 999, fourier = TRUE, level = 0.95, horizon = 20 )
formula |
A formula of the form |
data |
A data frame containing the time series variables. |
type |
Character string specifying the test type:
|
maxlag |
Integer. Maximum lag order for grid search (default: 4). |
maxk |
Numeric. Maximum Fourier frequency (default: 5). |
ic |
Character string. Information criterion for lag selection:
|
case |
Integer. PSS case specification (2, 3, 4, or 5). Default is 3 (unrestricted intercept, no trend). |
reps |
Integer. Number of bootstrap replications (default: 999). |
fourier |
Logical. Whether to include Fourier terms (default: TRUE). |
level |
Numeric. Confidence level for intervals (default: 0.95). |
horizon |
Integer. Horizon for dynamic multipliers (default: 20). |
The FBARDL approach extends the standard ARDL bounds testing procedure by:
Incorporating Fourier terms to capture smooth structural breaks
Using bootstrap methods to generate finite-sample critical values
Implementing the McNown et al. (2018) procedure to detect degenerate cases
The procedure involves three main steps:
Selection of optimal Fourier frequency k* by minimum SSR
Selection of lag orders (p, q) by AIC or BIC
Cointegration testing with bootstrap or PSS critical values
Three test statistics are computed:
F.overall: Joint test on all lagged level variables
t.dependent: t-test on lagged dependent variable
F.independent: Joint test on lagged independent variables
An object of class "fbardl" containing:
Named vector of estimated coefficients
Standard errors of coefficients
t-statistics
p-values
Long-run coefficient estimates with standard errors
Short-run coefficient estimates
Error correction coefficient (speed of adjustment)
Selected lag order for dependent variable
Selected lag orders for independent variables
Selected Fourier frequency
F-statistic for overall cointegration test
t-statistic on lagged dependent variable
F-statistic on lagged independent variables
Cointegration test results with critical values
Diagnostic test results
Model fit statistics (R2, AIC, BIC, etc.)
Model residuals
Fitted values
Number of observations
The matched call
Pesaran, M. H., Shin, Y., & Smith, R. J. (2001). Bounds testing approaches to the analysis of level relationships. Journal of Applied Econometrics, 16(3), 289-326. doi:10.1002/jae.616
McNown, R., Sam, C. Y., & Goh, S. K. (2018). Bootstrapping the autoregressive distributed lag test for cointegration. Applied Economics, 50(13), 1509-1521. doi:10.1080/00036846.2017.1366643
Yilanci, V., Bozoklu, S., & Gorus, M. S. (2020). Are BRICS countries pollution havens? Evidence from a bootstrap ARDL bounds testing approach with a Fourier function. Sustainable Cities and Society, 55, 102035. doi:10.1016/j.scs.2020.102035
Kripfganz, S., & Schneider, D. C. ( 2020). Response surface regressions for critical value bounds and approximate p-values in equilibrium correction models. Oxford Bulletin of Economics and Statistics, 82(6), 1456-1481. doi:10.1111/obes.12377
# Load example data data(fbardl_data) # Basic Fourier ARDL test result <- fbardl(y ~ x1 + x2, data = fbardl_data, type = "fardl") summary(result) # Bootstrap ARDL (McNown approach) result_boot <- fbardl(y ~ x1 + x2, data = fbardl_data, type = "fbardl_mcnown", reps = 499) summary(result_boot) # Without Fourier terms result_nofourier <- fbardl(y ~ x1 + x2, data = fbardl_data, fourier = FALSE)# Load example data data(fbardl_data) # Basic Fourier ARDL test result <- fbardl(y ~ x1 + x2, data = fbardl_data, type = "fardl") summary(result) # Bootstrap ARDL (McNown approach) result_boot <- fbardl(y ~ x1 + x2, data = fbardl_data, type = "fbardl_mcnown", reps = 499) summary(result_boot) # Without Fourier terms result_nofourier <- fbardl(y ~ x1 + x2, data = fbardl_data, fourier = FALSE)
A simulated time series dataset suitable for demonstrating the
Fourier Bootstrap ARDL cointegration testing procedure. The data
contains a dependent variable y and two independent variables
x1 and x2 with a cointegrating relationship and
structural breaks.
fbardl_datafbardl_data
A data frame with 150 observations and 3 variables:
Dependent variable (simulated I(1) series)
First independent variable (simulated I(1) series)
Second independent variable (simulated I(1) series)
The data is generated from a data-generating process (DGP) that includes:
A long-run cointegrating relationship:
Short-run dynamics with AR(1) errors
A structural break modeled by Fourier terms
Error correction mechanism with adjustment speed of -0.3
This dataset is designed to produce clear cointegration test results
when analyzed with the fbardl function.
Simulated data for package demonstration.
data(fbardl_data) head(fbardl_data) summary(fbardl_data) # Plot the series ts.plot(ts(fbardl_data), col = 1:3, lty = 1:3) legend("topleft", colnames(fbardl_data), col = 1:3, lty = 1:3)data(fbardl_data) head(fbardl_data) summary(fbardl_data) # Plot the series ts.plot(ts(fbardl_data), col = 1:3, lty = 1:3) legend("topleft", colnames(fbardl_data), col = 1:3, lty = 1:3)