Tutorials › Econometrics (Graduate) › Historical Decompositions of Structural Shocks

VAR, Volatility, and Forecasts · Tutorial 425 of 952

Historical Decompositions of Structural Shocks

Learn to calculate and interpret the contribution of each identified structural shock to a realized VAR path, while keeping the initial state and deterministic component distinct.

Advanced 9 min read

What You'll Learn

  • Define a historical decomposition using a stable VAR and identified structural shocks
  • Separate deterministic components, initial conditions, and within-sample innovations
  • Calculate shock contributions by propagating impacts through impulse responses
  • Verify that contributions sum to the observed path
  • Interpret offsetting contributions without treating them as causal proof

Why Decompose a Realized Path?

A VAR forecast-error variance decomposition describes how shocks contribute to forecast uncertainty at different horizons. A historical decomposition asks a different question: given the shocks that the fitted model assigns to a particular observed period, how much of the model-implied path is attributed to each structural shock? The answer is an accounting decomposition conditional on the model, its identified impact matrix, and the observed innovations. It is not, by itself, evidence that a shock caused an outcome in the broader economic sense.

The accounting must include more than shocks that occur during the period being summarized. A VAR carries forward earlier values: the state at the beginning of the sample can affect the path, and each new innovation can propagate into later observations. A useful decomposition therefore keeps the initial condition, subsequent innovations, and any deterministic component distinct.

Definition and Model

Consider a stable reduced-form VAR of order \(p\), with \(k\) variables:

$$ y_t=c+\sum_{\ell=1}^{p}A_\ell y_{t-\ell}+u_t. $$

Here \(y_t\) is a \(k\)-vector, \(A_\ell\) are coefficient matrices, \(c\) is a deterministic intercept, and \(u_t\) is the reduced-form innovation. Assume the VAR is stable, so its dynamic effects decay rather than grow without bound. Suppose structural identification gives

$$ u_t=B\varepsilon_t,\qquad E(\varepsilon_t)=0,\qquad \operatorname{Var}(\varepsilon_t)=I_k. $$

