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)
]-
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 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")