Time-Varying Parameter VAR

tvp-varstate-spacebayesianmcmcgibbs-samplerforecastingvar

Univariate Precursor: Chow (1984)

The time-varying parameter vector autoregression (TVP-VAR) is the multivariate generalization of the random coefficient regression of Chow (1984). In the univariate version yt=xtβt+εty_t = x_t'\beta_t + \varepsilon_t with βt=Mβt1+ηt\beta_t = M\beta_{t-1} + \eta_t, filtered and smoothed estimates of βt\beta_t follow from the Kalman recursion (or equivalently from generalized least squares (GLS)). The hyperparameters σ2\sigma^2, VV, MM are estimated by maximizing the Kalman innovation likelihood. See Random Coefficient Model for the full derivation.

The TVP-VAR extends this by stacking βt=vec[(A1t,,Apt,υt)]\beta_t = \text{vec}[(A_{1t},\ldots,A_{pt},\upsilon_t)'] — the same state-space structure with a vector measurement equation.

Definition

A Time-Varying Parameter VAR (VAR-TVP) is a VAR in which the coefficient matrices A1t,,AptA_{1t}, \ldots, A_{pt} evolve over time as a latent state process — typically a driftless random walk or a mean-reverting autoregressive (AR)(1). The model is cast in state-space form, and Bayesian inference proceeds via a Gibbs sampler that alternates between drawing the full path of latent coefficients (Carter-Kohn multimove algorithm) and drawing the static parameters from conjugate full conditionals.

Key Ideas

How It Works

State-Space Formulation

Stack the time-varying VAR coefficients as βt=vec[(A1t,,Apt,υt)]\beta_t = \mathrm{vec}[(A_{1t}, \ldots, A_{pt}, \upsilon_t)'] of dimension K=n(np+1)K = n(np+1). The model is:

Measurement equation: yt=Ztβt+et,etN(0,R)(1)y_t = Z_t \beta_t + e_t, \qquad e_t \sim \mathcal{N}(0, R) \tag{1}

where Zt=(Inxt)Z_t = (I_n \otimes x_t'), xt=(yt1,,ytp,1)x_t = (y_{t-1}', \ldots, y_{t-p}', 1)' (k×1k \times 1).

Transition equation: βtβ0=ϕ(βt1β0)+ηt,ηtN(0,Ω)(2)\beta_t - \beta_0 = \phi(\beta_{t-1} - \beta_0) + \eta_t, \qquad \eta_t \sim \mathcal{N}(0, \Omega) \tag{2}

Setting ϕ=1\phi = 1 yields a driftless random walk; 0<ϕ<10 < \phi < 1 gives mean-reverting AR(1) dynamics toward prior mean β0\beta_0 (set in Minnesota-prior style).

Alternative Ω\Omega Specifications (Amisano-Federico 2004)

Model Ω\Omega structure Free parameters
M1 (Cogley-Sargent) Joint M=[RCCΩ]M = \begin{bmatrix}R & C \\ C' & \Omega\end{bmatrix}, C0C \neq 0 ΨM1\Psi \equiv M^{-1} ~ Wishart(m×mm \times m)
M2 (C=0C = 0) RR and Ω\Omega free, independent HR1H \equiv R^{-1}, ΦΩ1\Phi \equiv \Omega^{-1} ~ Wishart
M3 (Kronecker) Ω=ρ(RQk)\Omega = \rho(R \otimes Q_k) RR, QkQ_k (k×kk \times k), ρ>0\rho > 0
M4 (Litterman-type) Ω=ρQ0\Omega = \rho Q_0, Q0Q_0 = Minnesota diagonal RR, ρ>0\rho > 0

In M3 all equations are treated symmetrically: the ratio of prior variances for any two coefficients is the same in every equation. This constraint dramatically reduces the parameter count.

Carter-Kohn Multimove Algorithm

The full path β1,,βT\beta_1, \ldots, \beta_T is drawn jointly in one Gibbs block via a forward Kalman filter pass followed by a backward simulation smoother (Carter and Kohn 1994; Chib-Greenberg 1995b for the seemingly unrelated regression (SUR) precursor):

Forward Kalman pass (t=1,,Tt = 1, \ldots, T): βtt1=ϕβt1t1+(1ϕ)β0\beta_{t|t-1} = \phi \beta_{t-1|t-1} + (1-\phi)\beta_0 Qtt1=ϕ2Qt1t1+ΩQ_{t|t-1} = \phi^2 Q_{t-1|t-1} + \Omega ett1=ytZtβtt1,ftt1=ZtQtt1Zt+Re_{t|t-1} = y_t - Z_t \beta_{t|t-1}, \qquad f_{t|t-1} = Z_t Q_{t|t-1} Z_t' + R βtt=βtt1+Qtt1Ztftt11ett1\beta_{t|t} = \beta_{t|t-1} + Q_{t|t-1} Z_t' f_{t|t-1}^{-1} e_{t|t-1} Qtt=Qtt1Qtt1Ztftt11ZtQtt1Q_{t|t} = Q_{t|t-1} - Q_{t|t-1} Z_t' f_{t|t-1}^{-1} Z_t Q_{t|t-1}

Backward simulation pass (t=T,T1,,1t = T, T-1, \ldots, 1): βTN(βTT,QTT)\beta_T \sim \mathcal{N}(\beta_{T|T},\, Q_{T|T}) βtβt+1N ⁣(βtt+ϕQttQt+1t1(βt+1ϕβtt(1ϕ)β0),  Qttϕ2QttQt+1t1Qtt)\beta_t \mid \beta_{t+1} \sim \mathcal{N}\!\left(\beta_{t|t} + \phi Q_{t|t} Q_{t+1|t}^{-1}(\beta_{t+1} - \phi\beta_{t|t} - (1-\phi)\beta_0),\; Q_{t|t} - \phi^2 Q_{t|t} Q_{t+1|t}^{-1} Q_{t|t}\right)

The dominant cost is Qt+1t1Q_{t+1|t}^{-1}, a K×KK \times K matrix inversion at each step.

Kronecker Structure Simplification

Under M3, Qtt=H1Qtt,kQ_{t|t} = H^{-1} \otimes Q_{t|t,k} where Qtt,kQ_{t|t,k} is k×kk \times k. All Kalman recursions reduce to operations on this small matrix: Qtt1,k=ϕ2Qt1t1,k+ρQk,ftt1,k=xtQtt1,kxt+1Q_{t|t-1,k} = \phi^2 Q_{t-1|t-1,k} + \rho Q_k, \qquad f_{t|t-1,k} = x_t' Q_{t|t-1,k} x_t + 1

The K×KK \times K inversion becomes a scalar inversion (ftt1,k1f_{t|t-1,k}^{-1}), reducing per-iteration cost from O(K3)O(K^3) to O(k3+n3)O(k^3 + n^3).

Multivariate Stochastic Volatility (Cogley-Morozov-Sargent 2003)

The CMS (2003) extension replaces the constant observation covariance RR with a time-varying matrix RtR_t factored as:

Rt=B1HtB1R_t = B^{-1} H_t B'^{-1}

where BB is a fixed lower-triangular matrix (with ones on the diagonal) and Ht=diag(h1t,,hnt)H_t = \mathrm{diag}(h_{1t}, \ldots, h_{nt}) is diagonal with geometric random walk log-variances:

loghit=loghi,t1+ηit,ηitN(0,σi2)\log h_{it} = \log h_{i,t-1} + \eta_{it}, \qquad \eta_{it} \sim \mathcal{N}(0, \sigma_i^2)

This parameterisation separates contemporaneous cross-equation correlation (captured by BB) from time-varying scale (captured by HtH_t). The log-variance draws {hit}\{h_{it}\} cannot be obtained from a conjugate conditional and require a single-move Metropolis step with a log-normal proposal centred at the previous draw (following the Jacquier-Polson-Rossi (JPR) 1994 approach for univariate stochastic volatility (SV)).

Five-Block Metropolis-within-Gibbs (CMS 2003)

The full sampler cycles through:

Block Parameter Sampler
1 θT=(θ1,,θT)\theta_T = (\theta_1, \ldots, \theta_T) Carter-Kohn forward filter backward sampler (FFBS) (rejection-sample for stability)
2 QQ (coefficient drift covariance) Inverse-Wishart conjugate
3 β\beta (columns of lower-triangular BB) Normal seemingly unrelated regression (SUR) conjugate (independent across columns)
4 σ2=(σ12,,σn2)\sigma^2 = (\sigma_1^2, \ldots, \sigma_n^2) Inverse-Gamma conjugate
5 {hit}\{h_{it}\} for each ii Single-move Metropolis, log-normal proposal

The stability constraint on θt\theta_t (all VAR eigenvalues inside the unit circle at every tt) is enforced by rejection sampling within the Carter-Kohn block: proposed draws that violate stability are discarded and resampled.

Full Conditionals for Static Parameters

Given βT\beta_T from the state block, each parameter draws from a conjugate distribution:

Parameter Full conditional
HR1H \equiv R^{-1} Wishart(T+ν0,[(emem)+H01]1)\mathrm{Wishart}(T + \nu_0,\, [(e^m e^{m'}) + H_0^{-1}]^{-1})
ΦkQk1\Phi_k \equiv Q_k^{-1} (M3) Wishart(Tn+ν0,[tΥtΥt+Φ0,k1]1)\mathrm{Wishart}(Tn + \nu_0,\, [\sum_t \Upsilon_t \Upsilon_t' + \Phi_{0,k}^{-1}]^{-1})
hρ1h \equiv \rho^{-1} (M3, M4) Gamma(TK2+υ0,h11)\mathrm{Gamma}(\tfrac{TK}{2} + \upsilon_0,\, h_1^{-1})
ϕ\phi (M4 random walk) TruncNormal[0,1](μ1,σ12)\mathrm{TruncNormal}_{[0,1]}(\mu_1, \sigma_1^2) — accept-reject

Why It Matters

Open Questions

Related