Solving DSGE models with first-order perturbation: what Dynare does

Please feel free to raise any comments or issues on the website’s Github repository. Pull requests are very much appreciated.



This is a video series and a didactic reference and in-depth review of first-order perturbation and how it is implemented in Dynare.

In the first part, we will go through the theory in a general framework also known as the Linear Rational Expectations model and cover the general idea, notation and approach to approximating the policy function of DSGE models at first-order. We will also implement the algorithm in MATLAB and compare it to the solution Dynare computes. So this part should enable you to understand the theory, intuition and approach of first-order perturbation techniques.

In part II of the series, we will then do an exact illustration of how Dynare computes the first-order perturbation solution by covering numerical tricks such as shrinking the size of the equations by using efficient linear algebra techniques and functions. We will then re-implement Dynare’s dyn_first_order_solver.m function in a slightly simplified, but more understandable manner and better notation to exactly replicate the first order solver.




  • Julliard (2022) - Introduction to Dynare and local approximation
  • Villemot (2011) - Solving rational expectations models at first order: what Dynare does