EconBase
← Back to paper

Large Structural VARs with Multiple Sign and Ranking Restrictions

Extracted main text — title through conclusion, appendix excluded. This is what our citation measures are computed over, published so the extraction can be checked by eye.

75,452 characters · 10 sections · 78 citation commands

Rendered from LaTeX for readability, not typeset faithfully. Citation keys are highlighted; maths is left as source; figures, tables and equation environments are summarised rather than reproduced; unrecognised commands are greyed out so nothing is silently dropped. Email addresses are removed.

Large Structural VARs with Multiple Sign and Ranking Restrictions

\onehalfspacing

\thispagestyle{empty}

abstractLarge VARs are increasingly used in structural analysis as a unified framework to study the impacts of multiple structural shocks simultaneously. However, the concurrent identification of multiple shocks using sign and ranking restrictions poses significant practical challenges to the point where existing algorithms cannot be used with such large VARs. To address this, we introduce a new numerically efficient algorithm that facilitates the estimation of impulse responses and related measures in large structural VARs identified with a large number of structural restrictions on impulse responses. The methodology is illustrated using a 35-variable VAR with over 100 sign and ranking restrictions to identify 8 structural shocks. Keywords: large vector autoregression, sign restriction, ranking restriction, shrinkage prior JEL classifications: C11, C55, E50

Introduction

Vector autoregressions (VARs) are a workhorse model in macroeconomic forecasting and structural analysis. Among the many methodological advances in the structural VAR (SVAR) literature since the pioneering work by sims80, two recent developments are the most prominent. First, there is a growing recognition of the need to exploit more information in structural analyses, motivated by the concern that informational deficiency (using an information set that is too small relative to that of economic agents) substantially distorts estimates of impulse responses and related objects HS91,LR93, LR94. Starting from the seminal paper by LSZ96 that develops various medium-sized structural VARs to study the effects of monetary policy, large VARs with dozens of endogenous variables are increasingly being used in applications. This trend gained momentum after the influential work by \citet*{BGR10}, who demonstrate the benefits of including a large number of variables for both forecasting and structural analysis. Notable applications using large VARs include \citet*{CKM09}, koop13, ER17 and Crumpetal21.

The second development relates to the methods for identifying structural shocks. More specifically, there has been a gradual departure from conventional recursive or zero restrictions to alternative structural restrictions that are deemed to be more credible. An important class of identifying restrictions imposes sign restrictions motivated by economic theory, developed in a series of papers by Faust98, CD02 and Uhlig05. Extensions of this identification approach, such as ranking restrictions proposed in AD21, are also widely used in empirical work.

The convergence of these two developments naturally requires the estimation of large structural VARs identified by imposing sign and ranking restrictions on the impulse responses. However, this remains practically infeasible in high-dimensional settings. For instance, using the popular accept-reject algorithm of RWZ10 to impose sign restrictions might take days in larger-scale applications. Thus, this computational burden severely limits the use of these more credible restrictions in large systems.

We develop a new approach to estimate large SVARs identified using a large number of structural restrictions on impulse responses, which was until now computationally infeasible. In particular, it is applicable to situations where there are far more structural restrictions than identified shocks. The new algorithm builds upon the accept-reject algorithm of RWZ10, which we now briefly describe to provide some perspective. First, given a uniformly drawn orthogonal matrix (i.e., a matrix drawn according to the Haar measure), RWZ10 check if the implied impulse responses satisfy all restrictions. If all the restrictions are satisfied (the draw is admissible), accept the draw and the implied impulse responses; otherwise, obtain another uniform draw and repeat the procedure. The main computational bottleneck of this algorithm comes from the fact that in high-dimensional settings with a large number of structural restrictions, it is highly unlikely that any orthogonal matrix drawn uniformly is admissible. Consequently, one typically needs to sample a huge number of orthogonal matrices to obtain one that is admissible.

The key idea of our proposed algorithm comes from the recognition that, given a uniformly distributed orthogonal matrix, a vast collection of uniform draws can be constructed by permuting its columns and switching the signs of the columns.\footnote{Since the Haar measure is invariant under permutations and sign switches, any member of this collection is also uniformly distributed in the orthogonal group.} More importantly, all these obtained orthogonal matrices are equivalent, in the sense that they represent exactly the same structural shocks of the original orthogonal matrix, after relabeling the shocks and proper sign normalizations. Additionally, one can effectively search through this collection to locate any members that satisfy all structural restrictions with trivial computations. In this way, the new algorithm significantly increases the probability of obtaining an admissible draw with virtually no additional costs. In our benchmark setting, we impose that any identification restriction is only imposed on impact to allow for fast checking of identification restrictions. Economic theory generally only produces robust restrictions {\em across theoretical models\/} only on impact, giving a justification for this approach. However, we also discuss how to extend our approach to sign restrictions at longer horizons as well as ranking restrictions along the lines of DGK14 and AD21.

To illustrate our proposed algorithm, we consider four applications, three empirical applications based on US data and one set of Monte Carlo simulations. First, we estimate a 15-variable VAR with more than 40 sign and ranking restrictions to identify 5 structural shocks based on empirical applications in FRS19 and chan22. As a benchmark, we use the algorithm of RWZ10 to uniformly draw orthogonal matrices from the admissible set and compute implied impulse responses. It takes about 3.6 billion orthogonal matrices to obtain 1,000 admissible draws, and the estimation takes about 6 days on a standard desktop. In contrast, the new algorithm requires only about 31,000 orthogonal matrices to obtain 1,000 admissible draws, and the entire exercise takes about 16 seconds. We also confirm empirically that both algorithms give identical impulse responses. Second, we demonstrate how the proposed algorithm can be applied in settings with dynamic sign restrictions by replicating the classic application in Uhlig05. We compare the proposed algorithm to those of RWZ10 and Read22, and show that while the three algorithms produce the same impulse responses, the proposed algorithm is substantially faster. Third, we conduct a series of Monte Carlo simulations to illustrate the empirical performance of the proposed method, and show that it works well even in settings with large numbers of variables and structural shocks.

Our third empirical application considers a larger 35-variable VAR with over 100 sign and ranking restrictions to identify 8 structural shocks: demand, investment, financial, monetary policy, government spending, technology, labor supply and wage bargaining. These macroeconomic and financial variables are broadly similar to those of Crumpetal21 and are closely monitored by policy institutions and market participants. Our high-dimensional model provides a unified framework to study the impacts of multiple structural shocks simultaneously. In particular, this framework allows us to disentangle the impacts of different types of demand and supply shocks on key macroeconomic variables. Even for such a large system, the estimation takes only 14 minutes. Therefore, this application demonstrates that it is practical to study the impacts of multiple structural shocks jointly in a large system using the proposed approach.

Our paper contributes to the emerging literature on efficient methods for conducting structural analysis using large VARs. As noted in Crumpetal21, central banks and policy institutions routinely monitor and forecast dozens of key macroeconomic variables, and VARs provide a convenient framework for studying the joint impacts of multiple structural shocks. To reduce the computational burden of performing structural analysis in large systems, some recent papers, such as korobilis22 and CEY22, propose using a factor model for the reduced-form VAR errors and structural identification restrictions are placed on factor loadings. In contrast, our paper uses a standard VAR framework where structural shocks are related to the reduced-form errors through an impact matrix. Therefore, the proposed algorithm is directly applicable to a wide variety of VARs currently used for structural analysis.

