My current research develops scalable Bayesian methods for large vector autoregressions (VARs) used in macroeconomic forecasting and structural analysis. The key design goal is to make rich features that are important in small VARs (shrinkage, stochastic volatility, and time variation) practical in high-dimensional systems.

Start Here

If you are new to large Bayesian VARs, two good entry points are my book chapter on large Bayesian VARs, which comes with examples and code, and my handbook chapter BVARs and Stochastic Volatility, an overview of the stochastic volatility specifications for large VARs. I suggest reading about (i) shrinkage priors first, then (ii) flexible covariance structures, and then (iii) the choice of stochastic volatility specification and time variation.

The code for the papers below is collected on GitHub in bvar-toolkit, which archives each package as it is distributed on my code page and factors the machinery the packages share — the samplers, the shrinkage priors, the marginal likelihood estimators — into a documented library. Its fourteen MATLAB examples, from the precision sampler to a mixed-frequency VAR, are a good way to learn the models and methods, and its tutorials apply them to one empirical question each:

The toolkit's how-to guides show how to turn a model's equations into working MATLAB code with its core functions, step by step, on small examples with generated data:

Each code page names the paper to cite, and the toolkit's CITING.md maps each method to its paper.

Hierarchical Shrinkage Priors

Large VARs have many parameters, and strong shrinkage is essential for good forecasting and stable inference. I have developed flexible hierarchical priors that are easy to use and perform well in high-dimensional macroeconomic forecasting problems.

Asymmetric Conjugate Priors for Large Bayesian VARs
Joshua Chan (2022), Quantitative Economics, 13(3): 1145-1169
[ Journal Version | Working Paper | Code | Tutorial ]

Chan (2022) proposes an asymmetric conjugate prior for large Bayesian VARs. Unlike the standard natural conjugate prior that rules out cross-variable shrinkage, this prior allows coefficients on lags of other variables to be shrunk more aggressively than coefficients on own lags. The marginal likelihood is available in closed form, which makes selecting lag length and shrinkage hyperparameters straightforward (e.g., by maximizing the marginal likelihood).

Minnesota-Type Adaptive Hierarchical Priors for Large Bayesian VARs
Joshua Chan (2021), International Journal of Forecasting, 37(3): 1212-1226
[ Journal Version | Working Paper | Code | Toolkit ]

Chan (2021) introduces Minnesota-type adaptive hierarchical priors that combine useful features of global-local shrinkage and Minnesota priors. These priors strongly shrink only small coefficients towards zero while leaving large coefficients relatively intact. They also naturally incorporate cross-variable shrinkage and stronger shrinkage on higher lags.

Time Variation and Stochastic Volatility

In many macroeconomic applications, time-varying parameters and stochastic volatility are empirically important. My coauthors and I have developed scalable models and estimation algorithms that can be used in large systems.

Large Hybrid Time-Varying Parameter VARs
Joshua Chan (2023), Journal of Business and Economic Statistics, 41(3): 890-905
[ Journal Version | Working Paper | Code | Toolkit ]

Chan (2023) develops an efficient Bayesian sparsification method for large hybrid time-varying parameter VARs with stochastic volatility. The method decides, equation by equation, whether VAR coefficients and contemporaneous relations are constant or time-varying. Using US datasets of various dimensions, we find evidence that parameters in some (but not all) equations are time varying.

Comparing Stochastic Volatility Specifications for Large Bayesian VARs
Joshua Chan (2023), Journal of Econometrics, 235(2): 1419-1446
[ Journal Version | Working Paper | Code | Tutorial ]

Chan (2023) compares several stochastic volatility specifications for large Bayesian VARs, including common stochastic volatility, Cholesky stochastic volatility, and factor stochastic volatility, and develops Bayesian model comparison methods to select among them. This paper is intended to be a default reference for selecting SV specifications in large BVARs.

Large Order-Invariant Bayesian VARs with Stochastic Volatility
Joshua Chan, Gary Koop and Xuewen Yu (2024), Journal of Business and Economic Statistics, 42(2): 825-837
[ Journal Version | Working Paper | Code | Tutorial ]

Chan, Koop and Yu (2024) develop an order-invariant Bayesian VAR with stochastic volatility, addressing the well-known sensitivity of multivariate stochastic volatility models to variable ordering. This issue becomes particularly severe in large VARs. We propose a specification that is invariant to ordering and scalable to high dimensions. In a macroeconomic forecasting exercise involving VARs with 20 variables, the order-invariant approach delivers superior forecast performance relative to conventional, order-dependent specifications.

