xtcadfcoint: Panel CADF Cointegration Test with Structural Breaks

View source: R/xtcadfcoint_xtcadfcoint.R

xtcadfcointR Documentation

Panel CADF Cointegration Test with Structural Breaks

Description

Tests the null hypothesis of no cointegration in panel data using the cross-sectionally augmented Dickey-Fuller (CADF) approach of Banerjee and Carrion-i-Silvestre (2025). Accounts for cross-sectional dependence via the Common Correlated Effects (CCE) estimator and allows for structural breaks.

Usage

xtcadfcoint(formula, data, index, model = 1, breaks = 0,
            trimming = 0.15, maxlags = 4, lagselect = "bic",
            nfactors = 1, brk_slope = FALSE, brk_loadings = FALSE,
            cce = TRUE, simulate = 0, level = 95)

Arguments

formula

A formula of the form y ~ x1 + x2 + ....

data

A data frame in long format.

index

Character vector of length 2: c("id_var", "time_var").

model

Integer (0-5) specifying the deterministic component.

breaks

Integer (0, 1, or 2). Number of structural breaks.

trimming

Numeric. Trimming fraction for break date search. Default 0.15.

maxlags

Maximum lag order for ADF augmentation. Default 4.

lagselect

Lag selection: "bic", "aic", "maic", "mbic", or "fixed".

nfactors

Integer. Number of common factors for CCE. Default 1.

brk_slope

Logical. Allow breaks in cointegrating vector slopes.

brk_loadings

Logical. Allow breaks in factor loadings.

cce

Logical. Apply CCE augmentation. Default TRUE.

simulate

Integer. Bootstrap replications for critical values (0 = skip).

level

Confidence level in percent. Default 95.

Value

An object of class "xtcadfcoint" containing panel CIPS statistics, individual CADF statistics, estimated break dates, and coefficient estimates.

References

Banerjee, A. and Carrion-i-Silvestre, J.L. (2024). Panel Data Cointegration Testing with Structural Instabilities. Journal of Business & Economic Statistics, 43, 122–133. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/07350015.2024.2327844")}

Examples


set.seed(42)
n <- 5; tt <- 30
uid  <- rep(1:n, each = tt)
tval <- rep(1:tt, times = n)
x_it <- cumsum(rnorm(n * tt))
y    <- x_it + rnorm(n * tt, sd = 0.5)
dat  <- data.frame(id = uid, time = tval, y = y, x = x_it)
res  <- xtcadfcoint(y ~ x, data = dat, index = c("id", "time"), model = 1)
print(res)


cointests documentation built on March 27, 2026, 5:07 p.m.