This paper also relates to the literature on efficient posterior sampling in structural VARs with informative priors on impulse responses Kocikecki10, BH15, BH18. In particular, for VARs identified using sign restrictions, the proposed algorithm can be used in the first stage to generate proposal draws for an importance sampler to explore the posterior distribution that incorporates prior information on impulse responses; a recent example of such an importance sampler is given in BP23. The proposed algorithm can thus boost the efficiency of the second-stage importance sampler and make it applicable beyond medium-sized models.

The remainder of this paper is organized as follows. Section (ref) first outlines the identification of shocks in a structural VAR using sign restrictions. We then introduce the proposed algorithm for generating uniform draws of the impact matrix that satisfy all the sign restrictions at impact. Finally, we discuss how the proposed algorithm can be extended to handle other commonly-used identification schemes. Section (ref) considers an illustration using a 15-Variable VAR with sign restrictions to identify 5 structural shocks. We compare the speed of the proposed algorithm as well as the impulse response estimates with those obtained using the algorithm of RWZ10. We further illustrate how the proposed algorithm can be applied in settings with dynamic sign restrictions by replicating the application in Uhlig05. Section (ref) considers an application that involves 35 US macroeconomic and financial variables. We use over 100 sign and ranking restrictions to identify 8 structural shocks. Lastly, Section (ref) concludes and outlines some future research directions.

Identification of Structural Shocks

In this section, we first outline the identification of structural shocks in a structural VAR using sign restrictions. In Section (ref) we then introduce the proposed algorithm to efficiently generate draws of the impact matrix that satisfy all the sign restrictions at impact. Section (ref) further discusses how the proposed algorithm can be extended to handle other commonly used identification schemes, such as ranking restrictions.

To set the stage, let $\mathbf{y}_t= (y_{1,t},\ldots,y_{n,t})'$ be an $n\times 1$ vector of endogenous variables that is observed over the periods $t=1,\ldots, T.$ Consider the following VAR with $p$ lags:

align[align omitted — 271 chars of source]

where the vector of structural shocks $\mathbf{v}_t$ is related to the reduced-form errors $\mathbf{u}_t$ via the impact matrix $\mathbf{B}_0$ that is assumed to be non-singular. It follows that the covariance matrix of $\mathbf{u}_t$ is $\boldsymbol \Sigma\equiv \mathbf{B}_0 \mathbf{B}_0'$.

One main goal of estimating the VAR in (ref)-(ref) is to study the impact of structural shock $v_{j,t}$ on the endogenous variable $y_{i,t}$, $i=1,\ldots, n$ and $j=1,\ldots, m$. Specifically, the impulse response at horizon $h$ is defined to be the expected change in the conditional mean of $y_{i,t+h}$ from the $j$-th structural shock $v_{j,t}$:

equation[equation omitted — 226 chars of source]

where $\mathbf{e}_j$ is the $j$-th column of the $n$-dimensional identity matrix $\mathbf{I}_n$ and $\mathbf{A} = (\mathbf{a}_0, \mathbf{A}_1, \ldots, \mathbf{A}_p)'$ is the $k\times n$ matrix of VAR coefficients with $k=np+1$. Note that each impulse response $f_{i,j,h}$ depends implicitly on the impact matrix $\mathbf{B}_0$ and the VAR coefficients $\mathbf{A}$.

It is well known that under the setup in (ref)-(ref), $\mathbf{B}_0$ is not point-identified: since given any orthogonal matrix $\mathbf{Q}\in\mathbf{O}(n)$ and $\widetilde{\mathbf{B}}_0 = \mathbf{B}_0\mathbf{Q}$, we have $\widetilde{\mathbf{B}}_0\widetilde{\mathbf{B}}_0' = \boldsymbol \Sigma$. In other words, there is a range of impulse responses of variables to structural shocks, even if we fix the identifiable model parameters $(\mathbf{A},\boldsymbol \Sigma)$. One often proceeds by restricting the set of impulse responses---e.g., by imposing economically meaningful restrictions on the impulse responses. Starting from the influential papers by Faust98, CD02 and Uhlig05, one prominent approach is to impose sign restrictions motivated by economic theory on the impulse responses.

More specifically, let $s_{i,j,h}\in\{-1,0,1\}$. Then, a sign restriction on the impulse response $f_{i,j,h}$ can be written as

equation[equation omitted — 56 chars of source]

For example, if $s_{i,j,h} = 1$, then this sign restriction implies that the $h$-step-ahead response of the $i$-th variable to the $j$-th structural shock is restricted to be non-negative. If $s_{i,j,h} = 0$, then the sign restriction is not imposed on this response. We define the sign restrictions set $\mathcal{S}$ to be the collection of $s_{i,j,h}$ for all $i,j,h$.

It is worth noting that in applications one typically imposes sign normalization restrictions on the $m$ structural shocks to facilitate their interpretation. These sign restrictions can be incorporated in our setup by including them in $\mathcal{S}$. For example, if one wishes to sign-normalize a monetary policy shock so that it is a {\em contractionary\/} monetary policy shock, one could restrict the effect of the monetary policy shock (say, the $j$-th shock) on the policy rate (say, the $i$-th variable) to be non-negative on impact, i.e., $f_{i,j,0}\geqslant 0$. This can be done by setting $s_{i,j,0} = +1.$

Now, we can formally define the admissible set with respect to the set of sign restrictions $\mathcal{S}$ and model parameters $(\mathbf{A},\boldsymbol \Sigma)$:

align*[align* omitted — 277 chars of source]

A popular algorithm to obtain draws uniformly from the admissible set $\mathcal{Q}(\mathbf{A},\boldsymbol \Sigma,\mathcal{S})$ is given in RWZ10. It is an accept-reject algorithm and is implemented as follows. First, obtain a draw $\mathbf{Q}$ uniformly from the orthogonal group $\mathbf{O}(n)$ (i.e., according to the Haar measure). Then, set $\mathbf{R} = \mathbf{L}\mathbf{Q}$, where $\mathbf{L}$ is the lower triangular Cholesky factor of $\boldsymbol \Sigma$. If the impulse responses implied by $(\mathbf{A}, \mathbf{R})$ satisfy all the restrictions in $\mathcal{S}$, then we accept $\mathbf{Q}$ (it is easy to see that $\mathbf{Q}\in \mathcal{Q}(\mathbf{A},\boldsymbol \Sigma,\mathcal{S}))$; otherwise, we obtain another draw uniformly from $\mathbf{O}(n)$ and repeat the procedure.

This algorithm is flexible and easy to implement and works well for a wide range of applications using small VARs. When the application requires a VAR that involves more than a dozen variables and restrictions, this algorithm tends to be computationally intensive, as it requires a large number of uniform draws from $\mathbf{O}(n)$ to get each draw from the admissible set $\mathcal{Q}(\mathbf{A},\boldsymbol \Sigma,\mathcal{S})$. When $n$ is large, this approach is simply computationally infeasible.

