MyNixOS website logo
Description

Quantile Autoregressive Distributed Lag Model.

Implements the Quantile Autoregressive Distributed Lag (QARDL) model of Cho, Kim and Shin (2015) <doi:10.1016/j.jeconom.2015.01.003>. Estimates quantile-specific long-run (beta), short-run autoregressive (phi), and impact (gamma) parameters. Features include BIC-based automatic lag selection, Error Correction Model (ECM) parameterization, Wald tests for parameter constancy across quantiles, rolling/recursive QARDL estimation, Monte Carlo simulation, and publication-ready output tables.

qardlr: Quantile Autoregressive Distributed Lag Model

R implementation of the Quantile Autoregressive Distributed Lag (QARDL) model by Cho, Kim & Shin (2015).

Overview

The qardlr package provides tools for estimating quantile-specific long-run equilibrium relationships and short-run dynamics using the QARDL framework. This approach extends classical ARDL cointegration analysis to the quantile regression setting, allowing researchers to examine how relationships vary across different points of the conditional distribution.

Installation

# Install from CRAN (when available)
install.packages("qardlr")

Key Features

  • Quantile regression across multiple tau values
  • BIC-based automatic lag selection (p, q)
  • Error Correction Model (ECM) parameterization
  • Long-run (β), short-run AR (φ), and impact (γ) parameters
  • Wald tests for parameter constancy across quantiles
  • Rolling/recursive QARDL estimation for stability analysis
  • Monte Carlo simulation for finite-sample properties
  • Publication-ready output tables (text, LaTeX, HTML)

Quick Start

library(qardlr)

# 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))

# View results
summary(fit)

# Wald tests for parameter constancy
wald_results <- qardl_wald(fit)
print(wald_results)

# Generate publication-ready table
cat(qardl_table(fit, type = "latex"))

The QARDL Model

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}$$

Key Parameters:

  • β(τ): Long-run parameters = Σγ(τ) / (1 - Σφ(τ))
  • φ(τ): Short-run AR coefficients
  • γ(τ): Short-run impact parameters
  • ρ(τ): Speed of adjustment (ECM) = Σφ(τ) - 1

Functions

FunctionDescription
qardl()Main QARDL estimation
qardl_wald()Wald tests for parameter constancy
qardl_rolling()Rolling/recursive window estimation
qardl_simulate()Monte Carlo simulation
qardl_bic_select()BIC-based lag selection
qardl_table()Publication-ready tables

ECM Parameterization

Use ecm = TRUE for Error Correction Model form:

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

Rolling Window Analysis

# Rolling QARDL with 50-observation window
roll <- qardl_rolling(y ~ x1 + x2, data = qardl_sim,
                      tau = c(0.25, 0.50, 0.75), 
                      p = 2, q = 2, window = 50)
plot(roll, which = "beta", var = 1)

Monte Carlo Simulation

# Assess finite-sample properties
mc <- qardl_simulate(nobs = 200, reps = 1000, 
                     tau = c(0.25, 0.50, 0.75),
                     p = 1, q = 1, k = 1)
print(mc)

Citation

If you use this package, please cite:

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. https://doi.org/10.1016/j.jeconom.2015.01.003

Author

Dr. Merwan Roudane
Email: [email protected]

License

GPL-3

Metadata

Version

1.0.1

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows