| Type: | Package |
| Title: | Fourier Bootstrap ARDL Cointegration Test |
| Version: | 1.1.0 |
| 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.1016/j.scs.2020.102035>, 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>, with finite-sample bounds test critical values from Kripfganz and Schneider (2020) <doi:10.1111/obes.12377>. 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. |
| License: | GPL-3 |
| Encoding: | UTF-8 |
| Depends: | R (≥ 3.5.0) |
| Imports: | stats |
| Suggests: | testthat (≥ 3.0.0), knitr, rmarkdown |
| LazyData: | true |
| Config/testthat/edition: | 3 |
| RoxygenNote: | 7.3.3 |
| URL: | https://github.com/muhammedalkhalaf/fbardl |
| BugReports: | https://github.com/muhammedalkhalaf/fbardl/issues |
| NeedsCompilation: | no |
| Packaged: | 2026-09-28 17:31:59 UTC; root |
| Author: | Muhammad Alkhalaf |
| Maintainer: | Muhammad Alkhalaf <muhammedalkhalaf@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-09-30 21:20:50 UTC |
fbardl: 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.1016/j.scs.2020.102035, 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.
The fbardl package implements the Fourier Bootstrap ARDL bounds testing approach for cointegration analysis. It combines the Pesaran, Shin & Smith (2001) ARDL framework with Fourier terms to capture structural breaks, and provides bootstrap critical values for robust inference.
Main Function
-
fbardl: Perform Fourier Bootstrap ARDL cointegration test
Test Types
-
"fardl": Standard Fourier ARDL with PSS bounds test -
"fbardl_mcnown": Bootstrap ARDL (McNown, Sam & Goh, 2018) -
"fbardl_bvz": Bootstrap ARDL (Bertelli, Vacca & Zoia, 2022)
Data
-
fbardl_data: Example dataset for demonstration
Author(s)
Maintainer: Muhammad Alkhalaf muhammedalkhalaf@gmail.com (ORCID) [copyright holder]
References
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
See Also
Useful links:
Report bugs at https://github.com/muhammedalkhalaf/fbardl/issues
Useful links:
Report bugs at https://github.com/muhammedalkhalaf/fbardl/issues
Fourier Bootstrap ARDL Cointegration Test
Description
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.
Usage
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,
unconditional = FALSE
)
Arguments
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). |
unconditional |
Logical. If |
Details
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 PSS case sets the deterministic terms: a constant in all cases and a linear trend in cases 4 and 5. The overall F test restricts the lagged levels, together with the intercept in case 2 and the trend in case 4.
With type = "fardl" the F and t statistics are compared with the
finite-sample critical values and approximate p-values of Kripfganz and
Schneider (2020), computed from their response surface coefficients
(Stata package ardl) for the sample size, the number of
regressors and the number of short-run coefficients (the Fourier terms
included). These bounds do not account for the Fourier terms; the
F test on the lagged regressors has no tabulated distribution and is
reported with the bootstrap types only.
The bootstrap types follow the Stata module fbardl 1.3.0. Data
are generated recursively under the null from the restricted
equilibrium-correction equation for y and the equations for
\Delta x, resampling the residual pairs. "fbardl_mcnown"
uses one null (all lagged levels, plus the restricted deterministic term)
for the three statistics and an unrestricted \Delta x equation;
"fbardl_bvz" uses a separate null for each statistic, a marginal
\Delta x equation without the lagged level of y, and
recentred residuals.
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
Value
An object of class "fbardl" containing:
- coefficients
Named vector of estimated coefficients
- std.errors
Standard errors of coefficients
- t.values
t-statistics
- p.values
p-values
- long.run
Long-run coefficient estimates with standard errors
- short.run
Short-run coefficient estimates
- ecm.coef
Error correction coefficient (speed of adjustment)
- best.p
Selected lag order for dependent variable
- best.q
Selected lag orders for independent variables
- best.kstar
Selected Fourier frequency
- F.overall
F-statistic for overall cointegration test
- t.dependent
t-statistic on lagged dependent variable
- F.independent
F-statistic on lagged independent variables
- cointegration
Cointegration test results with critical values
- diagnostics
Diagnostic test results
- model.fit
Model fit statistics (R2, AIC, BIC, etc.)
- residuals
Model residuals
- fitted.values
Fitted values
- nobs
Number of observations
- call
The matched call
References
Kripfganz, S. and 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
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
Examples
# 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)
Example Data for Fourier Bootstrap ARDL Analysis
Description
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.
Usage
fbardl_data
Format
A data frame with 150 observations and 3 variables:
- y
Dependent variable (simulated I(1) series)
- x1
First independent variable (simulated I(1) series)
- x2
Second independent variable (simulated I(1) series)
Details
The data is generated from a data-generating process (DGP) that includes:
A long-run cointegrating relationship:
y_t = 2 + 0.8 x_{1t} - 0.5 x_{2t} + u_tShort-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.
Source
Simulated data for package demonstration.
See Also
Examples
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)