A New Algorithm

For high-dimensional systems with a large number of sign restrictions, it is highly unlikely that any given uniform draw from $\mathbf{O}(n)$, denoted as $\mathbf{Q}\sim \mathcal{U}(\mathbf{O}(n))$, would imply impulse responses that satisfy all the restrictions in $\mathcal{S}$. To make progress, we assume that $\mathcal{S} = \mathcal{S}_0$ where $\mathcal{S}_0$ collects sign restrictions that restrict only the signs of impulse responses at impact, i.e., $\mathcal{S}_0 = \{s_{i,j,0}: s_{i,j,0}\in\mathcal{S}\}.$ There are two key reasons to focus on the subset $\mathcal{S}_0$. First, there is often a strong consensus in economic theory about the signs of impulse responses at impact but not at longer horizons CP11. Second, verifying the sign restrictions on impulse responses at impact is equivalent to verifying the signs of the elements in $\mathbf{R}$, where $\mathbf{R}=\mathbf{L}\mathbf{Q}$ and $\mathbf{L}$ is the (lower triangular) Cholesky factor of $\boldsymbol \Sigma$. As such, this verification can be done very quickly without computing impulse responses at all. Given a uniform draw $\mathbf{Q}$, one can build a huge collection of equivalent draws (defined below) and search through this collection to obtain any members that satisfy all sign restrictions with trivial computations.

More specifically, given $\mathbf{Q}\sim \mathcal{U}(\mathbf{O}(n))$, let $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ denote the set

align*[align* omitted — 360 chars of source]

In other words, $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ consists of all the permutations and sign switches of the columns of $\mathbf{L}\mathbf{Q}$. Since there are $n!$ permutation matrices of dimension $n$ and $2^n$ ways to construct an $n$ vector from the two values $\pm 1$, the cardinality of $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ is $2^n n!$.

There are three key reasons to consider the set $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$. First, since each column of $\mathbf{L}\mathbf{Q}$ can be viewed as the responses of the endogenous variables to a particular structural shock at impact, $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ includes all possible permutations and sign normalizations of the structural shocks represented by $\mathbf{Q}$. That is, any member in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ represents exactly the same structural shocks as $\mathbf{Q}$---after relabeling the shocks and proper sign normalizations. Second, for any fixed $\mathbf{P}$ or $\mathbf{D}$ (respectively, a permutation matrix and a diagonal matrix with elements $\pm 1$), it is orthogonal. Therefore, the Haar measure is invariant under right multiplication of $\mathbf{P}$ and $\mathbf{D}$. Hence, $\mathbf{Q}\mathbf{P}\mathbf{D}$ is a uniform draw from $\mathbf{O}(n)$. Third, one can efficiently search through all the elements---all $2^n n!$ of them---in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ to find those that satisfy all the restrictions in $\mathcal{S}_0$ (discussed below). Put differently, given each $\mathbf{Q}\sim \mathcal{U}(\mathbf{O}(n))$, we automatically obtain $2^n n!$ economically equivalent candidates with trivial additional computations. For $n=10$, the number of orthogonal matrices that we sort through is about 3.7 billion. When $n=30$, the number is about $2.85\times 10^{41}$.

To distinguish two structural shocks, we require that they have signed impacts on at least two common endogenous variables. In addition, their impacts on one variable have the same sign, while their impacts on the other variable have opposite signs. More formally, we assume that $\mathcal{S}_0$ satisfies the following assumption:

assumption\rm For any $j\neq k,$ $j,k=1,\ldots, m$, there exist $i_1$ and $i_2$ such that $s_{i_1,j,0} = s_{i_1,k,0} \neq 0$ and $s_{i_2,j,0} = -s_{i_2,k,0} \neq 0$.
example\rm Consider the following two sets of restrictions $\mathcal{S}_0^1$ and $\mathcal{S}_0^2$: \[ \mathcal{S}_0^1 = \begin{pmatrix} +1 & +1 & +1 \\ -1 & 0 & +1 \\ 0 & +1 & -1 \end{pmatrix}, \quad \mathcal{S}_0^2 = \begin{pmatrix} +1 & +1 & +1 \\ -1 & +1 & +1 \\ 0 & +1 & -1 \end{pmatrix}. \] $\mathcal{S}_0^1$ does not satisfy Assumption 1 because the first and second shocks (corresponding to the first and second columns) have signed impacts on only one common variable (the first variable). Intuitively, there is not enough information to separate these two structural shocks. For instance, a column of $\mathbf{R}$ with $(1, -2, 3)'$ is consistent with both the first and second structural shocks. In contrast, $\mathcal{S}_0^2 $ satisfies Assumption 1: the first and second shocks have the same signed impact on the first variable but different signed impacts on the second variable; similarly for the first and third shocks; finally, the second and third shocks have the same signed impact on the first variable but different signed impacts on the third variable. Consequently, any column of $\mathbf{R}$ can be consistent with at most one structural shock.

Next, we describe an efficient way to go through all the elements in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ to locate those that satisfy all the restrictions in $\mathcal{S}_0$. Suppose that we have $n$ endogenous variables and we are interested in $m$ structural shocks. Let $\mathbf{T}$ denote an $m\times n$ matrix such that $T_{ji}$, the $(j,i)$ element, is $+1$ if the $i$-th column of $\mathbf{R} = \mathbf{L}\mathbf{Q}$ satisfies all the restrictions in $\mathcal{S}_0$ corresponding to $j$-th structural shock. If the negative of the $i$-th column of $\mathbf{R}$ satisfies all the inequalities in $\mathcal{S}_0$ corresponding to $j$-th structural shock, set $T_{ji} = -1$; otherwise $T_{ji} = 0$. In other words, the $j$-th row of $\mathbf{T}$ encodes all potential candidates among the columns of $\mathbf{R}$ that can represent the $j$-th structural shocks (those have entries $\pm 1$). Therefore, if any row of $\mathbf{T}$ contains all 0, then none of the elements in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ satisfies all the restrictions in $\mathcal{S}_0$. In addition, by Assumption (ref), each column of $\mathbf{T}$ has at most one $+1$ or $-1$---i.e., each column of $\mathbf{R}$ can satisfy (or violate) all the restrictions of at most one structural shock.

