Type: Package
Title: Fourier Bootstrap ARDL Cointegration Test
Version: 1.0.2
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.
License: GPL-3
Encoding: UTF-8
Depends: R (≥ 3.5.0)
Imports: stats
Suggests: testthat (≥ 3.0.0), knitr, rmarkdown
LazyData: true
RoxygenNote: 7.3.3
URL: https://github.com/muhammedalkhalaf/fbardl
BugReports: https://github.com/muhammedalkhalaf/fbardl/issues
NeedsCompilation: no
Packaged: 2026-03-08 11:05:20 UTC; acad_
Author: Muhammad Alkhalaf ORCID iD [aut, cre, cph], Merwan Roudane [ctb] (Original Stata implementation)
Maintainer: Muhammad Alkhalaf <muhammedalkhalaf@gmail.com>
Repository: CRAN
Date/Publication: 2026-03-12 08:40:02 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.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.

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

Test Types

Data

Author(s)

Maintainer: Muhammad Alkhalaf muhammedalkhalaf@gmail.com (ORCID) [copyright holder]

Other contributors:

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:

Useful links:


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
)

Arguments

formula

A formula of the form y ~ x1 + x2 + ... specifying the dependent and independent variables.

data

A data frame containing the time series variables.

type

Character string specifying the test type:

  • "fardl": Fourier ARDL with PSS bounds test (default)

  • "fbardl_mcnown": Bootstrap ARDL (McNown, Sam & Goh, 2018)

  • "fbardl_bvz": Bootstrap ARDL (Bertelli, Vacca & Zoia, 2022)

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: "aic" (default) or "bic".

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).

Details

The FBARDL approach extends the standard ARDL bounds testing procedure by:

  1. Incorporating Fourier terms to capture smooth structural breaks

  2. Using bootstrap methods to generate finite-sample critical values

  3. Implementing the McNown et al. (2018) procedure to detect degenerate cases

The procedure involves three main steps:

  1. Selection of optimal Fourier frequency k* by minimum SSR

  2. Selection of lag orders (p, q) by AIC or BIC

  3. Cointegration testing with bootstrap or PSS critical values

Three test statistics are computed:

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

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:

This dataset is designed to produce clear cointegration test results when analyzed with the fbardl function.

Source

Simulated data for package demonstration.

See Also

fbardl

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)