File Exchange

## Automatic Solution and Log Linearisation of DSGE Models

version 1.3.0.0 (3.7 KB) by Tom Holden

### Tom Holden (view profile)

Code to analytically log linearise DSGE models in Matlab. Requires the symbolic toolbox.

Updated 04 Jun 2012

------------------------------------------------------------
PURPOSE: Performs log-linearisation.
------------------------------------------------------------
SYNTAX: result = LogLin( VarEndoNames, VarExoNames, Parameters, Equations, SolveMode, EvalMode, EvalString, Digits );
------------------------------------------------------------
EXAMPLE: result = LogLin( { 'R', 'A' }, { 'EPSILON' }, { 'beta', 'rho' }, { 'beta * R * A / A(+1) = 1', 'A = A(-1) ^ rho * exp( EPSILON )' }, 2, 2 );
------------------------------------------------------------
OUTPUT: result: a cell array of log-linearised equations, with __d appended to variable names that are deviations from steady state.
------------------------------------------------------------
INPUT: VarEndoNames: a cell array of endogenous variable names
% VarExoNames: a cell array of exogenous variable names
% Parameters: a cell array of parameter names
% Equations: a cell array of equations, in Dynare notation
% SolveMode: specifies how the steady state is found
% SolveMode = 1 ---> the steady state is found analytically
% SolveMode = 2 ---> the steady state is found analytically, allowing all algebraic manipulations
% SolveMode = 3 ---> the steady state is found analytically, assuming real values
% SolveMode = 4 ---> the steady state is found numerically
% EvalMode: specifies any processing of the found equations
% EvalMode = 0 ---> no additional processing
% EvalMode = 1 ---> simplification
% EvalMode = 2 ---> simplification, allowing all algebraic manipulations
% EvalMode = 3 ---> numeric evaluation, to Digits precision
% EvalString: string of comma delimited equations, useful for specifying parameters or your own computed steady state values (e.g. 'beta=0.99,rho=1/2', or 'A=1')
Digits: (optional) the number of digits of accuracy for numerical compuations
------------------------------------------------------------
------------------------------------------------------------

### Cite As

Tom Holden (2020). Automatic Solution and Log Linearisation of DSGE Models (https://www.mathworks.com/matlabcentral/fileexchange/31693-automatic-solution-and-log-linearisation-of-dsge-models), MATLAB Central File Exchange. Retrieved .

LUKAS

Brian Dombeck

### Brian Dombeck (view profile)

Fix works - thank you Tom. I'm not sure how to revise my ratings below. I would give it 5/5 stars.

Tom Holden

### Tom Holden (view profile)

There's a fix for the bug mentioned by Brian here: https://gist.github.com/tholden/0cd1dc81a9b1233c719f63a87a705ada

Brian Dombeck

### Brian Dombeck (view profile)

Does not seem capable of handling equations without lags/leads, e.g. aggregate resource constraints. Useful as a check on log-linearization by hand.

Brian Dombeck

Tom Holden

### Tom Holden (view profile)

I personally use Dynare almost exclusively. This is just for the rare times when people on insist on working with a log-linearised model.

osvaldo

### osvaldo (view profile)

What's the difference (advantage or disadvantage), between this model and dynare, do you recomend to use it for large DSGE models, does it provide a log-linearization result as equation.