SVAR

SVAR <: Model

Structural Vector Autoregressive (SVAR) model in matrix form.

A SVAR of lag order p is specified as:

\[ A_0y_t = C e_t + A_1 y_{t-1} + ... + A_p y_{t-p} + \varepsilon_t \]

where:

  • \(e_t\) is a vector of deterministic components (constant, trends, etc)
  • \(C, A_i\) are conformable matrices
  • \(\varepsilon_t\) are structural shocks

This can be rewritten compactly as:

\[ y_t'A0' = z_t' A_+' + u_t' \]

where:

  • \(z_t = [e_t; y_{t-1}; ...; y_{t-p}]\) includes deterministic components and lagged values of all variables
  • \(A_+ = [C, A_1, ..., A_p]\) is the coefficient matrix stacking trend and autoregressive terms

Assuming \(A0\) is invertible, the reduced-form VAR can be obtained as

\[ y_t' = z_t' A_+'(A_0')^{-1} + u_t'(A_0')^{-1} \]

which can be represented using a VAR object.

Fields

  • A_plus::Matrix{<:Number}: Coefficient matrix [C, A_1, ..., A_p]
  • A_0::AbstractMatrix{<:Number}: Contemporaneous relationships.
  • p::Int: Lag order of the (S)VAR
  • trend_exponents::Vector{<:Number}: Time trend exponents (e.g., [0,1] implies constant and linear trend)
  • var::VAR: Reduced form representation of SVAR
SVAR(data::DataFrame, 
     p::Int;
     trend_exponents::Vector{<:Number} = [0])

Constructs a SVAR model object with data, lag length p, and specified time trend exponents. Coefficients and residuals are uninitialised but can be estimed using fit! and an appropriate AbstractIdentificationMethod.

Arguments

  • data::DataFrame: Dataset used for the estimation
  • p::Int: Lag length

Keyword Arguments

  • trend_exponents::Vector{<:Number}: Exponents of time trends (default: [0])