Skip to content

Model specification

albop edited this page Jan 2, 2013 · 3 revisions

This page describes how models are specified in dolo.

Model types

There are several ways to represent a DSGE model. Here we list some of them:

state-free approach

This approach is taken in Dynare and in most perturbation softwares. The model is specified by a vactorial function

[ f(y_{t+1},y_t,y_{t-1},\epsilon_t) = 0 ]

with the restriction that ( \epsilon_t ) and ( y_{t+1} ) cannot appear in the same equations. For this kind of models, the solver finds a solution ( g ) such that the law of motion of ( (y_t) ) is given by: ( y_t = g \left( y_{t-1}, \epsilon_t \right) )

controlled process variants

With these versions, the state-space is chosen by the user. A law of motion for the state-space must be specified (depending on the controls and on the shocks). And optimality conditions must be given to pin down all the controls. The model is specified by giving (g) and (f) such that:

[ s_t = g \left( s_{t-1}, x_{t-1}, \epsilon_t \right) ] [ f \left( s_t, x_t, s_{t+1}, x_{t+1} \right) ]

A sub-variant of this specification let the user choose equations to define expectations. This is useful for PEA approaches. The model is specified by giving (g), (f) and (h) such that:

[ s_t = g \left( s_{t-1}, x_{t-1}, \epsilon_t \right) ] [ f \left( s_t, x_t, z_t \right) ] [ z_t = E_t h \left( s_{t+1}, x_{t+1} \right) ]

Problems with these specifications:

When using global method, a basic requirement consists in limiting the size of the state-space to avoid the curse of dimensionality. But in some cases, it is not easy to do so. For instance consider the optimal savings decision, with a stochastic interest rate given by: [ r_t = rbar + \rho r_{t-1} + \epsilon_t ] If ( \rho \neq 0 ) , ( r_{t-1} ) belongs to the state-space in which case, the equation must be added to the states transitions. However, if there is no autocorrelation, this state is degenerated. In that case it is tempting to substitute the (r_{t+1}) in the forward equations and to write the model as:

[ s_t = g \left( s_{t-1}, x_{t-1}, \epsilon_t \right) ] [ f \left( s_t, x_t, s_{t+1}, x_{t+1}, \epsilon_{t+1} \right) ]

This require to be able to define auxiliary variables that are replaced in the forward equations.

Another possibility consists in adding the definition of (r_t) to the model equations and to write:

[ s_t = g \left( s_{t-1}, x_{t-1}, \epsilon_t \right) ] [ f \left( s_t, x_t, s_{t+1}, x_{t+1}, \epsilon_t \right) ]

but then how do we compute the expectations ?

Another problem: there can be variables that are defined in closed form as a function of the states today and tomorrow (and also depend on the controls) like ( v_{t+1} = q \left(s_t, x_t, s_{t+1}, x_{t+1} \right) ) (note the absence of expectation sign), and which appear in the optimality conditions ( f ). They don't make the computation of the solution harder, but I dont't see how they can be incorporated in the current type of models. A good example is the return rate on debt when there are two agents. Maybe we could add this kind of variables.

Clone this wiki locally