Large Bayesian VARs: A Flexible Kronecker Error Covariance Structure
Joshua Chan (2020), Journal of Business and Economic Statistics, 38(1): 68-79
[ Journal Version | Working Paper | Code | Tutorial ]

Chan (2020) introduces a family of large VARs with flexible covariance structures, allowing for non-Gaussian, heteroscedastic, and serially dependent innovations. In particular, the version with common stochastic volatility and t-distributed innovations can handle large outliers such as those observed during the COVID-19 pandemic.

Reducing the State Space Dimension in a Large TVP-VAR
Joshua Chan, Eric Eisenstat and Rodney Strachan (2020), Journal of Econometrics, 218(1): 105-118
[ Journal Version | Working Paper | Code ]

Chan, Eisenstat and Strachan (2020) develop a large time-varying parameter structural VAR where the VAR coefficients and multivariate stochastic volatility are formulated as a singular state space model. The singular representation reduces the state dimension and implies a factor-like structure, which makes the model more parsimonious and computationally tractable in large systems.

Model Comparison and Computation

Large VARs with stochastic volatility are costly to estimate and to compare. The papers below develop fast and accurate methods for both.

Bayesian Model Comparison for Large Bayesian VARs after the COVID-19 Pandemic
Joshua Chan, Xuewen Yu and Wei Zhang (2026), Journal of Econometrics, 256: 106072
[ Journal Version | Working Paper | Code ]

Chan, Yu and Zhang (2026) develop a marginal likelihood estimator that combines importance sampling with a variational approximation. It compares large VARs that differ in their time-varying volatility and in how they treat the COVID-19 outliers. In a Monte Carlo study the estimator is fast and identifies the correct models, and the application compares a variety of large VARs.

Fast and Accurate Variational Inference for Large Bayesian VARs with Stochastic Volatility
Joshua Chan and Xuewen Yu (2022), Journal of Economic Dynamics and Control, 143: 104505
[ Journal Version | Working Paper ]

Chan and Yu (2022) propose a variational approximation to the joint posterior distribution of the log-volatilities in a large Bayesian VAR. The approximation is global: it takes the entire support of the joint distribution into account. In a Monte Carlo study it is much more accurate than existing local approximations, and the application uses a large VAR with stochastic volatility to measure global bank network connectedness.

Corrigendum to: Large Bayesian Vector Autoregressions with Stochastic Volatility and Non-Conjugate Priors
Andrea Carriero, Joshua Chan, Todd Clark and Massimiliano Marcellino (2022), Journal of Econometrics, 227(2): 506-512
[ Journal Version | Working Paper | Code ]

Carriero, Chan, Clark and Marcellino (2022) correct the equation-by-equation algorithm of Carriero, Clark and Marcellino (2019) for large Bayesian VARs with stochastic volatility and non-conjugate priors. In the original algorithm, the conditional distributions of the VAR coefficients miss a term. The corrected algorithm includes it, uses the same factorization and has the same computational cost, so it still applies to large VARs.

Structural Analysis and Conditional Forecasts

Large VARs are also used to study the effects of structural shocks and to produce conditional forecasts. The papers below make sign and ranking restrictions and conditional forecasts practical in large systems.

Large Structural VARs with Multiple Sign and Ranking Restrictions
Joshua Chan, Christian Matthes and Xuewen Yu (2026), Quantitative Economics, 17(3): 709-740
[ Journal Version | Working Paper | Code | Tutorial ]

Chan, Matthes and Yu (2026) develop a numerically efficient algorithm for large structural VARs identified by many sign and ranking restrictions on impulse responses, where existing algorithms cannot be used. The application identifies eight structural shocks in a 35-variable VAR with over 100 sign and ranking restrictions.

Conditional Forecasts in Large Bayesian VARs with Multiple Equality and Inequality Constraints
Joshua Chan, Davide Pettenuzzo, Aubrey Poon and Dan Zhu (2025), Journal of Economic Dynamics and Control, 173: 105061
[ Journal Version | Working Paper ]

Chan, Pettenuzzo, Poon and Zhu (2025) introduce a precision-based sampler for conditional forecasts under multiple linear equality and inequality constraints. In a simulation study it produces the same forecasts as existing algorithms in a fraction of the time. The application imposes a mix of equality and inequality constraints on the future paths of key US macroeconomic indicators in a large Bayesian VAR.