example\rm Suppose we have a set of restrictions to identify $m=2$ structural shocks using a VAR with $n=4$ variables: \[ \mathcal{S}_0^3 = \begin{pmatrix} +1 & +1 \\ +1 & -1 \\ 0 & 0 \\ 0 & 0 \end{pmatrix}. \] It is straightforward to verify that $\mathcal{S}_0^3$ satisfies Assumption 1. Further suppose we obtain two draws of $\mathbf{R}$: \[ \mathbf{R}^1 = \begin{pmatrix} 0.2 & 0.1 & -0.3 & 0.8 \\ 0.3 & 0.2 & -0.4 & 0.7 \\ 0.1 & -1.1& 1.2 & -0.4\\ 1.2 & 0.5& 0.5 & -1.2 \end{pmatrix}, \quad \mathbf{R}^2 = \begin{pmatrix} 0.2 & -0.1 & -0.3 & 0.8 \\ 0.3 & 0.2 & -0.4 & 0.7 \\ 0.1 & -1.1& 1.2 & -0.4\\ 1.2 & 0.5& 0.5 & -1.2 \end{pmatrix}. \] The only difference between $\mathbf{R}^1$ and $\mathbf{R}^2$ is that their (1,2) elements have different signs. Then, their corresponding $\mathbf{T}^1$ and $\mathbf{T}^2$ are: \[ \mathbf{T}^1 = \begin{pmatrix} +1 & +1 & -1 & +1 \\ 0 & 0 & 0 & 0 \end{pmatrix}, \quad \mathbf{T}^2 = \begin{pmatrix} +1 & 0 & -1 & +1 \\ 0 & -1 & 0 & 0 \end{pmatrix}. \] In other words, all columns of $\mathbf{R}^1$ can potentially represent the first structural shock (e.g., after switching the signs of the elements in the third column), whereas none of the columns are consistent with the second structural shock. For $\mathbf{R}^2$, the first, third and fourth columns are consistent with the first structural shock, while the second column is consistent with the second structural shock. Finally, note that since $\mathcal{S}_0^3$ satisfies Assumption 1, each column of $\mathbf{T}^1$ and $\mathbf{T}^2$ has at most one $+1$ or $-1$.

It is important to note that to compute the matrix $\mathbf{T}$, we only need to check each column of $\mathbf{R}$ to see if all the relevant inequalities are all satisfied, all violated or neither, for each structural shock $j=1,\ldots,m$. Hence, it involves at most checking $mn^2$ inequalities to construct $\mathbf{T}$, which can be done quickly.

Let $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ denote the subset of elements in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q})$ that satisfy all the restrictions in $\mathcal{S}_0$. In other words, $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ consists of all the permutations and sign switches of the columns of $\mathbf{R} = \mathbf{L}\mathbf{Q}$, where $\boldsymbol \Sigma = \mathbf{L}\mathbf{L}'$, that satisfy all the restrictions in $\mathcal{S}_0$. Hence, any element in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ can be written as $\mathbf{R}^* = \mathbf{R}\mathbf{P}\mathbf{D}$ for some $n$-dimensional permutation matrix $\mathbf{P}$ and diagonal matrix $\mathbf{D}$ with elements $\pm 1$. And since $\mathbf{P}$ and $\mathbf{D}$ are orthogonal matrices, $\mathbf{R}^* = \mathbf{R}\mathbf{Q}^*$ with $\mathbf{Q}^* = \mathbf{P} \mathbf{D} \in\mathbf{O}(n)$.

algorithm[algorithm omitted — 1,854 chars of source]

Given the matrix $\mathbf{T}$, we can first determine whether or not $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ is empty. If it is not, we then uniformly obtain an element from it as follows. Since each row of $\mathbf{T}$ contains at least one $+1$ or $-1$, for each $j=1,\ldots, m$, we uniformly pick a column that has entries $+1$ or $-1$, say, $i_j$. And since each column contains at most one $+1$ or $-1$, we would not pick the same column twice. Given the sampled $i_1,\ldots, i_m$, we can reconstruct the element in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ that satisfies all the restrictions in $\mathcal{S}_0$. We summarize this algorithm in Algorithm (ref).

proposition\rm Under Assumption (ref), the output $\mathbf{R}^*$ from Algorithm (ref) satisfies $\mathbf{R}^* = \mathbf{L}\mathbf{Q}^*$, where $\mathbf{Q}^*$ is a uniform draw from $\mathbf{O}(n)$ and $\mathbf{L}\mathbf{L}'=\boldsymbol \Sigma$. In addition, $\mathbf{R}^*$ satisfies all the restrictions in $\mathcal{S}_0$.

In other words, the proposed algorithm returns structural shocks that satisfy all the restrictions in $\mathcal{S}_0$ using a uniform draw $\mathbf{Q}^*$ from the orthogonal group $\mathbf{O}(n)$ such that $\mathbf{R}^* = \mathbf{L}\mathbf{Q}^*$. The proof of the proposition is given in Appendix A.

It is worth noting that in Algorithm (ref) we accept or reject each pair $(\mathbf{A},\boldsymbol \Sigma)$ and $\mathbf{Q}$ jointly, in contrast to the common practice of sampling $\mathbf{Q}$ conditional on a particular draw of $(\mathbf{A},\boldsymbol \Sigma)$ until all the restrictions in $\mathcal{S}_0$ are satisfied. As pointed out in ARSW24, the latter approach has the unintended consequence of sampling from a different distribution other than the target.\footnote{Algorithm 1 does not check whether the admissible set $\mathcal{Q}(\mathbf{A},\boldsymbol \Sigma, \mathcal{S})$ is empty or not, but this can be assessed using the procedure based on computing the Chebyshev center as proposed in AD21. Since Algorithm 1 accepts or rejects $(\mathbf{A},\boldsymbol \Sigma)$ and $\mathbf{Q}$ jointly, if the admissible set $\mathcal{Q}(\mathbf{A},\boldsymbol \Sigma, \mathcal{S})$ is empty, $\mathbf{T}$ will have a zero row for any $\mathbf{Q}$. Algorithm (ref) then iterates and samples a different draw for $(\mathbf{A},\boldsymbol \Sigma)$. In practice, it is much faster to compute $\mathbf{T}$ than the Chebyshev center of $\mathcal{Q}(\mathbf{A},\boldsymbol \Sigma, \mathcal{S})$.} It is also important to emphasize that Algorithm (ref) returns one draw $\mathbf{R}^*$, instead of multiple draws, from the set $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ for each pair of $(\boldsymbol \Sigma,\mathbf{Q})$. This is because any two draws from $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ are dependent, as they differ by a permutation and sign switches of the columns. In contrast, given independent posterior draws of $(\mathbf{A},\boldsymbol \Sigma)$, invoking Algorithm (ref) multiple times to obtain multiple draws of $\mathbf{R}^*$ ensures that these draws are independent.\footnote{ One can ensure that the Monte Carlo simulation error is a given fraction of the posterior standard deviation by choosing the number of admissible draws appropriately, and this choice does not depend on the dimension of the problem, provided that the retained admissible draws are independent. Specifically, given $R$ independent admissible draws, the Monte Carlo error of the posterior mean estimate is $1/\sqrt{R}$ as a fraction of the posterior standard deviation. In other words, the Monte Carlo errors of the posterior means obtained from 1,000 independent admissible draws are about 3.2% of the corresponding posterior standard deviations.}

Assumption 1 is crucial for the implementation of Algorithm 1. Intuitively, its role is to ensure that one can distinguish any two structural shocks via only the responses of the variables at impact. This assumption allows us to use Algorithm 1 to uniformly obtain a draw from the set $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ without enumerating all the elements in the set. Without this assumption, one would need to enumerate or label all the elements in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$, which could be time-consuming if the set is large. While Assumption 1 is satisfied in many commonly-used identification schemes (which is vacuously satisfied when only one structural shock is identified), it would not be satisfied, e.g., when two shocks cause exactly the same responses at impact; an example is the identification of the TFP surprises vs TFP news shocks BP06. In those cases, Algorithm 1 cannot be directly applied.

