MyNixOS website logo
Description

Maki Cointegration Test with Multiple Structural Breaks.

Implements the Maki (2012) <doi:10.1016/j.econmod.2012.04.022> residual-based test for cointegration allowing for an unknown number of structural breaks. Breaks are located by a sequential procedure and the cointegrating residual is tested for a unit root with an augmented Dickey-Fuller (ADF) regression; the test statistic is the minimum ADF t-statistic over all candidate breaks. Four model specifications are supported (level shift, level shift with trend, regime shift, and regime shift with trend) and one to four regressors. The default engine reproduces the original 'GAUSS' / 'tspdlib' implementation, with an optional break rule following Maki (2012, Steps 2 and 4). The test runs for any feasible number of breaks; beyond the five tabulated by Maki, critical values can be simulated by his Monte-Carlo design. A two-panel diagnostic plot is provided via 'ggplot2'.

makicoint: Maki Cointegration Test with Multiple Structural Breaks

CRAN status

Overview

makicoint implements the Maki (2012) residual-based test for cointegration allowing for an unknown number of structural breaks. It extends the Gregory-Hansen (one break) and Hatemi-J (two breaks) tests to any feasible number of breaks, and is useful when the long-run relationship between non-stationary series may shift more than twice or is subject to regime changes.

Key features

  • Any feasible number of breaks (not capped at five), bounded by the sample size and the trimming parameter.
  • Four model specifications: level shift (0), level shift with trend (1), regime shift (2), and regime shift with trend (3).
  • Two engines giving the same test statistic: the default reproduces the original GAUSS/tspdlib implementation; engine = "paper" uses the Maki (2012, Steps 2 and 4) break rule.
  • Critical values from Maki (2012) Table 1 (depending on the number of regressors, breaks and model); simulated critical values for more than five breaks via simcv.
  • Diagnostic plot (ggplot2): the series with its break-adjusted long-run fit, and the cointegrating residual.
  • ADF lag rules: tsig (default), fixed, zero, aic, bic.

Installation

install.packages("makicoint")                       # CRAN
# devtools::install_github("merwanroudane/makicoint")  # development

Usage

library(makicoint)

set.seed(123)
n <- 100
x <- cumsum(rnorm(n))
y <- 0.5 * x + cumsum(rnorm(n))
y[51:100] <- y[51:100] + 2          # a level break at observation 50

res <- coint_maki(cbind(y, x), m = 1, model = 0)
res
plot(res)                           # requires ggplot2

Two breaks, regime-shift model, and the paper engine:

coint_maki(cbind(y, x), m = 2, model = 2)
coint_maki(cbind(y, x), m = 2, model = 2, engine = "paper")

Beyond five breaks, with simulated critical values (heavy):

coint_maki(cbind(y, x), m = 7, simcv = 2000, simt = 500)

Functions

  • coint_maki() — the test.
  • cv_coint_maki(k, m, model) — Maki (2012) Table 1 critical values.
  • print() / plot() methods for the result.

Reference

Maki, D. (2012). Tests for cointegration allowing for an unknown number of breaks. Economic Modelling, 29, 2011-2015. doi:10.1016/j.econmod.2012.04.022

Author

Dr Merwan Roudane — Independent Researcher — [email protected]github.com/merwanroudane

License

GPL-3

Metadata

Version

2.0.0

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • 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
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • 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