monitorCointegration {cointmonitoR}R Documentation

Procedure for Monitoring Level and Trend Cointegration


This procedure is able to monitor a cointegration model for level or trend cointegration and returns the corresponding break point, if available. It is based on parameter estimation on a pre-break "calibration" period at the beginning of the sample that is known or assumed to be free of structural change and can be specified exactly via the m argument (see Details for further information).


monitorCointegration(x, y, m = 0.25, model = c("FM", "D", "IM"),
  trend = FALSE, kernel = c("ba", "pa", "qs", "tr"), bandwidth = c("and",
  "nw"), D.options = NULL, signif.level = 0.05, return.stats = TRUE,
  return.input = TRUE, check = TRUE, ...)



[numeric | matrix | data.frame]
Data on which to apply the monitoring procedure (RHS).


[numeric | matrix | data.frame]
Data on which to apply the monitoring procedure (LHS). Has to be one-dimensional. If matrix, it may have only one row or column, if data.frame just one column.


Length of calibration period as fraction of the data's length (between 0.1 and 0.9) or as number of observations (see Details).


The model to be used for modified OLS calculations. Should be one of FM-OLS ("FM"), D-OLS ("D") or IM-OLS ("IM").


Should an intercept and a linear trend be included? If FALSE (default), only an intercept is included.


The kernel function to use for calculating the long-run variance. Default is Bartlett kernel ("ba"), see Details for alternatives.


[character(1) | numeric(1)]
The bandwidth to use for calculating the long-run variance. Default is Andrews (1991) ("and"), an alternative is Newey West (1994) ("nw"). You can also set the bandwidth manually.


[list | NULL]
Options for the D-OLS calculations. A list with elements n.lead, n.lag, kmax and info.crit – or NULL (then default arguments are the same as in cointRegD. See that help page for further information.) Missing list elements will be replaced automatically.


Level of significance (between 0.01 and 0.1). Detection time will be calculated only if the estimated p-value is smaller than signif.level. Default is 0.05.


Whether to return all test statistics. Default is TRUE.


Whether to return the input data, default is TRUE.


Wheather to check (and if necessary convert) the arguments. See checkVars for further information.


Arguments passed to getBandwidthNW (inter, weights), if bandwidth = "nw".


The calibration period can be set by setting the argument m to the number of the last observation, that should be inside this period. The corresponding fraction of the data's length will be calculated automatically. Alternatively you can set m directly to the fitting fraction value, but you should pay attention to the fact, that the calibration period may become smaller than intended: The last observation is calculated as floor(m * N) (with N the length of x).

The kernel that is used for calculating the long-run variance can be one of the following:


[cointmonitoR] object with components:

Hsm [numeric(1)]

value of the test statistic

time [numeric(1)]

detected time of structural break

p.value [numeric(1)]

estimated p-value of the test (between 0.01 and 0.1)

cv [numeric(1)]

critical value of the test

sig [numeric(1)]

significance level used for the test

residuals [numeric]

residuals of the modified OLS model to be used for calculating the test statistics

model [character(1)]

cointOLS model ("FM", "D", or "IM")

trend [character(1)]

trend model ("level" or "trend")

name [character(1)]

name(s) of data

m [list(2)]

list with components:
$m.frac [numeric(1)]: calibration period (fraction)
$m.index [numeric(1)]: calibration period (length)

kernel [character(1)]

kernel function

bandwidth [list(2)]

$name [character(1)]: bandwidth function (name)
$number [numeric(1)]: bandwidth

statistics [numeric]

values of test statistics with the same length as data, but NA during calibration period (available if return.stats = TRUE)

input [numeric | matrix | data.frame]

copy of input data (available if return.stats = TRUE)

D.options [list]

information about further parameters (available if model = "D")


See Also

Other cointmonitoR: monitorStationarity, plot.cointmonitoR, print.cointmonitoR


x = data.frame(x1 = cumsum(rnorm(200)), x2 = cumsum(rnorm(200)))
eps1 = rnorm(200, sd = 2)
eps2 = c(eps1[1:100], cumsum(eps1[101:200]))

y = x$x1 - x$x2 + 10 + eps1
monitorCointegration(x = x, y = y, m = 0.5, model = "FM")

y2 = y + seq(1, 30, length = 200)
monitorCointegration(x = x, y = y2, m = 0.5, model = "FM")
monitorCointegration(x = x, y = y2, m = 0.5, trend = TRUE, model = "FM")

y3 = x$x1 - x$x2 + 10 + eps2
monitorCointegration(x = x, y = y3, m = 0.5, model = "FM")
monitorCointegration(x = x, y = y3, m = 0.5, model = "D")
monitorCointegration(x = x, y = y3, m = 0.5, model = "IM")

[Package cointmonitoR version 0.1.0 Index]