Nevertheless, one can still uniformly obtain a draw from $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ by modifying Algorithm 1. More specifically, we can follow Steps 1-3 of the algorithm and construct the matrix $\mathbf{T}$. Then, instead of Step 4, we enumerate all the elements in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ and obtain a draw from the set uniformly. Below we provide a concrete example to illustrate the revised algorithm.

example\rm Now consider a set of sign restrictions, $\mathcal{S}_0^4$, that does not satisfy Assumption 1, and a draw of $\mathbf{R}$, denoted as $\mathbf{R}^3$: \[ \mathcal{S}_0^4 = \begin{pmatrix} +1 & +1 \\ +1 & +1 \\ 0 & 0 \\ 0 & 0 \end{pmatrix}, \quad \mathbf{R}^3 = \begin{pmatrix} 0.2 & -0.1 & 0.3 & 0.8 \\ 0.3 & 0.2 & -0.4 & 0.7 \\ 0.1 & -1.1& 1.2 & -0.4\\ 1.2 & 0.5& 0.5 & -1.2 \end{pmatrix}. \] Given $\mathcal{S}_0^4$ and $\mathbf{R}^3$, the corresponding $\mathbf{T}^3$ is: \[ \mathbf{T}^3 = \begin{pmatrix} +1 & 0 & 0 & +1 \\ +1 & 0 & 0 & +1 \end{pmatrix}. \] Note that it is no longer the case that each column of $\mathbf{T}^3$ has at most one $+1$ or $-1$, and consequently, Algorithm 1 cannot be directly applied. Nevertheless, one can still enumerate all the elements in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$ (i.e., all the permutations and sign switches of the columns of $\mathbf{R}^3$ that satisfy all the restrictions in $\mathcal{S}_0^4$) using the matrix $\mathbf{T}^3$. For example, one can use the first column of $\mathbf{R}^3$ to represent the first structural shock and the fourth column to represent the second structural shock. Another possibility is to represent the first and second structural shocks using, respectively, the fourth and first columns of $\mathbf{R}^3$. After enumerating all the elements in $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$, one can then uniformly obtain a draw from $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{S}_0)$.

Extensions

In this section we discuss how the proposed algorithm can be extended to handle some other commonly-used identification schemes. We start with the ranking restrictions of AD21. In particular, consider the ranking restriction of the form $s_{i,j,k,l} f_{i,j,0} \geqslant s_{i,j,k,l} \lambda_{i,j,k,l} f_{k,l,0}$ for $s_{i,j,k,l}\in\{-1,0,1\}$ and $\lambda_{i,j,k,l}\geqslant 0$, where $f_{i,j,0}$ is the impulse response of the $i$-th variable from the $j$-th structural shock on impact, as defined in (ref).

For example, if $i=k$, $s_{i,j,k,l}=1$ and $\lambda_{i,j,k,l}=1$, then this ranking restriction implies that the impact of the $j$-th structural shock on the $i$-th variable is at least as large as the impact of the $l$-th shock on the same variable. On the other hand, if $j=l$, $s_{i,j,k,l}=1$ and $\lambda_{i,j,k,l}=1$, then this ranking restriction implies that the response of the $i$-th variable to the $j$-th structural shock at least as large as the response of the $k$-th variable to the same shock. Furthermore, it is easy to see that the ranking restriction includes the sign restriction as a special case by setting $ \lambda_{i,j,k,l}=0$.

Let $\mathcal{R}_0 =\{(s_{i,j,k,l},\lambda_{i,j,k,l}): i,k=1,\ldots, n, j,l=1,\ldots, m\}$ denote the ranking restrictions set on impact. We first consider the case where each ranking restriction involves only an individual structural shock (i.e., for $j\neq l$, $\lambda_{i,j,k,l}=0$); the general case will be discussed afterward. In addition, to ensure that the structural shocks are distinct, we impose some regularity conditions on $\mathcal{R}_0$. Intuitively, to distinguish two structural shocks, we require that either 1) they have signed impacts on at least two common endogenous variables, where on one variable they have the same sign and on the other they have opposite signs; or 2) the impact on a linear combination of two variables from one shock is positive whereas that from the other shock is negative. Formally, we assume $\mathcal{R}_0$ satisfies the following assumption:

assumption\rm For any $j\neq l,$ $j,l=1,\ldots, m$, at least one of the following conditions hold: \begin{enumerate} • there exist $i_1$ and $i_2$ such that $s_{i_1,j,k_1,m_1} = s_{i_1,l,k_2,m_2} \neq 0$ and $s_{i_2,j,k_3,m_3} = -s_{i_2,l,k_4,m_4} \neq 0$ for some $k_1,k_2, k_3, k_4, m_1, m_2,m_3,m_4$, with $\lambda_{i_1,j,k_1,m_1} = \lambda_{i_1,l,k_2,m_2} = \lambda_{i_2,j,k_3,m_3} = \lambda_{i_2,l,k_4,m_4} = 0$ ; • there exist $i_1$ and $i_2$ such that $s_{i_1,j,i_2,j} = -s_{i_1,l,i_2,l} \neq 0$ and $\lambda_{i_1,j,i_2,j} = \lambda_{i_1,l,i_2,l} > 0$. \end{enumerate}

Condition 1 in Assumption (ref) is essentially an extension of Assumption (ref) to the case of ranking restrictions. For example, if $s_{i_1,j,k_1,j} = s_{i_1,l,k_2,l} = 1$ and $s_{i_2,j,k_3,j} = -s_{i_2,l,k_4,l} =1 $, then Condition 1 implies $f_{i_1,j,0}\geqslant 0 $, $f_{i_1,l,0}\geqslant 0 $, $f_{i_2,j,0}\geqslant 0 $, $f_{i_2,l,0}\leqslant 0 $. Condition 2 discriminates the two structural shocks by their different signed impacts on a linear combination of two variables. For instance, if $s_{i_1,j,i_2,j} = -s_{i_1,l,i_2,l} = \lambda_{i_1,j,i_2,j} = \lambda_{i_1,l,i_2,l} = 1$, then Condition 2 implies $f_{i_1,j,0} - f_{i_2,j,0} \geqslant 0 $ and $f_{i_1,l,0} - f_{i_2,l,0} \leqslant 0 $.