The columns of \(B\) are the contemporaneous effects of the \(k\) structural shocks, and \(\varepsilon_t\) is the vector of identified structural shocks at time \(t\). Under this normalization, \(\operatorname{Var}(u_t)=BB'\). The identification restrictions and shock scaling matter: changing them can change the reported shock contributions. Identification makes the decomposition calculable under the specified model; it does not remove the need to justify the economic interpretation of the restrictions.

For a constant-intercept VAR, let \(\mu\) be its stable mean, satisfying \(\mu=c+\sum_{\ell=1}^{p}A_\ell\mu\), and define \(x_t=y_t-\mu\). Then \(x_t=\sum_{\ell=1}^{p}A_\ell x_{t-\ell}+B\varepsilon_t\). For a model with other deterministic terms, one can instead subtract the specified deterministic path before decomposing the remaining deviations. The deterministic component is reported separately; it is not a structural shock.

Definition: A historical decomposition expresses a model-implied variable path as the sum of its deterministic component, the propagated effect of the initial state, and the propagated contributions of each identified structural shock over the period considered. Each contribution is conditional on the estimated VAR, the identification and scaling of \(B\), and the realized structural shocks.

From Impulse Responses to Contributions

The moving-average representation links each innovation to its effects now and in the future. For a centered VAR, write \(x_t=\sum_{h=0}^{\infty}\Psi_h u_{t-h}\), with \(\Psi_0=I_k\). Substituting \(u_{t-h}=B\varepsilon_{t-h}\) shows that the response at horizon \(h\) to structural shock \(j\) is \(\Psi_h b_j\), where \(b_j\) is column \(j\) of \(B\). If the shock realized at time \(s\) has value \(\varepsilon_{js}\), its contribution to \(x_t\) is \(\Psi_{t-s}b_j\varepsilon_{js}\). Summing those effects across dates gives the shock’s historical contribution.

For a VAR(1), the expression is especially direct. With \(x_t=Ax_{t-1}+B\varepsilon_t\) and initial deviation \(x_0\), repeated substitution gives the path at date \(t\). The first term carries forward the initial condition; the remaining terms propagate the shocks observed from date 1 through date \(t\).

$$ x_t=A^t x_0+\sum_{s=1}^{t}A^{t-s}B\varepsilon_s =A^t x_0+\sum_{j=1}^{k}\sum_{s=1}^{t}A^{t-s}b_j\varepsilon_{js}. $$

The exponent \(t-s\) is the number of periods for which the impact has propagated. A shock at date \(t\) has exponent zero, so its effect is the contemporaneous impact \(B\varepsilon_t\); a shock at an earlier date is multiplied by the appropriate powers of \(A\). Each component is a vector, and the contribution to a particular variable is the corresponding element of that vector.

A Complete Decomposition with Initial Conditions

The following calculation separates the starting state from two subsequent innovations. All values are hypothetical. Suppose the centered two-variable VAR(1) has the following matrices and initial deviation:

$$ A=\begin{pmatrix}0.5&0.1\\0&0.4\end{pmatrix}, \qquad B=\begin{pmatrix}0.5&0.2\\0.1&0.4\end{pmatrix}, \qquad x_0=\begin{pmatrix}2\\-1\end{pmatrix}. $$

Take \(\varepsilon_1=(1,0)'\) and \(\varepsilon_2=(0,1)'\). Thus shock 1 occurs at date 1 and shock 2 at date 2. We calculate \(x_2\) as an initial-condition contribution plus a contribution from each shock-date pair.

Worked Example: Separating the Initial State and Innovations

Initial condition. First compute \(A^2=\begin{pmatrix}0.25&0.09\\0&0.16\end{pmatrix}\). Therefore,

$$ A^2x_0 =\begin{pmatrix}0.25&0.09\\0&0.16\end{pmatrix} \begin{pmatrix}2\\-1\end{pmatrix} =\begin{pmatrix}0.50-0.09\\-0.16\end{pmatrix} =\begin{pmatrix}0.41\\-0.16\end{pmatrix}. $$

Shock 1 at date 1. Since \(B\varepsilon_1=b_1=(0.5,0.1)'\), its effect at date 2 is propagated once by \(A\):

$$ AB\varepsilon_1 =\begin{pmatrix}0.5&0.1\\0&0.4\end{pmatrix} \begin{pmatrix}0.5\\0.1\end{pmatrix} =\begin{pmatrix}0.25+0.01\\0.04\end{pmatrix} =\begin{pmatrix}0.26\\0.04\end{pmatrix}. $$

Shock 2 at date 2. This shock has no further propagation by date 2, so its contribution is its contemporaneous impact:

$$ B\varepsilon_2=b_2 =\begin{pmatrix}0.2\\0.4\end{pmatrix}. $$

Adding the three components gives

$$ x_2= \begin{pmatrix}0.41\\-0.16\end{pmatrix} +\begin{pmatrix}0.26\\0.04\end{pmatrix} +\begin{pmatrix}0.20\\0.40\end{pmatrix} =\begin{pmatrix}0.87\\0.28\end{pmatrix}. $$

As a check using the VAR recursion, \(Ax_0=(0.9,-0.4)'\), so \(x_1=Ax_0+B\varepsilon_1=(1.4,-0.3)'\). Then \(Ax_1=(0.67,-0.12)'\), and adding \(B\varepsilon_2=(0.2,0.4)'\) gives \(x_2=(0.87,0.28)'\). The decomposition and the recursive path agree. The initial condition contributes \(0.41\) and \(-0.16\) to the two variables at date 2, respectively; those values are not contributions from either within-sample shock.

General VARs and a Derivation

For a VAR(\(p\)), the same accounting can be written using a companion state. Define \(z_t=(x_t',x_{t-1}',\ldots,x_{t-p+1}')'\), let \(F\) be the companion transition matrix, let \(G\) place a \(k\)-vector in the first block of the state, and let \(H\) select the first block. Then \(z_t=Fz_{t-1}+GB\varepsilon_t\) and \(x_t=Hz_t\). If \(z_0\) contains the deviations for the \(p\) initial dates, the date-\(t\) decomposition is

$$ x_t=HF^t z_0+ \sum_{j=1}^{k}\sum_{s=1}^{t}HF^{t-s}Gb_j\varepsilon_{js}. $$

This expression includes initial lagged values in \(z_0\). Any effects of shocks before the chosen sample origin are therefore represented through the initial state rather than counted again as within-sample shocks.

The decomposition follows by repeatedly substituting the state recursion. At \(t=1\), \(z_1=Fz_0+GB\varepsilon_1\). Suppose after \(t-1\) substitutions the state is \(F^{t-1}z_0+\sum_{s=1}^{t-1}F^{t-1-s}GB\varepsilon_s\). Multiplying by \(F\) and adding \(GB\varepsilon_t\) gives

$$ z_t=F^t z_0+\sum_{s=1}^{t-1}F^{t-s}GB\varepsilon_s+GB\varepsilon_t =F^t z_0+\sum_{s=1}^{t}F^{t-s}GB\varepsilon_s. $$

Thus the expression holds at date \(t\); multiplying by \(H\) gives the formula for \(x_t\). Finally, \(B\varepsilon_s=\sum_{j=1}^{k}b_j\varepsilon_{js}\), which separates the total innovation contribution into contributions from the individual structural shocks. This derivation also shows why the components must add to the model-implied deviation: they are terms in an exact expansion of the recursion.

Worked Example: Contributions That Offset

Suppose a hypothetical centered VAR(1) has \(A=\begin{pmatrix}0.5&0\\0&0.25\end{pmatrix}\), \(B=\begin{pmatrix}1&0.5\\0.2&1\end{pmatrix}\), and \(x_0=(0,0)'\). Let the structural shocks be \(\varepsilon_1=(0.4,-0.2)'\) and \(\varepsilon_2=(-0.1,0.3)'\). We decompose \(x_2\) by shock and date.

The date-1 contribution of shock 1, propagated one period, is \(Ab_1(0.4)=(0.2,0.02)'\). The date-1 contribution of shock 2, also propagated one period, is \(Ab_2(-0.2)=(-0.05,-0.05)'\). At date 2, shock 1 contributes \(b_1(-0.1)=(-0.1,-0.02)'\), while shock 2 contributes \(b_2(0.3)=(0.15,0.3)'\). The initial-condition term is zero. Consequently,

$$ x_2= \begin{pmatrix}0.20\\0.02\end{pmatrix} +\begin{pmatrix}-0.05\\-0.05\end{pmatrix} +\begin{pmatrix}-0.10\\-0.02\end{pmatrix} +\begin{pmatrix}0.15\\0.30\end{pmatrix} =\begin{pmatrix}0.20\\0.25\end{pmatrix}. $$

The first variable’s total deviation is \(0.20\), even though its positive and negative components are individually larger in absolute value. The second variable’s total is \(0.25\). The same result follows from the recursion: \(B\varepsilon_1=(0.3,-0.12)'\), so \(x_1=(0.3,-0.12)'\); then \(Ax_1=(0.15,-0.03)'\) and \(B\varepsilon_2=(0.05,0.28)'\), giving \(x_2=(0.20,0.25)'\). This check confirms both the propagation and the sums.

Reading and Reporting the Decomposition

A historical decomposition is often reported for one variable across dates, or for several variables at a selected date. Report the units of the variables and distinguish the model’s deterministic component from deviations around it. If the deterministic component is \(\mu\), then \(y_t=\mu+x_t\); a shock contribution to \(x_t\) is also its contribution to \(y_t\), while \(\mu\) remains a separate baseline.

Contributions can be positive or negative, and large components can cancel. A share calculated as a component divided by the observed deviation can be misleading when that deviation is close to zero or when components offset strongly. In such cases, report the contributions in the variable’s original units and explain the offset rather than presenting unstable percentages.

The decomposition is ex post: it uses the innovations inferred for the realized sample and the model’s response dynamics. It depends on the chosen initial state, estimated coefficients, and structural identification. It also does not account automatically for parameter uncertainty. Treat the components as conditional model-based attributions, not as uncertainty intervals or independent estimates of causal effects.

Common pitfall: Calling \(B\varepsilon_s\) the contribution of a shock at every later date ignores propagation. At date \(t>s\), the contribution is \(\Psi_{t-s}b_j\varepsilon_{js}\), or its companion-form equivalent. Another error is to assign the initial state to the first in-sample innovation. The initial-condition term and observed innovations are distinct parts of the exact decomposition.

Check Your Understanding

Use the definitions and formulas above to answer the following questions.

  1. In a VAR(1), what is the contribution at date \(t\) of shock \(j\) realized at date \(s\), where \(s<t\)?
  2. Why must a historical decomposition specify how the structural shocks are scaled and identified?
  3. In the first worked example, which term represents the initial condition’s contribution to the first variable at date 2?
  4. How can a variable’s total deviation be small even when its shock contributions are individually large?
  5. Where are effects from shocks before the sample origin represented in the companion-state decomposition?
Clinical Biostats