Learn R Programming

qardlr (version 1.0.1)

qardl: Quantile Autoregressive Distributed Lag Model Estimation

Description

Estimates the Quantile ARDL (QARDL) model of Cho, Kim & Shin (2015). The model estimates quantile-specific long-run equilibrium relationships and short-run dynamics between a dependent variable and covariates.

Usage

qardl(
  formula,
  data,
  tau = c(0.25, 0.5, 0.75),
  p = 0L,
  q = 0L,
  pmax = 7L,
  qmax = 7L,
  ecm = FALSE,
  constant = TRUE
)

Value

An object of class "qardl" containing:

beta

Long-run parameters matrix (k x ntau)

beta_se

Standard errors for beta

phi

Short-run AR parameters matrix (p x ntau)

phi_se

Standard errors for phi

gamma

Short-run impact parameters matrix (k x ntau)

gamma_se

Standard errors for gamma

rho

Speed of adjustment parameters (ECM coefficient)

tau

Vector of estimated quantiles

p

AR lag order used

q

Distributed lag order used

nobs

Number of observations

k

Number of covariates

call

The matched call

formula

The model formula

data

The data used

qr_fits

List of quantreg fit objects

bic_grid

BIC grid if lag selection was performed

ecm

Whether ECM parameterization was used

Arguments

formula

A formula of the form y ~ x1 + x2 + ... where y is the dependent variable and x1, x2, ... are covariates.

data

A data frame containing the variables in the formula.

tau

Numeric vector of quantiles to estimate. Must be in (0, 1). Default is c(0.25, 0.50, 0.75).

p

Integer. AR lag order for the dependent variable. If 0, automatically selected via BIC. Default is 0.

q

Integer. Distributed lag order for covariates. If 0, automatically selected via BIC. Default is 0.

pmax

Integer. Maximum AR lag order for BIC selection. Default is 7.

qmax

Integer. Maximum DL lag order for BIC selection. Default is 7.

ecm

Logical. If TRUE, estimate Error Correction Model parameterization. Default is FALSE.

constant

Logical. If TRUE, include an intercept. Default is TRUE.

Details

The QARDL(p,q) model is specified as: $$Q_{y_t}(\tau | \mathcal{F}_{t-1}) = c(\tau) + \sum_{i=1}^{p} \phi_i(\tau) y_{t-i} + \sum_{j=0}^{q-1} \gamma'_j(\tau) x_{t-j}$$

Long-run parameters are computed as: $$\beta(\tau) = \frac{\sum_{j=0}^{q-1} \gamma_j(\tau)}{1 - \sum_{i=1}^{p} \phi_i(\tau)}$$

The speed of adjustment (ECM coefficient) is: $$\rho(\tau) = \sum_{i=1}^{p} \phi_i(\tau) - 1$$

Negative \(\rho(\tau)\) indicates convergence to long-run equilibrium.

References

Cho, J.S., Kim, T.-H., & Shin, Y. (2015). Quantile cointegration in the autoregressive distributed-lag modeling framework. Journal of Econometrics, 188(1), 281-300. tools:::Rd_expr_doi("10.1016/j.jeconom.2015.01.003")

See Also

qardl_rolling, qardl_simulate, qardl_wald, summary.qardl

Examples

Run this code
# Load example data
data(qardl_sim)

# Basic QARDL estimation with automatic lag selection
fit <- qardl(y ~ x1 + x2, data = qardl_sim, tau = c(0.25, 0.50, 0.75))
summary(fit)

# QARDL with specified lags
fit2 <- qardl(y ~ x1 + x2, data = qardl_sim, tau = c(0.1, 0.5, 0.9), p = 2, q = 2)
print(fit2)

# QARDL-ECM parameterization
fit_ecm <- qardl(y ~ x1 + x2, data = qardl_sim, tau = c(0.25, 0.50, 0.75), ecm = TRUE)
summary(fit_ecm)

Run the code above in your browser using DataLab