transmission
transmission
transmission
Compute the transmission effect given a transmission condition.
effects = transmission(from, arr1, arr2, q, method)
calculates the transmission effect for a given transmission condition q
using either the BOmega
method or the irf
method. If BOmega
is used, then transmission effects will be calculated using the systems form \(x = Bx + \Omega\varepsilon\)
Arguments
from
(integer): Index of the shock.arr1
(matrix):- If
method = "BOmega"
, this must beB
from the systems form. - If
method = "irf"
, this must be structuralirfs
(technically only those of the shock that is being investigates (from
)). Has to be a IRF matrix. SeetoTransmissionIrfs
for more information. arr2
(matrix):- If
method = "BOmega"
, this must beOmega
from the systems form. - If
method = "irf"
, this must beirfsOrtho
(Cholesky IRFs) following the ordering of the transmission matrix. q
(Q): A transmission condition. See alsoQ
.method
(string): Specifies the calculation method:"BOmega"
uses the systems form."irf"
uses only IRFs and can thus be used with local projections.order
(vector, optional): variable ordering as defined by the transmission matrix.
Returns:
effects
(vector): A vector where entryi
corresponds to the transmission effect on variablex_i
. Ifx_k
is the variable in the transmission condition with the highest index, all entries in the returned vector with index less thank
areNaN
, since interpretation of those results is nonsensical.
Example:
k = 6;
h = 3;
s = "(x1 | x2) & !x3";
cond = makeCondition(s);
B = randn(k*(h+1), k*(h+1));
Omega = randn(k*(h+1), k*(h+1));
effect = transmission(1, B, Omega, cond, "BOmega");
irfs = randn(k, k, h+1);
irfsOrtho = randn(k, k, h+1);
irfs = toTransmissionIrfs(irfs);
irfsOrtho = toTransmissionIrfs(irfsOrtho);
effect = transmission(1, irfs, irfsOrtho, cond, "irf");
Notes:
- If
method = "BOmega"
, the function appliestransmissionBOmega
. - If
method = "irf"
, the function appliestransmissionIrfs
. - If
order
is provided, the returned effects will be a 3D array of dimension (nVariables, 1, horizons) where the variables are in the original ordering (before applying the transmission matrix). - If
order
is not provided, the returned effects will be a (nVariable*horizons, 1) dimensional vector following the ordering after applying the transmission matrix. This is similar to the matrix obtained via \((I - B)^{-1}\Omega\) using the matrices from the systems form.
See also transmissionBOmega
, transmissionIrfs
, makeCondition
, through
, notThrough