example\rm Consider an example with $n=m=3$, and the set of ranking restrictions $\mathcal{R}_0$ is characterized by two 4-dimensional arrays or tensors $\mathbb{S} = (s_{i,j,k,l})$ and $\boldsymbol \Lambda = (\lambda_{i,j,k,l})$, where the only non-zero elements in $\mathbb{S}$ and $\boldsymbol \Lambda$ are: \begin{align*} s_{1,1,1,1} &= 1, s_{1,2,1,1} = 1, s_{2,1,1,1} = 1, s_{2,2,1,1} = -1, \\ s_{3,1,1,1} &= 1, s_{1,3,1,1} = 1, s_{3,3,1,1} = -1, \\ s_{1,1,1,2} &= 1, s_{2,1,2,3} = -1, s_{1,2,3,2} = 1, s_{1,3,3,3} = -1, \lambda_{1,2,3,2} = 1, \lambda_{1,3,3,3} = 1. \end{align*} Then, $\mathcal{R}_0$ satisfies Assumption 2. More specifically, to distinguish the first and second structural shocks, note that $s_{1,1,1,1} = s_{1,2,1,1} = s_{2,1,1,1} = -s_{2,2,1,1}=1 $, so that Condition 1 is satisfied with $i_1 = 1, i_2 = 2, j=1$ and $l=2$ (i.e., the responses of the first and second variables to the first shock are positive, whereas their responses to the second shock are positive and negative, respectively). Similarly, one can distinguish the first and third shocks since $s_{1,1,1,1} = s_{3,1,1,1} = s_{1,3,1,1} = -s_{3,3,1,1} = 1,$ and Condition 1 is satisfied with $i_1 = 1, i_2 = 3, j=1$ and $l=3$ (i.e., the responses of the first and third variables to the first shock are positive, whereas their responses to the third shock are positive and negative, respectively). Finally, the remaining restrictions ensure that Condition 2 is satisfied with $i_1 = 1, i_2 = 3, j=2$ and $l=3$, and one can distinguish the second and third shocks. In particular, the restrictions imply that the second shock causes a larger response from the first variable than the third variable, whereas the third shock causes a smaller response from the first than the third variables.

With Assumption (ref), we can easily adopt Algorithm (ref) to obtain draws uniformly from the admissible set $\mathcal{E}(\boldsymbol \Sigma,\mathbf{Q},\mathcal{R}_0)$. In fact, the only modification one needs is to replace the sign restrictions set $\mathcal{S}_0$ with the ranking restrictions set $\mathcal{R}_0$ in the construction of the matrix $\mathbf{T}$. More specifically, we construct the $m\times n$ matrix $\mathbf{T}$ as follows: set $T_{ji} = +1$ if the $i$-th column of $\mathbf{R} = \mathbf{L}\mathbf{Q}$ satisfies all the restrictions in $\mathcal{R}_0$ corresponding to $j$-th structural shock. If the negative of the $i$-th column of $\mathbf{R}$ satisfies all the inequalities in $\mathcal{S}_0$ corresponding to $j$-th structural shock, set $T_{ji} = -1$; otherwise $T_{ji} = 0$. As before, $\mathbf{T}$ can be constructed with trivial computations. In addition, by Assumption (ref), each column of $\mathbf{T}$ has at most one $+1$ or $-1$ since each column of $\mathbf{R}$ can satisfy (or violate) all the restrictions of at most one structural shock. The rest of the steps in Algorithm (ref) remain exactly the same.

More generally, ranking restrictions include cases where two different structural shocks are involved. For example, one could impose $f_{i,j,0} \geqslant \lambda_{i,j,i,l} f_{i,l,0}$ for $ \lambda_{i,j,i,l}>1$, i.e., the response of the $i$-th variable to the $j$-th structural shock is larger than the response from the $l$-th structural shock. This type of restrictions can be accommodated by an extra accept-reject step. Specifically, one can first use Algorithm (ref) to obtain $\mathbf{A}$ and $\mathbf{R}^*$, which represents the structural shocks that satisfy all the ranking restrictions in $\mathcal{R}_0$. If $\mathbf{R}^*$ also satisfies the additional ranking restrictions, we accept it; otherwise, we obtain another draw of the pair $\mathbf{A}$ and $\mathbf{R}^*$ and repeat the procedure. Similarly, this approach can be applied to cases when one wishes to impose sign or ranking restrictions on longer-horizon impulse responses. That is, we use Algorithm (ref) to obtain $\mathbf{A}$ and $\mathbf{R}^*$, and if the implied longer-horizon impulse responses satisfy the required sign and ranking restrictions, we accept it; otherwise, we sample $\mathbf{A}$ and $\mathbf{R}^*$ again until a draw is accepted.

We have so far focused on the so-called B-model Lutkepohl05 in which the reduced-form errors $\mathbf{u}_t$ are linear combinations of the structural shocks $\mathbf{v}_t$, i.e., $\mathbf{u}_t = \mathbf{B}_0\mathbf{v}_t$, and the researcher has useful prior information on $\mathbf{B}_0$. The proposed approach can be adapted to handle the case when the researcher has useful prior information on $\mathbf{A}_0=\mathbf{B}_0^{-1}$ instead. More specifically, suppose we wish to impose sign restrictions on the elements of $\mathbf{A}_0$. Note that $\mathbf{A}_0'\mathbf{A}_0 = \boldsymbol \Sigma^{-1}$. Let $\overline{\mathbf{L}}$ denote the upper Cholesky factor of $\boldsymbol \Sigma^{-1}$ so that $\boldsymbol \Sigma^{-1} = \overline{\mathbf{L}}'\overline{\mathbf{L}}.$ It is clear that if we let $\overline{\mathbf{R}} = \mathbf{Q} \overline{\mathbf{L}}$, where $\mathbf{Q}$ is an orthogonal matrix, we have $\overline{\mathbf{R}}'\overline{\mathbf{R}} = \boldsymbol \Sigma^{-1}$. Therefore, Algorithm 1 can be directly applied to this case by simply replacing $\mathbf{L}$ and $\mathbf{R}$ with, respectively, $\overline{\mathbf{L}}$ and $\overline{\mathbf{R}}$.

Comparison of Computational Efficiency

The goal of this section is to demonstrate the empirical performance of the proposed algorithm in a variety of settings compared to other benchmarks such as the algorithms of RWZ10 and Read22. In the first subsection, we consider an empirical example that involves a 15-variable VAR with over 40 sign and ranking restrictions. We compare both the speed and the estimated impulse responses against a benchmark. In the second subsection, we demonstrate how the proposed algorithm can be applied in settings with dynamic sign restrictions by replicating the application in Uhlig05. In the last subsection, we further compare the computational efficiency of the proposed approach relative to RWZ10 along a few model dimensions.

An Illustration of a 15-Variable VAR

We first illustrate the empirical performance of the proposed algorithm using a 15-variable VAR with over 40 sign and ranking restrictions to identify 5 structural shocks. As a comparison, we also use the algorithm of RWZ10 to uniformly sample orthogonal matrices from the admissible set and compute the impulse responses.

More specifically, FRS19 first use a 6-variable VAR to identify 5 structural shocks---demand, supply, monetary, investment and financial shocks---using a set of sign and ranking restrictions on the contemporaneous impact matrix. chan22 augments their 6-variable system with 9 additional variables and sign restrictions. The variables and the structural restrictions are given in Table (ref). All rows except the fourth present the sign restrictions on the contemporaneous impact matrix. The fourth row represents ranking restrictions: the entries denote the signs of the differential impacts on investment and output from each structural shock. For example, $-1$ in the demand column indicates that the impact from demand shocks on investment is smaller than the impact on output.

It is straightforward to see that this set of sign and ranking restrictions satisfies Assumption (ref). More specifically, supply and monetary shocks can be distinguished from other shocks using Condition 1 in Assumption (ref). In addition, demand shocks have a negative impact on the difference between investment and output, whereas the impacts from investment and financial shocks are positive. Hence, demand shocks can be distinguished from the other two shocks using Condition 2.

