Title: | A Package to Perform Covariate Augmented Dickey-Fuller Unit Root Tests |
---|---|
Description: | Hansen's (1995) Covariate-Augmented Dickey-Fuller (CADF) test. The only required argument is y, the Tx1 time series to be tested. If no stationary covariate X is passed to the procedure, then an ordinary ADF test is performed. The p-values of the test are computed using the procedure illustrated in Lupi (2009). |
Authors: | Claudio Lupi |
Maintainer: | Claudio Lupi <[email protected]> |
License: | GPL (>= 2) |
Version: | 0.3-3 |
Built: | 2024-10-31 06:38:54 UTC |
Source: | CRAN |
The asymptotic p-values of the Hansen's (1995) Covariate-Augmented Dickey Fuller (CADF) test for a unit root are computed using the approach outlined in Costantini et al. (2007). The function can be used also to compute the p-values of the ordinary Dickey-Fuller distribution.
CADFpvalues(t0, rho2 = 0.5, type=c("trend", "drift", "none"))
CADFpvalues(t0, rho2 = 0.5, type=c("trend", "drift", "none"))
t0 |
the value of the test statistic. |
rho2 |
the value of the long-run correlation. When |
type |
defines the deterministic kernel used in the test. It accepts the values used in
package |
p.value
, a scalar containing the estimated asymptotic p-value of the test.
Claudio Lupi
Hansen BE (1995). Rethinking the Univariate Approach to Unit Root Testing: Using Covariates to Increase Power, Econometric Theory, 11(5), 1148–1171.
Costantini M, Lupi C, Popp S (2007). A Panel-CADF Test for Unit Roots, University of Molise, Economics & Statistics Discussion Paper 39/07. http://econpapers.repec.org/paper/molecsdps/esdp07039.htm
CADFpvalues(t0=-1.7, rho2=0.20, type="trend")
CADFpvalues(t0=-1.7, rho2=0.20, type="trend")
This function is an interface to CADFtest.default
that computes the CADF unit root test
proposed in Hansen (1995). The asymptotic p-values of the test are also computed along the lines
proposed in Costantini et al. (2007). Automatic model selection is allowed. A full description
and some applications can be found in Lupi (2009).
CADFtest(model, X=NULL, type=c("trend", "drift", "none"), data=list(), max.lag.y=1, min.lag.X=0, max.lag.X=0, dname=NULL, criterion=c("none", "BIC", "AIC", "HQC", "MAIC"), ...)
CADFtest(model, X=NULL, type=c("trend", "drift", "none"), data=list(), max.lag.y=1, min.lag.X=0, max.lag.X=0, dname=NULL, criterion=c("none", "BIC", "AIC", "HQC", "MAIC"), ...)
model |
a formula of the kind |
X |
if |
type |
defines the deterministic kernel used in the test. It accepts the values used in package
|
data |
data to be used (optional). This argument is effective only when |
max.lag.y |
maximum number of lags allowed for the lagged differences of the variable to be tested. |
min.lag.X |
if negative it is maximum lead allowed for the covariates. If zero, it is the minimum lag allowed for the covariates. |
max.lag.X |
maximum lag allowed for the covariates. |
dname |
NULL or character. It can be used to give a special name to the model. If the NULL default is accepted and the model is specified using a formula notation, then dname is computed according to the used formula. |
criterion |
it can be either |
... |
Extra arguments that can be set to use special kernels, prewhitening, etc. in the estimation of
|
The function returns an object of class c("CADFtest", "htest")
containing:
statistic |
the t test statistic. |
parameter |
the estimated nuisance parameter |
method |
the test performed: it can be either |
p.value |
the p-value of the test. |
data.name |
the data name. |
max.lag.y |
the maximum lag of the differences of the dependent variable. |
min.lag.X |
the maximum lead of the stationary covariate(s). |
max.lag.X |
the maximum lag of the stationary covariate(s). |
AIC |
the value of the AIC for the selected model. |
BIC |
the value of the BIC for the selected model. |
HQC |
the value of the HQC for the selected model. |
MAIC |
the value of the MAIC for the selected model. |
est.model |
the estimated model. |
estimate |
the estimated value of the parameter of the lagged dependent variable. |
null.value |
the value of the parameter of the lagged dependent variable under the null. |
alternative |
the alternative hypothesis. |
call |
the call to the function. |
type |
the deterministic kernel used. |
Claudio Lupi
Costantini M, Lupi C, Popp S (2007). A Panel-CADF Test for Unit Roots, University of Molise, Economics & Statistics Discussion Paper 39/07. http://econpapers.repec.org/paper/molecsdps/esdp07039.htm
Hansen BE (1995). Rethinking the Univariate Approach to Unit Root Testing: Using Covariates to Increase Power, Econometric Theory, 11(5), 1148–1171.
Lupi C (2009). Unit Root CADF Testing with R, Journal of Statistical Software, 32(2), 1–19. http://www.jstatsoft.org/v32/i02/
Zeileis A (2004). Econometric Computing with HC and HAC Covariance Matrix Estimators, Journal of Statistical Software, 11(10), 1–17. http://www.jstatsoft.org/v11/i10/
Zeileis A (2006). Object-Oriented Computation of Sandwich Estimators, Journal of Statistical Software, 16(9), 1–16. http://www.jstatsoft.org/v16/i09/.
fUnitRoots
, urca
##---- ADF test on extended Nelson-Plosser data ---- ##-- Data taken from package urca data(npext, package="urca") ADFt <- CADFtest(npext$gnpperca, max.lag.y=3, type="trend") ##---- CADF test on extended Nelson-Plosser data ---- data(npext, package="urca") npext$unemrate <- exp(npext$unemploy) # compute unemployment rate L <- ts(npext, start=1860) # time series of levels D <- diff(L) # time series of diffs S <- window(ts.intersect(L,D), start=1909) # select same sample as Hansen's CADFt <- CADFtest(L.gnpperca~D.unemrate, data=S, max.lag.y=3, kernel="Parzen", prewhite=FALSE)
##---- ADF test on extended Nelson-Plosser data ---- ##-- Data taken from package urca data(npext, package="urca") ADFt <- CADFtest(npext$gnpperca, max.lag.y=3, type="trend") ##---- CADF test on extended Nelson-Plosser data ---- data(npext, package="urca") npext$unemrate <- exp(npext$unemploy) # compute unemployment rate L <- ts(npext, start=1860) # time series of levels D <- diff(L) # time series of diffs S <- window(ts.intersect(L,D), start=1909) # select same sample as Hansen's CADFt <- CADFtest(L.gnpperca~D.unemrate, data=S, max.lag.y=3, kernel="Parzen", prewhite=FALSE)
These tables contain the response surface coefficients needed to compute the p-value of Hansen's
CADF test (see Costantini et al., 2007; Lupi, 2009). coeffs_ct
, coeffs_c
,
coeffs_nc
are the relevant tables for the constant plus trend, constant, and
no constant case, respectively.
data("coeffs_ct") data("coeffs_c") data("coeffs_nc")
data("coeffs_ct") data("coeffs_c") data("coeffs_nc")
The tables are saved as binary data .rda
objects. They are matrices,
where the first column represents probabilities and the following four columns are
in eqn. (13) in Costantini et al. (2007) (see also Lupi, 2009).
Claudio Lupi
Costantini et al. (2007).
Costantini M, Lupi C, Popp S (2007), A Panel-CADF Test for Unit Roots, University of Molise, Economics & Statistics Discussion Paper 39/07. http://econpapers.repec.org/paper/molecsdps/esdp07039.htm.
Lupi C (2009). Unit Root CADF Testing with R, Journal of Statistical Software, 32(2), 1–19. http://www.jstatsoft.org/v32/i02/
This function conveniently plots the residuals of the Covariate Augmented Dickey-Fuller
or the standard Augmented Dickey-Fuller regression carried out in CADFtest
.
## S3 method for class 'CADFtest' plot(x, plots=(1:4), ...)
## S3 method for class 'CADFtest' plot(x, plots=(1:4), ...)
x |
an object belonging to the class |
plots |
the plots to be produced (all the four plots by default): 1: standardized residuals plot; 2: density of the residuals, with an indication of the p-value of the Jarque-Bera test for normality; 3: ACF of the residuals; 4: partial ACF of the residuals. |
... |
currently not used. |
Claudio Lupi
data(npext, package="urca") ADFt <- CADFtest(npext$realgnp, type="trend") plot(ADFt, plots=c(3,4))
data(npext, package="urca") ADFt <- CADFtest(npext$realgnp, type="trend") plot(ADFt, plots=c(3,4))
This function applies the residuals()
method to an object of class
CADFtest
.
## S3 method for class 'CADFtest' residuals(object, ...)
## S3 method for class 'CADFtest' residuals(object, ...)
object |
an object belonging to the class |
... |
currently not used. |
Claudio Lupi
data(npext, package="urca") ADFt <- CADFtest(npext$realgnp, type="trend") residuals(ADFt)
data(npext, package="urca") ADFt <- CADFtest(npext$realgnp, type="trend") residuals(ADFt)
This function conveniently prints the detailed results of the Covariate-Augmented Dickey Fuller
test carried out in CADFtest
.
## S3 method for class 'CADFtest' summary(object, ...)
## S3 method for class 'CADFtest' summary(object, ...)
object |
an object belonging to the class |
... |
currently not used. |
The function returns an object of class CADFtestsummary
containing the main
results of the test.
test.summary |
a matrix, containing the t-test statistic, the estimated value of |
model.summary |
the summary of the test model, in the usual form. However, note that the
p-value of the lagged dependent is computed under the null of a unit root. Furthermore,
differently from the common practice, the F-statistic refers to the joint significance of
the stationary regressors. If no stationary regressors are used (no lagged differences
of the dependent, no stationary covariates) then the F-statistic is not computed and a
|
Claudio Lupi
data(npext, package="urca") ADFt <- CADFtest(npext$realgnp, type="trend") summary(ADFt)
data(npext, package="urca") ADFt <- CADFtest(npext$realgnp, type="trend") summary(ADFt)
This function updates the formula and/or the other arguments of CADFtest object and re-run the test
using the updated arguments.
It can be useful if one wants to see the effect of adding/removing stationary covariates or the effect
of changing lags, kernel, etc. If covariates have to be added/removed, update()
works only if
model
is passed as a formula.
## S3 method for class 'CADFtest' update(object, change, ...)
## S3 method for class 'CADFtest' update(object, change, ...)
object |
an object belonging to the class |
change |
list of charater describing the changes to be applied to the existing model. |
... |
currently not used. |
The function re-run the test and returns an object of class CADFtest
. See CADFtest()
.
Claudio Lupi
data(npext, package="urca") npext$unemrate <- exp(npext$unemploy) # compute unemployment rate L <- ts(npext, start=1860) # time series of levels D <- diff(L) # time series of diffs S <- window(ts.intersect(L,D), start=1909) # select same sample as Hansen's CADFt <- CADFtest(L.gnpperca~D.unemrate, data=S, max.lag.y=3, kernel="Parzen", prewhite=FALSE) CADFt.2 <- update(CADFt, change=list("+ D.indprod", "max.lag.X=3", "criterion='BIC'"))
data(npext, package="urca") npext$unemrate <- exp(npext$unemploy) # compute unemployment rate L <- ts(npext, start=1860) # time series of levels D <- diff(L) # time series of diffs S <- window(ts.intersect(L,D), start=1909) # select same sample as Hansen's CADFt <- CADFtest(L.gnpperca~D.unemrate, data=S, max.lag.y=3, kernel="Parzen", prewhite=FALSE) CADFt.2 <- update(CADFt, change=list("+ D.indprod", "max.lag.X=3", "criterion='BIC'"))