| monitorCointegration {cointmonitoR} | R Documentation |
Procedure for Monitoring Level and Trend Cointegration
Description
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).
Usage
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, ...)
Arguments
x |
[ |
y |
[ |
m |
[ |
model |
[ |
trend |
[ |
kernel |
[ |
bandwidth |
[ |
D.options |
[ |
signif.level |
[ |
return.stats |
[ |
return.input |
[ |
check |
[ |
... |
Arguments passed to |
Details
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:
-
"ba": Bartlett kernel -
"pa": Parzen kernel -
"qs": Quadratic Spectral kernel -
"tr": Truncated kernel
Value
[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)]-
cointOLSmodel ("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
NAduring calibration period (available ifreturn.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")
References
Wagner, M. and D. Wied (2015): "Monitoring Stationarity and Cointegration," Discussion Paper, DOI:10.2139/ssrn.2624657.
See Also
Other cointmonitoR: monitorStationarity,
plot.cointmonitoR,
print.cointmonitoR
Examples
set.seed(42)
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")