not_through
not_through(idx, horizons, order) --> Q
All paths cannot go through variables in idx
in periods horizons
. Note, this uses the dynamic system notation y
such that idx
refers to the index of the variable in the original dynamic system, i.e. in the SVARMA.
Arguments
For the single variable version:
idx::Int
: Index of variable through which the paths cannot go. This is the original index in the dynamic system, e.g. the SVAR, before applying the transmission matrix.horizons::AbstractVector{<:Int}
: Horizons for which the paths cannot go through the variable.order::AbstractVector{<:Int}
: Variable ordering determined by the transmission matrix
For the multiple variable version:
idx::AbstractVector{<:Int}
: Indices of variables through which the paths cannot go. These are the original indices in the dynamic system, e.g. the SVAR, before applying the transmission matrix.horizons::Union{AbstractVector{<:Int},Vector{AbstractVector{<:Int}}}
: Horizons for which the paths cannot go through the variable. Must either be a vector for each variable inidx
or a single vector. If it is a single vector, then the horizons will be applied to each variable inidx
.order::AbstractVector{<:Int}
: Variable ordering determined by the transmission matrix
Returns
- Returns a transmission condition
Q
.
Notes
- The transmission effect can be calculated using
transmission
.
Examples
The non-contemporaneous channel of monetary policy is defined in Section 5.1 of Wegner et al (2024) as the effect not going through a contemporaneous adjustment of the federal funds rate, where the transmission matrix orders the federal funds rate first. Thus, if the original SVAR has the federal funds rate ordered first, the non-contemporaneous effect can be obtained in the following ```{julia}.
Similarly, Wegner et al (2024) define the anticipation channel of government defense spending as the effect not going through government defense spending. With government defense spending ordered second in the VAR, the following can be used to obtain the anticipati```{julia}channel.
q = not_through(2, 0:20, 1:4)
not_through(
model::Model,
variables::Union{AbstractVector{Symbol}, Symbol},
horizons::Union{AbstractVector{<:Int},Vector{<:AbstractVector{<:Int}}},
order::AbstractVector{Symbol}
) --> Q
Define a transmission channel not through variables
for horizons
. Contrary to the other not_through
methods, variables
and order
are defined using the variable names of the model – other not_through
methods use indices.