What’s this about?

Dynamic stochastic general equilibrium (DSGE) models are used in macroeconomics to describe the structure of the economy. These models consist of systems of equations that are derived from economic theory. In these models, expectations of future variables play an important role in determining the values of variables today. The close connection to economic theory and the presence of expected future variables distinguish DSGE models from other models for multiple time series such as vector autoregressions.

Different DSGE models focus on different parts of the economy, and macroeconomists use these models to evaluate the impact of policy on economic outcomes such as output growth, inflation, and interest rates. A DSGE model can nest multiple theories, with the estimated parameter values shedding light on which theory provides a better fit to the data.

Stata’s new dsge command estimates the parameters of DSGE models that are linear in the variables but potentially nonlinear in the parameters.

 

Let’s see it work

A DSGE model might propose relationships among economic variables like inflation, the interest rate, and the output gap. Some of these variables will be observable, like inflation; others will be unobservable, like the output gap. These variables will be linked by a system of equations. Different theories propose different forms of the equations, and parameter estimates can help us discriminate among theories. Some of these equations will feature forward-looking elements, so expectations of future economic developments affect variables in the current period. The model will be driven by shocks, and these shocks will feed into the model through state variables.

A small DSGE model with all of these features looks like this:

dsge    (x = E(F.x) - (r - E(F.p) - z), unobserved)
        (p = {beta}*E(F.p) + {kappa}*x)
        (r = 1/{beta}*p + u)
        (F.z = {rhoz}*z, state)
        (F.u = {rhou}*u, state)

The model consists of five equations.

 

The first three are the equations for the output gap x, the inflation rate p, and the interest rate r.

 

In the first equation, the output gap depends on its own expected future value, the interest rate, and expected future inflation.

In the second equation, inflation depends on expected future inflation and the output gap.

In the third equation, the interest rate depends on inflation.

 

These variables depend on each other, on expectations of future values of each other, and on two unobserved state variables z and u.

State variables represent unobservable driving processes and macroeconomists like to give these processes interpretations. In this model, variable z is referred to as the natural rate of interest and u is referred to as describing the stance of monetary policy. From the third equation, we can see that u represents all movements in the interest rate other than those induced by a change in inflation. The last two equations specify stochastic processes for z and u.

 

We estimate the parameters of the model using US data on inflation and interest rates.

 

. dsge    (x = E(F.x) - (r - E(F.p) - z), unobserved)
          (p = {beta}*E(F.p) + {kappa}*x)
          (r = 1/{beta}*p + u)
          (F.z = {rhoz}*z, state)
          (F.u = {rhou}*u, state)


DSGE model

Sample: 1955q1 - 2015q4                         Number of obs     =        244
Log likelihood = -753.57131

OIM
Coef. Std. Err. z P>|z| [95% Conf. Interval]
/structural
beta .514668 .078349 6.57 0.000 .3611067 .6682292
kappa .1659046 .047407 3.50 0.000 .0729885 .2588207
rhoz .9545256 .0186424 51.20 0.000 .9179872 .991064
rhou .7005492 .0452603 15.48 0.000 .6118406 .7892578
sd(e.z) .6211208 .1015081 .4221685 .820073
sd(e.u) 2.3182 .3047433 1.720914 2.915486

Two of the parameters can be interpreted in terms of economic theory.

The parameter kappa is known as the slope of the Phillips curve. Some theories predict it will be zero, and others predict it will be positive.

The other parameter is 1/beta, which appeared in the third equation of the dsge command we typed,

 

        dsge    (x = E(F.x) - (r - E(F.p) - z), unobserved)
                (p = {beta}*E(F.p) + {kappa}*x)
                (r = 1/{beta}*p + u)
                (F.z = {rhoz}*z, state)
                (F.u = {rhou}*u, state)

The coefficient on inflation in the interest rate equation—1/beta—is known as the inflation response coefficient. The point estimate for 1/beta is 1/0.515 or about 2, in line with results from the literature.

An impulse–response function traces out how a shock to a state variable feeds through the model. We mentioned before that the state variable u can represent the stance of monetary policy. Let’s see how an unexpected tightening of monetary policy — a surprise increase in interest rates — influences other variables.

 

. irf set dsgeirf, replace

. irf create model1, replace

. irf graph irf, impulse(u) response(x p r u) byopts(yrescale)


dsgeirf

 

In the top-left graph, we see that the monetary tightening leads to a rise in interest rates. As a result, inflation falls (top-right graph) and the output gap falls (bottom-left graph). The model predicts a recession in response to a surprise increase in the interest rate.

 

Tell me more

Learn more about Stata’s linearized DSGE features.

Read more about DSGE and see several worked examples in the Stata Linearized DSGE Reference Manual.