Sequential Monte Carlo

Sequential Monte Carlo methods in Bayesian joint models for longitudinal and time-to-event data. Available: (accessed 27 Dec, 2019)

This package implements the Sequential Monte Carlo (SMC) sampling algorithm, an alternative to Metropolis Hastings Markov Chain Monte Carlo sampling for approximating posterior distributions. The SMC algorithm implemented here is based upon Edward Herbst and Frank Schorfheide’s paper “ Sequential Monte Carlo Sampling for DSGE Models” and the code accompanying their book, Bayesian Estimation of DSGE Models. More information and the original MATLAB scripts from which this code was derived can be found at Frank Schorfheide’s website.

This implementation features what we term generalized tempering for “online” estimation, as outlined in our recent paper, “ Online Estimation of DSGE Models.” For a broad overview of the algorithm, one may refer to the following Liberty Street Economics article.

Comments and suggestions are welcome, and best submitted as either an issue or a pull request. ☝️

Installation and Versioning

SMC.jl is a registered Julia package in the general registry, compatible with Julia v0.7, v1.0, and v1.1. To install it, open your Julia REPL, type ] to enter the package manager, and run

pkg> add SMC


The package requires our auxiliary package, ModelConstructors.jl, which contains useful data structures for creating custom models (e.g. Parameter, State, Observable, Setting types).

For examples of how to set up a model in the form SMC can estimate, see scripts in the examples/ folder.

Ph.D. Student in Economics

I am an Economics Ph.D. candidate at MIT, and former Senior Research Analyst on the dynamic stochastic general equilibrium (DSGE) team in the Macroeconomic and Monetary Studies function at the NY Fed. Views expressed are my own.