UnitrootDistribution {fSeries}R Documentation

Unit Root Distributions

Description

A collection and description of functions to compute the distribution and and quantile function for the unit root test statistics.

The functions are:

punitroot the cumulative probability,
qunitroot the quantiles of the unit root test statistics,
pdftest the cumulative probability for the ADF test,
qdftest the quantiles for the ADF test.

Usage

punitroot(q, n.sample = 0, trend = c("c", "nc", "ct", "ctt"), 
    statistic = c("t", "n"), na.rm = FALSE)
qunitroot(p, n.sample = 0, trend = c("c", "nc", "ct", "ctt"), 
    statistic = c("t", "n"), na.rm = FALSE)
   
pdftest(q, n.sample, trend = c("nc", "c", "ct"), statistic = c("t", "n")) 
qdftest(p, n.sample, trend = c("nc", "c", "ct"), statistic = c("t", "n"))

Arguments

n.sample the number of observations in the sample from which the quantiles are to be computed.
[*unitroot] -
Specify n.sample=0 for asymptotic quantiles. The default is 0.
na.rm a logical value. If set to TRUE, missing values will be removed otherwise not, the default is FALSE.
p a numeric vector of probabilities. Missing values are allowed.
q vector of quantiles or test statistics. Missing values are allowed.
statistic a character string describing the type of test statistic. Valid choices are "t" for t-statistic, and "n" for normalized statistic, sometimes referred to as the rho-statistic. The default is "t".
trend a character string describing the regression from which the quantiles are to be computed. Valid choices are: "nc" for a regression with no intercept (constant) nor time trend, and "c" for a regression with an intercept (constant) but no time trend, "ct" for a regression with an intercept (constant) and a time trend. The default is "c".

Value

The function padftest returns the cumulative probability of the finite sample distribution of the unit root test statistics.
The function qadftest returns the quantiles of the finite sample distribution of the unit root test statistics, given the probabilities.
The function punitroot returns the cumulative probability of the asymptotic or finite sample distribution of the unit root test statistics.
The function qunitroot returns the quantiles of the asymptotic or finite sample distribution of the unit root test statistics, given the probabilities.

Note

The programs padf and qadf use the tables from A. Banerjee et al. (1993).

The programs punitroot and qunitroot use Fortran routines and the tables from J.G. McKinnon (1988). Many thanks to J.G. McKinnon putting his code and tables under the GPL license, which made this implementation possible.

Author(s)

J.G. McKinnon for the underlying Fortran routine and the tables,
Diethelm Wuertz for the Rmetrics R-port.

References

Banerjee A., Dolado J.J., Galbraith J.W., Hendry D.F. (1993); Cointegration, Error Correction, and the Econometric Analysis of Non-Stationary Data, Oxford University Press, Oxford.

Dickey, D.A., Fuller, W.A. (1979); Distribution of the estimators for autoregressive time series with a unit root, Journal of the American Statistical Association 74, 427–431.

MacKinnon, J.G. (1996); Numerical distribution functions for unit root and cointegration tests, Journal of Applied Econometrics 11, 601–618.

Phillips, P.C.B., Perron, P. (1988); Testing for a unit root in time series regression, Biometrika 75, 335–346.

Examples

 
## SOURCE("fSeries.2A-UnitrootDistribution")

## qunitroot -
   # Asymptotic quantile of t-statistic
   qunitroot(0.95, trend = "nc", statistic = "t")

## qunitroot -
   # Finite sample quantile of n-statistic
   qunitroot(0.95, n.sample = 100, trend = "nc", statistic = "n") 
   
## punitroot -
   # Asymptotic cumulative probability of t-statistic
   punitroot(1.2836, trend = "nc", statistic = "t")

## punitroot -
   # Finite sample cumulative probability of n-statistic
   punitroot(1.2836, n.sample = 100, trend = "nc", statistic = "n")
   
## dfTable -
   # Dickey-Fuller Internal Table:
   .dfTable(trend = "nc", statistic = "t")
   # Interpolate q and p-values
   p = 0.984
   n.sample = 78
   Trend = Statistic = Q = P = NULL
   for (trend in c("nc", "c", "ct")) {
     for (statistic in c("t", "n")) {
       Trend = c(Trend, trend)
       Statistic = c(Statistic, statistic)
       q = qdftest(p, n.sample, trend, statistic)
       Q = c(Q, q)
       P = c(P, pdftest(q, n.sample, trend, statistic))
     }
   }
   data.frame(Trend, Statistic, Q, P)

[Package fSeries version 240.10068 Index]