Drawing the interest-rate and S&P 500 histories before the rotations enter.
Interest rateS&P 500
Loading illustrative time series0%
SVAR Identification Atlas
Why one fitted VAR can support many structural stories
Estimating a VAR gives forecast surprises and their covariance, but it does not by itself tell us which
surprise is a monetary-policy shock or a stock-market shock. This Atlas holds one deliberately simple
two-variable VAR fixed, samples 100 sign-normalized, covariance-equivalent shock decompositions, and asks what extra
information each identification method contributes. The goal is to make the identifying assumption and
the kind of answer it delivers visible.
Common experiment
From forecast surprises to identified shocks
Read the setup as a controlled experiment. We estimate one reduced-form VAR, keep everything it learns
from the data fixed, and vary only the structural interpretation. That separation is the central idea
behind every method page.
1. EstimateLearn the reduced-form dynamics.
The VAR produces forecast errors, lag dynamics, and a residual covariance matrix.
2. RotateExpose what covariance leaves unresolved.
Each angle gives different candidate shocks and IRFs while fitting the same residual covariance.
3. IdentifyAdd information the VAR did not supply.
A timing, sign, historical, proxy, variance, or distributional idea filters or selects rotations.
Reduced-form shockut is an estimated forecast error, not yet a named economic shock.
Impact matrixB maps structural shocks into the observed VAR forecast errors.
IdentificationExtra assumptions or information orient B and give its columns meaning.
What stays fixed
The data, lag order, estimated VAR coefficients, and residual covariance do not change when you turn
the dial. Only the candidate structural decomposition changes.
Illustrative data
The browser-facing series are transformed illustrative values calibrated to the running example.
They support intuition and method comparison; they are not an empirical monetary-policy result.
1. Observed Data
Observed data become VAR inputs, not structural shocks.
The interest-rate series gives the policy side of the example. The S&P 500 series gives a stock-market side. For the VAR we work with the rate and monthly S&P 500 log growth, but the first picture keeps the original market level visible too.
Read this chart as the visible observed history before the VAR converts the series into forecast errors.
2. Reduced-Form VAR(4)
The VAR turns lagged data into forecast errors, but not economic labels.
A VAR(4) is a compact forecasting system for the two observed variables. "4" means each equation uses four monthly lags of the interest rate and four monthly lags of S&P 500 log growth.
Reduced-form VAR(4)
yt = c + A1yt-1 + A2yt-2 + A3yt-3 + A4yt-4 + ut
The residual ut is whatever the lagged system did not predict.
These ut shocks are useful, but they are not yet structural. They are still mixtures of the two deeper shocks we want to think about.
The chart shows what the VAR did not predict. These residuals are the objects the SVAR will decompose.
3. Structural Mixtures
The same forecast errors can be generated by many structural decompositions.
We assume there is a true impact matrix B0. It maps two
structural shocks, εpolicy,t and
εstock,t, into the reduced-form interest-rate and
S&P 500 residuals ut. The first shock is the monetary
policy shock; the second is the stock-market shock that we want to disentangle from it.
SVAR mixing equation
urate,tuS&P,t=b11b12b21b22εpolicy,tεstock,t
Rows are reduced-form residuals. Columns are structural shocks. Thus b12 is the impact of the stock-market shock on the interest-rate residual, while b21 is the impact of the policy shock on the S&P residual.
The goal is to estimate B0 and recover the true structural shocks εt = B0-1ut.
We do not observe the structural shocks directly, so we normalize their covariance to identity:
E[εtεt'] = I. This says they are
mutually uncorrelated and each has unit variance. The unit-variance convention fixes shock scale; it does not
fix the columns' economic labels or signs.
That normalization is not enough to pin down the shocks uniquely. There are infinitely many ways to split up
ut into candidate uncorrelated shocks
et(θ) = B(θ)-1ut. The derivation below
shows why the same reduced-form covariance is compatible with many rotated decompositions.
Why covariance does not choose the structural shocks
1. Factor the residual covariance. Let
Σu = E[utut']. Choose any
convenient factor P, such as a Cholesky factor, with
Σu = PP'.
Σu = PP'
2. Rotate that factor. For an orthogonal rotation
R(θ), define
B(θ) = PR(θ). Because
R(θ)R(θ)' = I, every rotated impact matrix reproduces
exactly the same residual covariance.
B(θ)B(θ)' = PR(θ)R(θ)'P' = PP' = Σu
3. Recover a different candidate shock pair. Each rotation gives
et(θ) = R(θ)'P-1ut, and
every pair has identity covariance.
E[et(θ)et(θ)'] = I
Identification is the missing step
Covariance tells us which rotations fit, but
economic or statistical information must tell us which columns deserve structural labels.
4. Rotate The Shocks
Turning the dial changes the structural story, not the fitted VAR.
Use the rotation slider to choose an angle θ. Each angle defines a
candidate impact matrix B(θ) and therefore a candidate decomposition
et(θ) = B(θ)-1ut. No matter
which angle you pick, the recovered shocks remain uncorrelated. This is the key identification problem:
the uncorrelated-shocks assumption alone leaves infinitely many admissible candidates.
Move the dial to see the same reduced-form residuals become different candidate structural shocks.
5. Rotate The IRFs
Every candidate impact matrix implies its own structural IRFs.
Impulse response functions are a visual summary of the structural moving-average representation. They show
how each variable moves over subsequent horizons after a one-time structural shock today. The bridge from
the fitted VAR to these responses is the moving-average representation.
The reduced-form coefficients Φh stay fixed. Rotating B(θ) changes the structural responses Ψh(θ).
Move the rotation dial and use the blue line to follow one admissible IRF story. Every displayed set remains consistent with uncorrelated candidate shocks.
6. The Admissible Cloud
The cloud is what remains possible before extra identifying information.
This is the picture you will keep seeing below. Its 100 pale lines sample the sign-normalized IRFs implied
by the shared shock-covariance normalization before any extra identifying restriction is imposed.
Choose a rotation θ to highlight one member of the cloud. The pale
lines show the sampled candidates, and the highlighted line shows which IRF belongs to the active
B(θ). The identification sections below reuse this same cloud and
ask which additional economic idea should select from it.
100 sampled rotationsActive rotation
7. What FEVD Measures
FEVD summarizes an identified story; it does not usually identify one.
A forecast-error variance decomposition asks how much of variable i's
horizon-H forecast uncertainty is attributed to structural shock
j. It uses the same structural responses
Ψh(θ) as the IRF plots, but squares and adds them over horizons.
Here the table focuses on the interest-rate variable. The two columns show how its forecast-error variance is split between the policy and stock-market shocks at the current rotation.
8. Identification Problem
Each method adds information and returns either a point or a set.
At this point every sampled rotation is admissible because every one recovers unit-variance, mutually uncorrelated candidate shocks. Each sampled rotation also implies different IRFs and FEVD shares. Identification begins when we add one economic idea and turn it into a loss, score, or zero-violation rule over the same grid of 100 rotations.
FEVD itself is a downstream diagnostic: it says how an already selected structural story allocates forecast uncertainty. The max-share method later turns one FEVD share into an objective, which is an extra identifying assumption rather than a fact supplied by the reduced-form VAR.
The table below previews what changes from method to method: which empirical variation is used, what
restriction or objective is imposed, how the rule selects from the rotation grid, and whether the output
is a single candidate or a set of admissible candidates.
How to read this Atlas
Keep estimation, identification, labeling, and inference separate.
Reader routine
Use the same three questions on every method page.
The common rotation grid is a teaching device. It lets you compare methods by holding the reduced form
fixed and changing only the additional identifying information.
1
What is learned before identification?
The fitted VAR supplies residuals, dynamics, and Σu. It does not supply economic shock labels.
2
What extra information enters?
Look for the timing claim, sign, dated event, proxy moment, target objective, distributional shape, or volatility shift that orients the rotation.
3
What kind of answer is justified?
A method may select one rotation, retain a set, identify only one column, or recover anonymous columns that still require economic labels.
Core distinction
Recovery asks which rotation fits the maintained information; labeling
asks why a recovered column has an economic name; inference asks how uncertain the resulting object is.
Literature bridge
Where the common rotation view comes from and where to go next.
Use the Atlas as an entry point into the identification literature, not as a
substitute for the estimators, rank conditions, and uncertainty analysis used in research.
From reduced-form VARs to structural interpretation
Sims (1980) made unrestricted multivariate dynamics, innovations, IRFs, and variance decompositions
central to empirical macroeconomics. The enduring boundary is that an orthogonalization is not an
economic interpretation by itself: causal shock labels require additional restrictions or information.
The modern rotation formulation
Rubio-Ramirez, Waggoner, and Zha (2010) express observationally equivalent structural parameters as
orthogonal rotations and give global rank conditions and algorithms for exact restrictions. The Atlas
reduces that general geometry to one angle in a two-shock system so every candidate can be displayed.
Methods are alternatives and complements
Short-run and long-run zeros, signs and narratives, external instruments, declared objectives,
non-Gaussianity, and volatility shifts add different kinds of information. Applied papers often combine
them, for example signs with proxies or conventional restrictions with statistical identification.
What the Atlas deliberately leaves out
The display fixes a bivariate VAR, samples only 100 rotations, and reports no sampling, prior, or
weak-identification uncertainty. It also assumes the chosen information set can recover the relevant shock.
Real applications must address specification, invertibility, normalization, labeling, and inference.
Questions to carry into an applied paper
What is the target economic shock, and which observable information could reveal it?
Does the maintained assumption deliver a point, a set, or only one identified column?
Which sign, scale, ordering, and permutation normalizations assign the reported label?
How are reduced-form, identification, and weak-signal uncertainty reflected in the reported IRFs?
Audited reading 3 audited sources ? cutoff 16 July 2026
Christopher A. Sims (1980), "Macroeconomics and Reality."
Juan F. Rubio-Ramirez, Daniel F. Waggoner, and Tao Zha (2010), "Structural Vector Autoregressions: Theory of Identification and Algorithms for Inference."
Lutz Kilian and Helmut Lutkepohl, Structural Vector Autoregressive Analysis, especially Chapters 4 and 8-15.
See each method page for source-specific origins, applications, critiques, and annotated references.
Code bridge
Shared Matlab setup for all method pages.
The code examples use simulated bivariate data so readers can run the same identification ideas without relying on private project data.
The panels below show the runnable Matlab bridge: the all-method runner, the shared setup, and small plotting utilities. Each method page contains its own identification loss and selection logic.
Run from the project folder
Open Matlab in apps/atlas/source/matlab.
Run atlas_run_all_method_demos to recreate every method figure set.
Open a method page to inspect the method-specific loss and selection script.
Copy into a fresh folder
Copy the runner, atlas_setup.m, and the method scripts you want.
Copy the helper files shown below.
Run the runner or an individual method script.
Use the ZIP button below for one complete runnable folder with every method. If an embedded preview blocks downloads, open the page in a regular browser.