Choosing a model#

Start from the question, not the class list. The tables below map common research questions to the class that answers them and to the page that explains it. Run the Diagnostics and specification testing first: whether a series has a unit root, is cointegrated or behaves nonlinearly decides half of the choices below.

One series#

You want to …

Use

Read

model the conditional mean of a stationary series

AR, ARMA

Univariate linear models

model an integrated or seasonal series

ARIMA, SARIMA (...X variants for regressors)

Univariate linear models

estimate long memory, \(d\) between 0 and 1/2

ARFIMA; semiparametric \(d\) in long_memory

Univariate linear models

decompose into trend, cycle and seasonal components

UnobservedComponents; filters in cultivars.spectral

Univariate linear models, Spectral analysis and filtering

model time-varying volatility of returns

GARCH, GJR, EGARCH, FIGARCH

Volatility models

treat volatility as a latent process

SV, UCSV

Volatility models

let dynamics switch at an observed threshold

SETAR

Nonlinear and regime-switching univariate models

let dynamics change smoothly with a transition variable

LSTAR, ESTAR

Nonlinear and regime-switching univariate models

let dynamics switch with an unobserved Markov state

MarkovSwitchingAR

Nonlinear and regime-switching univariate models

fit a flexible nonlinear mean

ARNN, TARNN

Nonlinear and regime-switching univariate models

Several series, reduced form#

You want to …

Use

Read

model joint dynamics of a few stationary series

VAR

Vector autoregressions

condition on series you do not model (oil, foreign rates)

VARX

Vector autoregressions

model cointegrated series in levels

VECM

Beyond the basic VAR

allow moving-average terms

VARMA

Beyond the basic VAR

pool the same system across many units

PanelVAR

Beyond the basic VAR

link country models through trade weights

GVAR

Beyond the basic VAR

mix monthly and quarterly series

MFVAR, MIDASVAR

Beyond the basic VAR

model a whole curve each period (yields, distributions)

DynamicNelsonSiegel, FunctionalVAR

Beyond the basic VAR

Many series#

You want to …

Use

Read

shrink a medium or large VAR toward a prior

BVAR, HierarchicalBVAR

Bayesian VARs

use a non-conjugate or global-local shrinkage prior

GibbsBVAR

Bayesian VARs

handle fat tails or time-varying volatility in a BVAR

StudentBVAR, BVARSV

Bayesian VARs

summarize a large panel with a few factors

DFM, FAVAR

Large and high-dimensional systems

select a sparse lag structure or a network

SparseVAR, GraphicalVAR

Large and high-dimensional systems

measure connectedness between markets

Spillover

Large and high-dimensional systems

Structural questions#

Pick the scheme by the identifying information you are willing to assume. All of them take a fitted reduced form; see Structural identification.

Your identifying assumption

Use

Read

a timing order: some variables do not respond within the period

RecursiveSVAR

Structural identification

some shocks have no long-run effect on some variables

LongRunSVAR

Structural identification

a general pattern of zeros on impact (A/B model)

ShortRunSVAR, MixedSVAR

Structural identification

only the signs of responses

SignRestrictedSVAR, SetIdentifiedSVAR

Structural identification

signs plus facts about particular historical episodes

NarrativeSignRestrictedSVAR in sign_restrictions

Structural identification

an external instrument correlated with one shock

ProxySVAR

Structural identification

volatility regimes or non-Gaussian shocks do the identifying

HeteroskedasticSVAR, NonGaussianSVAR

Structural identification

shocks whose effects drift over time

TVPSVAR in time_varying

Nonlinear, time-varying and regime-switching VARs

Nonlinear and changing systems#

You want to …

Use

Read

a VAR whose dynamics depend on a threshold variable

TVAR, STVAR

Nonlinear, time-varying and regime-switching VARs

coefficients that drift every period

TVPVAR, TVPVARSV

Nonlinear, time-varying and regime-switching VARs

regimes driven by a hidden Markov chain

MarkovSwitchingVAR

Nonlinear, time-varying and regime-switching VARs

responses at quantiles of the distribution

QVAR

Nonlinear, time-varying and regime-switching VARs

Frequency-domain questions#

You want to …

Use

Read

estimate a spectrum from data

cultivars.spectral.periodogram

Spectral analysis and filtering

read the spectrum, coherence and phase a fitted system implies

SpectralDensity

Spectral analysis and filtering

test causality at business-cycle frequencies

SpectralCausality

Spectral analysis and filtering

extract a cycle (HP, band-pass, Butterworth)

cultivars.spectral.filters, cultivars.spectral.band_pass

Spectral analysis and filtering

localize co-movement in time and frequency

cultivars.spectral.wavelets

Spectral analysis and filtering

Point estimates or posteriors?#

Most reduced forms come in a frequentist and a Bayesian version, and the choice changes what you get back:

Frequentist (VAR, ARIMA, …)

Bayesian (BVAR, GibbsBVAR, SV, …)

Fit returns

point estimates, sampling covariance

posterior draws, credible intervals

Model choice

compare on information criteria, LR tests

marginal likelihood, model averaging (The Bayesian workflow)

Forecasts

forecast (point)

forecast_paths (predictive sample)

Identification

every scheme accepts the result

not yet: Bayesian results are not closed systems

Cost

milliseconds

seconds to minutes; set n_draws and seed

A prior= argument on VAR sits between the two. It shrinks the point estimate toward the prior mean but keeps a VAR result, which can still be identified; see Bayesian VARs.