Learn R Programming

pvars (version 1.1.1)

coint: Test procedures for the cointegration rank

Description

Performs test procedures for the rank of cointegration in a single VAR model. The \(p\)-values are approximated by gamma distributions, whose moments are automatically adjusted to potential period-specific deterministic regressors and weakly exogenous regressors in the partial VECM.

Usage

coint.JO(
  y,
  dim_p,
  x = NULL,
  dim_q = dim_p,
  type = c("Case1", "Case2", "Case3", "Case4", "Case5"),
  t_D1 = NULL,
  t_D2 = NULL
)

coint.SL(y, dim_p, type_SL = c("SL_mean", "SL_trend"), t_D = NULL)

Value

A list of class 'coint', which contains elements of length \(K\) for each \(r_{H0}=0,\ldots,K-1\):

r_H0

Rank under each null hypothesis.

stats_TR

Trace (TR) test statistics.

stats_ME

Maximum eigenvalue (ME) test statistics.

pvals_TR

\(p\)-values of the TR test.

pvals_ME

\(p\)-values of the ME test. NA if moments of the gamma distribution are not available for the chosen data generating process.

lambda

Eigenvalues, the squared canonical correlation coeffcients (saved only for the Johansen procedure).

args_coint

List of characters and integers indicating the cointegration test and specifications that have been used.

Arguments

y

Matrix. A \((K \times (p+T))\) data matrix of the \(K\) endogenous time series variables.

dim_p

Integer. Lag-order \(p\) for the endogenous variables y.

x

Matrix. A \((L \times (q+T))\) data matrix of the \(L\) weakly exogenous time series variables.

dim_q

Integer. Lag-order \(q\) for the weakly exogenous variables x. The literature uses dim_p (the default).

type

Character. The conventional case of the deterministic term in the Johansen procedure.

t_D1

List of vectors. The activating break periods \(\tau\) for the period-specific deterministic regressors in \(d_{1,t}\), which are restricted to the cointegration relations. The accompanying lagged regressors are automatically included in \(d_{2,t}\). The \(p\)-values are calculated for up to two breaks resp. three sub-samples.

t_D2

List of vectors. The activating break periods \(\tau\) for the period-specific deterministic regressors in \(d_{2,t}\), which are unrestricted.

type_SL

Character. The conventional case of the deterministic term in the Saikkonen-Luetkepohl (SL) procedure.

t_D

List of vectors. The activation periods \(\tau\) for the period-specific deterministic regressors in \(d_{t}\) of the SL-procedure. The accompanying lagged regressors are automatically included in \(d_{t}\). The \(p\)-values are calculated for up to two breaks resp. three sub-samples.

Functions

  • coint.JO(): Johansen procedure.

  • coint.SL(): (Trenkler)-Saikkonen-Luetkepohl procedure.

References

Johansen, S. (1988): "Statistical Analysis of Cointegration Vectors", Journal of Economic Dynamics and Control, 12, pp. 231-254.

Doornik, J. (1998): "Approximations to the Asymptotic Distributions of Cointegration Tests", Journal of Economic Surveys, 12, pp. 573-93.

Johansen, S., Mosconi, R., and Nielsen, B. (2000): "Cointegration Analysis in the Presence of Structural Breaks in the Deterministic Trend", Econometrics Journal, 3, pp. 216-249.

Kurita, T., Nielsen, B. (2019): "Partial Cointegrated Vector Autoregressive Models with Structural Breaks in Deterministic Terms", Econometrics, 7, pp. 1-35.

Saikkonen, P., and Luetkepohl, H. (2000): "Trend Adjustment Prior to Testing for the Cointegrating Rank of a Vector Autoregressive Process", Journal of Time Series Analysis, 21, pp. 435-456.

Trenkler, C. (2008): "Determining \(p\)-Values for Systems Cointegration Tests with a Prior Adjustment for Deterministic Terms", Computational Statistics, 23, pp. 19-39.

Trenkler, C., Saikkonen, P., and Luetkepohl, H. (2008): "Testing for the Cointegrating Rank of a VAR Process with Level Shift and Trend Break", Journal of Time Series Analysis, 29, pp. 331-358.

Examples

Run this code
### reproduce basic example in "urca" ###
library("urca")
data(denmark)
sjd = denmark[ , c("LRM", "LRY", "IBO", "IDE")]

# rank test and estimation of the full VECM as in "urca" #
R.JOrank = coint.JO(y=sjd,      dim_p=2, type="Case2", t_D2=list(n.season=4))
R.JOvecm = VECM(y=sjd, dim_r=1, dim_p=2, type="Case2", t_D2=list(n.season=4))

# ... and of the partial VECM, i.e. after imposing weak exogeneity #
R.KNrank = coint.JO(y=sjd[ , c("LRM"), drop=FALSE],   dim_p=2,
                    x=sjd[ , c("LRY", "IBO", "IDE")], dim_q=2, 
                    type="Case2", t_D1=list(t_shift=36), t_D2=list(n.season=4))
R.KNvecm = VECM(y=sjd[ , c("LRM"), drop=FALSE],   dim_p=2,
                x=sjd[ , c("LRY", "IBO", "IDE")], dim_q=2, dim_r=1, 
                type="Case2", t_D1=list(t_shift=36), t_D2=list(n.season=4))

### reproduce Oersal,Arsova 2016:22, Tab.7.5 "France" ###
data("ERPT")
names_k = c("lpm5", "lfp5", "llcusd")  # variable names for "Chemicals and related products"
names_i = levels(ERPT$id_i)[c(1,6,2,5,4,3,7)]  # ordered country names
L.data  = sapply(names_i, FUN=function(i) 
   ts(ERPT[ERPT$id_i==i, names_k], start=c(1995, 1), frequency=12), 
   simplify=FALSE)
R.TSLrank = coint.SL(y=L.data$France, dim_p=3, type_SL="SL_trend", t_D=list(t_break=89))

Run the code above in your browser using DataLab