Friday, 12 June 2015

SFC / DSGE Hybrid

I did a little exercise recently trying to blend DSGE models with stock-flow consistent (SFC) models.  The basic idea was to take the accounting framework and policy set-up of an SFC model but use the behavioural assumptions of a DSGE model.  This is not because I think the behavioural assumptions of DSGE are better (I certainly don't); I'm just interested in seeing how it affects the results.

This post describes a simple hybrid model based on the SFC model called Model PC in Chapter 4 of Godley & Lavoie.  This consists of three sectors: households, the government and the central bank, and two assets: interest-bearing bonds and non-interest bearing money.  The flow of funds matrix for this model is shown below (for nominal amounts, with production shown as a separate column).  All rows and columns sum to zero.

Central Bank

Government spending




Bond interest

CB profit


Change in bonds

Change in money


As with G&L, fiscal policy consists of setting the level of real government expenditure and the tax rate applied to GDP.  Monetary policy consists of setting the interest rate which applies to bonds.  The change in household wealth depends on household saving (which must be equal to the government deficit).

Household behavioural assumptions are needed to determine two things: a) how much households save; and b) how much of their savings they want to hold as money rather than bonds.  All of the other flows then follow, given the policy assumptions and the accounting constraints.

This is where I depart from G&L.  Rather than using the usual SFC behavioural assumptions, what we want to do here is use functions  that are consistent with what appears in a typical New Keynesian DSGE model.  So the starting point will be to assume that households maximise expected utility over time where utility for period t is given by:

                βt  [ ln (ct) + ψ ln ( Ht / pt ) ]

That is utility depends on real consumption in the period and money holdings in the period.  from this we can derive functions for household expenditure and portfolio allocation.

The DSGE expenditure function depends critically on the expected real interest rate, which is derived from the nominal interest rate and expected inflation.  This is not a feature of Model PC in G&L, but if this exercise is to be at all meaningful, we need to have an inflation mechanism here.  So I've used the standard New Keynesian Phillips curve, which sets current inflation as a function of expected future inflation and current output.

A typical DSGE model will also include a central bank reaction function to set the nominal interest rate.  I can do this in the model (and might look at this a subsequent post) but here I want to take the nominal interest rate as fixed. 

With the interest rate fixed, I then wanted to look at the impact of a 5% permanent real increase in government spending.  The results are shown below (showing deviations from baseline values):

The first chart shows the increase in nominal GDP (relative to baseline).  This actually looks pretty similar to what you might expect from a regular SFC model, with a slow progression to a higher steady state.

Looking at what is going on behind this, however, we can see that the increase in real GDP is temporary, just as there is a temporary rise in inflation.  The fact that NGDP continues to rise after the first period therefore purely reflects the fact that the price level is rising.  As with a typical SFC model, the initial impact on real consumption is that it increases.  However, unlike in a typical SFC model, rather than then continuing to rise, real consumption here falls back to lower than its original level.

This is entirely a result of the assumption about consumer spending.  In particular, the DSGE assumption about infinite horizons means that the changing balance of household assets has no feedback effect on spending, something that is key to typical stock-flow dynamics.

Interestingly, the balance of household assets is doing the opposite here to what it would do in a SFC model.  Rather than a slow accumulation of assets, the real level of bonds falls to a new lower level.  This decline is mainly due to higher inflation eroding the real value of bonds (although the nominal level of bonds also falls slightly)

It is important to note that this fall in the real value of bonds must happen if the system is to arrive at a new steady state.  In steady state, the government budget must be balanced.  With a permanent increase in spending and taxes pegged by the natural level of output, this requires that the real interest service cost must fall.  As the real interest rate is dictated here by the natural rate, the thing that has to give is the real level of bonds.

Model Specification

I have consolidated the government and central bank here for simplicity.  It makes no difference to the results.

Output is the sum of consumption and government spending.

(1)          yt = ct + gt

The behavioural equations for consumption expenditure and money holdings are derived from the household utility function and budget constraint.

(2)          ct = E[ct+1] / ( β ( 1 + E[rt] ) )

(3)          Ht = ψ [ 1 + Rt ( 1 - τt ) ] / [Rt ( 1 - τt ) ] . ct . pt

The level of bonds held by households is given by the consolidated government budget constraint.

(4)          Bht = Bht-1 [ 1+ Rt ( 1 - τt ) ] + ( gt - τt . yt ) . pt - ( Ht - Ht-1 )

Inflation is based on expected future inflation and a measure of the output gap.  The price level is derived from this.

(5)          πt = ( E[πt+1] )β . ψ ytε

(6)         pt = pt-1 . πt

The real interest rate is based on the nominal interest rate and inflation.

(7)          rt = [ 1 + Rt ( 1 - τt ) ] / πt - 1

Expected values are set to be equal to actual outcomes, with the exception of the period when government spending is first changed.  The equations allow solutions where the real value of household assets tends to infinity (either positive or negative).   The solution with infinite negative household assets is excluded on a no Ponzi condition.  The solution within infinite household assets is excluded as it not consistent with the utility maximisation assumption.


Consumption expenditure
Government expenditure
Price level
Real interest rate
Real GDP
Household bond holdings
Household money holdings
Nominal interest rate on bonds
Tax rate

Solution Technique

The first stage of solution is finding the steady state real values.  Each period is then solved sequentially using the steady state values as expected values for everything except inflation.  Each period is then solved again using the previous results for expected values (apart from inflation).  In each case expected inflation is estimated using a version of the fiscal theory of the price level, where expected future surpluses are discounted at the expected future effective rate on government debt and compared with the nominal value outstanding.  The whole process is repeated until the expectation errors on all variables is sufficiently small.


  1. Nick, two questions:
    - is the tax rate constant?
    - shouldn't eq. 7 be: rt = [ 1 + Rt ( 1 - τt ) ] / ( 1 + πt) - 1 ?


    1. And a remark: it seems to me that the household budget constraint is given by the consolidated government budget constraint, as they add up to zero (and eq. 3 is a portfolio function)


    2. And shouldn't it be: pt = pt-1 . ( 1 + πt)

    3. Hi Anton,

      The tax rate is an exogenous variable here. I set it up to allow for this to be varied, but it is fixed in the simulation shown.

      I have used inflation to mean p(t) / p(t-1), rather than p(t) / p(t-1) -1 here, because that's how it's usually expressed in the NK Phillips curve. I should have mentioned that in the post, though. Sorry.

      Yes - the household budget constraint is exactly the same as the public sector budget constraint. They are really the same thing. Eq 3 is the behavioural equation for money holdings.