This is a first go at using a computer algebra system (SymPy) to explore the formal steady state of a Stock-Flow Consistent model. For this, I use a simplified five-equation version of Godley and Lavoie’s (2007) Model SIM. For more information, see my previous posts here and here.

## Model

Assume a closed economy with no investment such that national income, $Y$, in time $t$ consists of household final consumption expenditure, $C$, and government expenditure, $G$:

$$\tag{1} Y_t = C_t + G_t$$

Government expenditure $\left( G \right)$ is exogenous. Consumption $\left( C \right)$ depends on current disposable income, $YD$, and accumulated wealth, $H$ (from the previous period):

$$\tag{2} C_t = \alpha_1 \cdot YD_t + \alpha_2 \cdot H_{t-1}$$

$\alpha_1$ and $\alpha_2$ are the marginal propensities to consume out of disposable income $\left( YD \right)$ and wealth $\left( H \right)$, respectively.

Disposable income $\left( YD \right)$ is national income $\left( Y \right)$ minus taxes, $T$, which are levied at a fixed proportion, $\theta$:

$$\tag{3} YD_t = Y_t - T_t$$

$$\tag{4} T_t = \theta \cdot Y_t$$

Households accumulate savings from the difference between their disposable income $\left( YD \right)$ and their expenditure $\left( C \right)$:

$$\tag{5} H_t = H_{t-1} + YD_t - C_t$$

## Numerical solution

We can use FSIC to define and then solve the model numerically (see my earlier post for details of the syntax):

Simulate the model over a long enough period for it to achieve its stationary state (at which the values of the variables in levels are constant):

We can then reproduce the main elements of Table 3.4 from Godley and Lavoie (2007) (‘The impact of \$20 of government expenditures, with perfect foresight’).

While I’ve made no changes to FSIC for this post, I have added a new module to accompany the core library: fsictools. This provides the to_dataframe() function from an earlier post.

$$1$$ $$2$$ $$3$$ $$\infty$$
$$G$$ 0.0 20.0 20.0 20.0
$$Y$$ 0.0 38.5 47.9 100.0
$$T$$ 0.0 7.7 9.6 20.0
$$YD$$ 0.0 30.8 38.3 80.0
$$C$$ 0.0 18.5 27.9 80.0
$$H$$ 0.0 12.3 22.7 80.0
$$\Delta H$$ 0.0 12.3 10.4 0.0

By the one-hundredth period, the model has achieved a stationary state at which the values of the variables in levels are constant. The period-on-period change in household wealth is zero.

## Analytical solution

Model SIM is small and thus amenable to more formal algebraic analysis of its properties. The remainder of this post replicates key results from Section 3.5 of Godley and Lavoie (2007) using SymPy. I’m new to computer algebra systems so this is both a first go and a note of my early learnings.

Define the system of equations in SymPy. Below, I use 1 as a suffix to indicate the one-period lag on wealth $\left( H \right)$.

$$Y = C + G$$

$$C = H_{1} \alpha_{2} + YD \alpha_{1}$$

$$YD = - T + Y$$

$$T = Y \theta$$

$$H = - C + H_{1} + YD$$

At the model’s stationary state, the values of the variables are constant in levels. As in the above numerical solution, the change in wealth should be zero:

$$\Delta H_t = H_t - H_{t-1} = 0$$

$$H_t = H_{t-1} = H_{t-2} = H_{t-3} = \dots$$

We can impose this on the system by replacing instances of H1 (the one-period lag of wealth) with H (the contemporaneous value of wealth):

$$Y = C + G$$

$$C = H \alpha_{2} + YD \alpha_{1}$$

$$YD = - T + Y$$

$$T = Y \theta$$

$$H = - C + H + YD$$

We can solve for the stationary state with linsolve() and inspect the values:

$$Y = \frac{G}{\theta}$$

$$C = - \frac{G \left(\theta - 1\right)}{\theta}$$

$$YD = - \frac{G \left(\theta - 1\right)}{\theta}$$

$$T = G$$

$$H = \frac{G \left(\alpha_{1} - 1\right) \left(\theta - 1\right)}{\alpha_{2} \theta}$$

As in Equation 3.15 of Godley and Lavoie (2007), the stationary state for national income (the first result, $Y$) is:

$$Y^{\star} = \frac{G}{\theta}$$

$\frac{G}{\theta}$ represents the fiscal stance: the ratio of government expenditure to its income share (also as in Godley and Cripps, 1983).

The expressions for household final consumption expenditure $\left( C \right)$ and disposable income $\left( YD \right)$ are the same. The two are equal. This is consistent with (but, here, also follows from) there being no change in wealth at the stationary state. With slight rearrangement:

$$C^{\star} = YD^{\star} = G \cdot \frac{1 - \theta}{\theta}$$

At the stationary state, tax revenues $\left( T \right)$ match government expenditures $\left( G \right)$ such that government debt (the mirror image of household wealth) is constant.

Finally, the level of household wealth (or, conversely, government debt) is, again with some rearrangement:

$$H^{\star} = \frac{1 - \alpha_1}{\alpha_2} \cdot G \cdot \frac{1 - \theta}{\theta} = \alpha_3 \cdot G \cdot \frac{1 - \theta}{\theta} = \alpha_3 \cdot YD^{\star}$$

$$\alpha_3 = \frac{1 - \alpha_1}{\alpha_2}$$

#### Update 05/01/2020

Having solved for the endogenous variables at the model’s stationary state, we can substitute in the numerical values of the exogenous variables to check that the analytical solution matches our numerical solution above.

$$\displaystyle Y = 100.0$$

$$\displaystyle C = 80.0$$

$$\displaystyle YD = 80.0$$

$$\displaystyle T = 20.0$$

$$\displaystyle H = 80.0$$

See here for this post as a Jupyter notebook along with supporting Python code.

## References

Godley, W., Cripps, F. (1983) Macroeconomics, Oxford University Press

Godley, W., Lavoie, M. (2007) Monetary economics: An integrated approach to credit, money, income, production and wealth, Palgrave Macmillan