ardlBound: Implement ARDL bounds test

View source: R/ardlBound.R

ardlBoundR Documentation

Implement ARDL bounds test

Description

Applies ARDL bounds test with the approach of Pesaran et al. (2001).

Usage

ardlBound(data = NULL, formula = NULL, case = 3, p = NULL,  
          remove = NULL, autoOrder = FALSE, HAC = FALSE,
          ic = c("AIC", "BIC", "MASE", "GMRAE"), max.p = 15, 
          max.q = 15, ECM = TRUE, stability = TRUE)         

Arguments

data

A data.frame including all dependent and independent series. Column names this data.frame must match the variable names in formula.

formula

A formula object showing the dependent and independent series.

case

An integer up to 5 showing the case number. See details.

p

An integer representing the order of short-run response or a data.frame to specify a different order of short-run response for each variable.

remove

A list showing the elements to be removed from the model. It includes elements p as a list and q as a vector. See details.

autoOrder

If TRUE, the order of ARDL will be found by the ardlBounOrders function.

HAC

If TRUE, the Newey-West estimate of variance-covariance function is used in testing.

ic

Information criterion to be used in the search for optimal orders.

max.p

Maximum order for the short-run coefficients.

max.q

Maximum auto-regressive order.

ECM

If TRUE, the error correction model corresponding to the case is also fitted and included in the outputs.

stability

If both ECM and stability are TRUE, the CUSUM, CUSUM of squares, and MOSUM charts are generated over recursive residuals using the package strucchange.

Details

The argument case takes the values 1 for "no intercept, no trend", 2 for "restricted intercept, no trend", 3 for "unrestricted intercept, no trend", 4 for "unrestricted intercept, restricted trend", and 5 for "unrestricted intercept, unrestricted trend."

If the argument p is entered as an integer, the same value is used to specify the order of short-run response for all variables.

We follow the formulation of Pesaran et al. (2001). So, the upper limit of summations in the model formulation goes up to (p-1). User should consider this while setting the value(s) of p.

The names of the element p of remove must match with those in the model. For example, to remove lags 2 and 4 of the first differences of X1 and X2 and remove the lags 2 and 5 of the dependent series, remove should be defined as remove = list( p = list(dX1 = c(2,4), dX2 = c(2,4)), q = c(2,5) ).

Breusch-Godfrey and Ljung-Box tests are applied to test against the existence of autocorrelations in residuals and Breusch-Pagan test is applied to detect heteroskedasticity in residuals as a part of the bounds testing procedure. Ramsey's RESET test is conducted for correctness of functional form of the model.

The recursive CUSUM chart is plotted by epf function from the strucchange package. The recursive CUSUM of squares plot is plotted by the ardlBound function using the recursive residuals generated by recresid function of strucchange package. The testing limits on the recursive CUSUM of squares plot are calculated as described by Brown et al. (1975) based in Table 1 of Durbin (1969). The recursive MOSUM chart is plotted when there is no NA MOSUM values are calculated.

Value

model

An object including the fitted model under the null and alternative hypotheses.

F.stat

The value of F-statistic coming out of the Wald test.

p

p-orders in the lag structure.

k

The number of independent series.

bg

Breusch-Godfrey test results. Returns NULL if skipped.

lb

Ljung-Box test results. Returns NULL if skipped.

bp

Breusch-Pagan test results. Returns NULL if skipped.

sp

Shapiro-Wilk test results. Returns NULL if skipped.

ECM

A list including the error correction series in the element EC.t, the fitted error correction model in the element EC.model, and the coefficient of error correction part in the element EC.beta.

ARDL.model

A model object including the fitted ARDL model. Use this model object to display the long-run coefficients. To see the significance test results for the logn-run coefficients, use summary() function.

Author(s)

Haydar Demirhan

Maintainer: Haydar Demirhan <haydar.demirhan@rmit.edu.au>

References

R.L. Brown, J. Durbin, J. M. Evans. Techniques for testing the constancy of regression relationships over time. Journal of the Royal Statistical Society - Series B, 37, 2, 149-192.

C-S. J. Chu, K. Hornik, C-M. Kuan. MOSUM tests for parameter constancy. Biometrika, 82, 603-617, 1995.

J. Durbin. Tests for serial correlation in regression analysis based on the periodogram of Least-Squares residuals. Biometrika, 56, 1, 1-15.

P.K. Narayan. The Saving and Investment Nexus for China: Evidence from Cointegration Tests. Applied Economics 37(17):1979-1990, 2005.

M.H. Pesaran, S. Yongcheol, R.J. Smith. Bounds testing approaches to the analysis of level relationships. Journal of Applied Econometrics 16(3):289-326, 2001.

J.B. Ramsey. Tests for specification error in classical linear Least Squares regression analysis. Journal of the Royal Statistical Society - Series B, 31, 350-371, 1969.

J. Soren, A.Q. Philips. "pss: Perform bounds test for cointegration and perform dynamic simulations."

A. Zeileis, F. Leisch, K. Hornik, C. Kleiber. strucchange: An R package for testing for structural change in linear regression models. Journal of Statistical Software, 7, 1-38, 2002.

Examples

## Not run: 
data(M1Germany)
data <- M1Germany[1:144,]
model <- ardlBound(data = data , formula = logprice ~ interest + logm1 , case = 2 , p = 2)

# Let ardlBoundOrders() function find the orders
model <- ardlBound(data = data , formula = logprice ~ interest + logm1 , case = 2 , 
                    max.p = 3, max.q = 3)

## End(Not run)

dLagM documentation built on Oct. 2, 2023, 9:07 a.m.