table[table omitted — 1,303 chars of source]

As a benchmark, we use the algorithm of RWZ10 to uniformly sample orthogonal matrices in conjunction with the posterior sampler of chan22 designed for large VARs to obtain posterior draws of the model parameters. This approach requires approximately 3.6 billion draws from $\mathcal{U}(\mathbf{O}(n))$ to obtain 1,000 admissible draws, and the estimation takes about 6 days on a standard desktop. In contrast, the new algorithm requires only about 31,000 draws from $\mathcal{U}(\mathbf{O}(n))$ to obtain 1,000 admissible draws, and the entire exercise takes about 16 seconds.\footnote{In this illustration there are far more variables than identified structural shocks. One might wonder how the proposed algorithm behaves in applications when the difference between the numbers of variables and structural shocks is small, as there are fewer `free' columns to potentially represent structural shocks. It is expected in those cases that the proposal algorithm will take more candidate draws to obtain one admissible draw. However, the speed-up relative to the benchmark remains the same---the cardinality of $\mathcal{E}(\boldsymbol \Sigma, \mathbf{Q})$ is still $2^n n\!$. As an example, we replicate the original application in FRS19 that uses a 6-variable VAR to identify 5 structural shocks and one `residual' shock. The benchmark requires over 9 million candidate posterior draws and takes 4 minutes to obtain 1,000 admissible draws, whereas the proposed algorithm requires only 2 seconds and takes 21,000 candidate posterior draws.}

Next, we empirically verify that the impulse responses obtained from the two algorithms are the same. In particular, Figure (ref) reports the impulse responses of 6 variables to a one-standard-deviation financial shock, obtained using the algorithm of RWZ10, and Figure (ref) reports those from the proposed algorithm. As expected, the impulse responses obtained using the two algorithms are identical. Thus, these results highlight the utility of the proposed algorithm: it provides the same impulse responses but is several orders of magnitude more efficient than the benchmark.

figure[figure omitted — 262 chars of source]
figure[figure omitted — 304 chars of source]

Dynamic Sign Restrictions: Replication of Uhlig05

Next, we demonstrate how the proposed algorithm can be applied in settings with both static and dynamic sign restrictions. More specifically, we consider the application in Uhlig05 that uses a 6-variable VAR to identify the monetary policy shock. The 6 monthly variables are industrial production, CPI, a commodity index (S&P GSCI), total reserves, nonborrowed reserves and the effective federal funds rate. All variables are sourced from the FRED database maintained by the Federal Reserve Bank of St. Louis, except for the commodity index, which is obtained from S&P Capital IQ. The federal funds rate is not transformed, whereas all other variables are in log. The sample period is from December 1969 to December 2007.

To identify the monetary policy shock, we follow Uhlig05 and assume that the responses of prices and nonborrowed reserves are nonpositive and the responses of federal funds rate are nonnegative on impact and for the first 5 months. To implement the proposed approach to this setting with dynamic restrictions, we first use Algorithm 1 to obtain admissible draws that satisfy the required sign restrictions on impact. We then check if the impulse responses also satisfy the required sign restrictions for the first 5 months. If so, we accept the draw; otherwise, we obtain another admissible draw using Algorithm 1 and repeat the procedure until a draw is accepted. As a comparison, we also implement the algorithms of RWZ10 and Read22.\footnote{We adapt the code provided by Read22 to our setting. In particular, we run his Algorithm 2 to draw uniformly the first column of $\mathbf{Q}$ given one set of posterior draws, after using Algorithm 1 to check whether the admissible set is empty.} Table (ref) reports the computation time to obtain 5,000 posterior draws using the three algorithms.

table[table omitted — 378 chars of source]

To get 5,000 admissible draws that satisfy all the static and dynamic sign restrictions, the approach of RWZ10 takes about 14 minutes, whereas the algorithm of Read22 takes about three minutes. In contrast, the proposed algorithm is substantially faster than both approaches and takes only one minute. To verify that all three algorithms generate from the same target distribution, we compute the dynamic responses of the 6 variables to the identified monetary policy shock. The impulse-response functions are provided in Appendix B. The three methods give virtually identical impulse responses; they are also similar to those reported in Uhlig05.

Computational Efficiency in High-Dimensional Settings

The purpose of this subsection is to compare the computational efficiency of the proposed algorithm relative to RWZ10 in high-dimensional setting using simulated data. More specifically, we generate datasets with different numbers of variables ($n=10,30,50)$ and structural shocks ($m=5,8$), while fixing the sample size $T=200$ and lag length $p=5$ for all simulations.

For each $(n,m)$ combination, we generate a dataset from the VAR in (ref)-(ref) as follows. First, we draw the intercepts independently from the uniform distribution on the interval $(-1,1)$, i.e., $\mathcal{U}(-1, 1)$. For the VAR coefficients, the diagonal elements of the first VAR coefficient matrix are iid $\mathcal{U}(0,0.5)$ and the off-diagonal elements are from $\mathcal{U}(-0.2,0.2)$; all other elements of the $j$-th ($j > 1$) VAR coefficient matrices are iid $\mathcal{N}(0,0.1^2/j^2).$ Finally, to construct the impact matrix $\mathbf{B}_0$, we first draw the diagonal elements from iid $\mathcal{U}(0.5,1.5)$, and the off-diagonal elements from iid $\mathcal{N}(0,1)$. We then store them and change the signs of the elements in $\mathbf{B}_0$ to match the set of restrictions specified in each case.

Given a dataset, we then estimate the model using the proposed algorithm and the benchmark, together with the direct posterior sampler of chan22 designed for large VARs. Each algorithm is run for 10,000 seconds, and we record the numbers of posterior draws and admissible draws (i.e., those posterior draws that satisfy all the structural restrictions). The results are reported in Table (ref). The top panel refers to the case where only sign restrictions are used (and the set of sign restrictions satisfies Assumption 1); the middle panel considers the case where three additional ranking restrictions are added; lastly, the bottom panel considers the case with both static sign restrictions (as in the top panel) and dynamic sign restrictions (on the first shock at horizon $H=1$).

The results show that as the number of sign restrictions increases, the number of admissible draws obtained---given a fixed number of candidate draws---decreases for both algorithms. This is not surprising because the computational bottleneck of obtaining admissible draws lies in the fact that the set $\mathcal{Q}(\mathbf{A},\boldsymbol \Sigma, \mathcal{S})$ becomes thinner when more restrictions are imposed. In many cases with large $n$ or large $m$, the sampling efficiency of the benchmark deteriorates so quickly that it becomes infeasible. In contrast, the proposed method remains capable of obtaining a large number of admissible draws for large $n$ and $m$ in a reasonable amount of time. Finally, the bottom panel shows that both algorithms slow down considerably when dynamic restrictions are added. Nevertheless, the proposed algorithm can still generate a reasonable number of admissible draws in such hard cases.

table[table omitted — 3,387 chars of source]

A 35-Variable VAR of the US Economy

To showcase the usefulness of the proposed algorithm, we consider an application that involves a 35-variable VAR with sign and ranking restrictions to identify 8 structural shocks, namely, demand, investment, financial, monetary policy, government spending, technology, labor supply and wage bargaining. The list includes many standard macroeconomic and financial variables, such as national accounts variables, various inflation indexes and interest rates, labor market variables, oil and stock prices. These variables are broadly similar to those used in Crumpetal21 and are closely monitored by the Federal Reserve Staff and professional forecasters.

There are several reasons in favor of using a large set of macroeconomic and financial variables in structural analysis. First, a large system provides a convenient and unified framework to investigate the impacts of multiple structural shocks simultaneously. In particular, it allows the researcher to tease out the impacts of different structural shocks---such as different types of demand and supply shocks---and their individual contributions to macroeconomic fluctuations.

Second, it mitigates the concern of informational deficiency of using a limited information set, as pointed out in a series of influential papers by HS91 and LR93, LR94. By using a larger set of relevant variables, one can close the gap between the set of variables considered by the economic agent and that considered by the econometrician, thus alleviating the concern of non-fundamentalness gambetti21.

Third, as argued in LMW22, the mapping from variables in an economic model to the data is typically not unique. For example, one could match the economic variable `inflation' to data based on the CPI, PCE, or the GDP deflator. One natural way to avoid an arbitrary choice is to include multiple data series corresponding to the same economic variable in the analysis.

The list of variables and the structural restrictions are given in Table (ref).\footnote{Most variables are transformed by taking logs and multiplying 100, while others such as interest rates and unemployment rates are not transformed and are in percentages.} The top part of the table lists the sign restrictions whereas the lower part lists the ranking restrictions. For example, the row labeled `Government spending/GDP' lists the signs of the differences in impacts on government spending and GDP from each structural shock. In particular, the $+1$ in the government spending column indicates that the impact from government spending shocks on government spending is larger than the impact on GDP. It can be easily verified that the set of restrictions in Table (ref) satisfies Assumption (ref).

table[table omitted — 3,161 chars of source]

For large-$n$ systems it becomes necessary to regularize the large number of VAR coefficients (e.g., a 35-variable VAR with 5 lags has 6,125 VAR coefficients). Here we use the asymmetric conjugate prior and the direct sampling approach proposed in chan22 to obtain posterior draws from the 35-variable VAR. Unlike the conventional natural conjugate prior, which does not permit cross-variable shrinkage (i.e., asymmetric shrinkage of own lags and lags of other variables), this new prior is more flexible and can be used, e.g., to shrink coefficients on the other variables’ lags more aggressively to zero. At the same time, this new prior maintains many useful analytical results of the traditional natural conjugate prior, such as a closed-form expression of the marginal likelihood, and allows direct, independent sampling from the posterior distribution instead of using MCMC methods. The key step in formulating this new prior is to reparameterize the VAR in a recursive structural form with a diagonal error covariance matrix. Then, one can show that if the reduced-form error covariance matrix has a standard inverse-Wishart prior, then the implied prior on the structural-form impact matrix and error variances is a product of normal-inverse-gamma densities, which is conjugate for the likelihood.

Using this asymmetric conjugate prior, we obtain the values of the optimal shrinkage hyperparameters on the VAR coefficients by maximizing the marginal likelihood of the model. Then, we use Algorithm (ref) to obtain 1,000 admissible draws that satisfy all the sign and ranking restrictions. For this 35-variable VAR with over 100 sign and ranking restrictions, the entire exercise takes about 14 minutes and requires 557,000 draws from $\mathcal{U}(\mathbf{O}(n))$.

Figures (ref)--(ref) report the impulse responses of 6 selected variables to the (one-standard-deviation) demand, investment and financial shocks. As expected, these demand-type structural shocks raise output, short-term interest rate and inflation, while lowering both unemployment rate and real wage, at least in the short-run. Compared to the generic demand shock, both investment and financial shocks have a more substantive impact on nonresidential investment.

figure[figure omitted — 215 chars of source]
figure[figure omitted — 227 chars of source]
figure[figure omitted — 224 chars of source]

Compared to the results from the 15-variable VAR described in Section (ref), responses of the overlapping variables in the 35-variable VAR tend to be smaller in magnitude, but are otherwise very similar. For example, Figure (ref) reports the impulse responses of 6 selected variables from both VARs to a financial shock.\footnote{To obtain comparable results, we restrict the sample for the 35-variable VAR to the period from 1985Q1 to 2019Q4, so that it is the same as the setup in the 15-variable VAR.} Consistent with earlier results reported in FRS19 and chan22, we find a relatively large effect on GDP and a smaller impact on prices; and both the responses of investment and stock prices are persistent. However, with more variables and sign restrictions to pin down the structural shocks, the credible bands from the 35-variable VAR tend to be narrower (more results are provided in Appendix B).

figure[figure omitted — 283 chars of source]

Next, Figures (ref) and (ref) plot the impulse responses of the same variables to the monetary policy shock and the government spending shock. A contractionary monetary policy shock depresses output and inflation, while raising the unemployment rate and the real wage. In contrast, an expansionary government spending shock mostly raises inflation and short-term interest rate, and has negligible effects on output, unemployment or the real wage.

figure[figure omitted — 228 chars of source]
figure[figure omitted — 224 chars of source]
figure[figure omitted — 227 chars of source]
figure[figure omitted — 231 chars of source]
figure[figure omitted — 240 chars of source]

Finally, Figures (ref)--(ref) report the impulse responses of the 6 variables to the 3 supply-type structural shocks: technology, labor supply and wage bargaining shocks. While all 3 supply-type structural shocks raise output and depress inflation, the technology shock has the largest impact on these two variables. In addition, the technology shock substantially increases real wage over a relatively long horizon, whereas the other two structural shocks have transient and negligible impacts on real wage.

Overall, this application demonstrates that it is practical to study the impacts of multiple structural shocks jointly in a large VAR. Using a large number of sign and ranking restrictions to identify different structural shocks, we are able to disentangle their differential effects on key macroeconomic variables.

Concluding Remarks and Future Research

Two recent developments have motivated our paper: the recognition of the need to include a large number of variables in structural analysis and the desire to use more credible structural restrictions to identify structural shocks. In response to these developments, we have introduced an efficient approach for estimating large VARs identified using a large number of sign and ranking restrictions on the impulse responses. We showed that the new approach is several orders of magnitude more efficient than the benchmark, reducing the computational time from days to seconds. We illustrated the methodology using a 35-variable VAR with sign and ranking restrictions to identify 8 structural shocks.

For future research, it would be useful to extend the proposed algorithms to impose both inequality and zero restrictions ARRW18, where the latter may arise in proxy VARs CH19. One possibility is to incorporate the Gibbs sampling approach developed in Read22 to draw the orthogonal matrix directly subject to zero and dynamic sign restrictions. Specifically, in higher dimensional settings, his algorithm could be used to draw the columns of $\mathbf{Q}$ that are subject to zero or dynamic restrictions, whereas the proposed algorithm could then be applied to other columns that are not subject to zero or dynamic restrictions. It would also be interesting to incorporate richer prior information on the impact matrix or, more generally, impulse responses, as advocated in BH15 and BP23.