SVAR
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)VARtrend_exponents::Vector{<:Number}
: Time trend exponents (e.g.,[0,1]
implies constant and linear trend)var::VAR
: Reduced form representation of SVAR
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 estimationp::Int
: Lag length
Keyword Arguments
trend_exponents::Vector{<:Number}
: Exponents of time trends (default:[0]
)