Volatility Processes#
The volatility argument to VAR is a seam: the model specification owns the
conditional mean, and a volatility process owns the residual covariance. Every
adapter implements the VolatilityProcess protocol on the
protocols page, which is what lets downstream code reconstruct
the Cholesky factor at a given period without knowing which process produced
it. Constant is the homoscedastic default — one Σ shared across all
periods, built from a HalfCauchy prior on the diagonal scales and a Normal
prior on the lower-triangular off-diagonals. StochasticVolatility makes Σ_t
time-varying by placing latent log-volatility dynamics (a random walk or an
AR(1)) on each variable’s scale; it doubles as a standalone univariate
stochastic-volatility model with its own fit and forecast surface.
Both adapters are sampled with PyMC, so they belong to the VAR path. The
conjugate estimator cannot use them — a closed-form Normal-Inverse-Wishart
posterior admits only a deterministic scale path — and rejects them at
construction. Its deterministic counterparts, ConjugateVolatility and
PandemicBreak, are documented on the conjugate page.
Homoscedastic volatility — single Σ shared across all time points. |
Univariate stochastic volatility model. |