<commit_before>---
layout: blog-fullwidth
title: "Spending, income and the circular flow of money"
subheadline: "The simplest economic model conceivable"
tags: [economics, money, python, code, model, velocity of money, fixed money supply]
date: 2016-06-04
category: "monetary_economics"
ipython_notebook: true
---

<div class="text_cell_render border-box-sizing rendered_html">
<p>This is the first in what I hope to be a series of posts on modelling the economy. My intention is to explore economic modelling using a bit of theory, a bit of code, and some attempt to understand the results intuitively. I'll use the Python programming language to do this and describe and share all of the code. I was motivated to do this by reading <a href="http://www.palgrave.com/us/book/9780230301849">Monetary Economics</a> by <NAME> and <NAME>, which describes increasingly complex models of the monetary economy in great detail. I am actually only about halfway through the book and decided to consolidate what I had learned so far. This post, and probably the next few, actually steps back from the starting point of Godley & Lavoie and describes a much simpler model in an attempt to isolate and identify some of the fundamental components and processes which contribute to the behaviour of the economy. This post shows that:</p>
<ul>
<li>Income and money are separate concepts. Money is a stock, income is a flow (measured per unit of time)</li>
<li>Income is identically equal to spending, since these flows form two sides of every transaction</li>
<li>Total income over some time period is generated by a given stock of money circulating at a certain rate (termed the &quot;velocity of money&quot;)</li>
<li>In an economy with a fixed money supply and wherein all income is spent, total income is constant over time</li>
</ul>
</div>

<!--more-->

<div class="text_cell_render border-box-sizing rendered_html">
<p>Whole economies are (obviously, very) complex. They involve the aggregate economic decisions and actions of individuals, businesses, banks and governments. They include concepts such as money, prices (or inflation), government spending and taxation, public and/or private debt together with interest rates, as well as trade with other economies. Each of these may be of interest in their own right but their effect on overall income levels (and therefore living standards) might also be of primary interest. Ultimately, a sufficiently detailed model might seek to represent each of these concepts (and more). But understanding such complexity is easiest when it is broken down into simpler units. Therefore, we'd better pick a simple starting point and try to build up the complexity incrementally.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="A-very-simple-economy">A very simple economy<a class="anchor-link" href="#A-very-simple-economy">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>So, what is the simplest model of a monetary economy that can be conceived? What definitely needs to be represented, and what could potentially be left out? Here, we'll attempt to omit as much as possible. We'll assume no government, businesses or banks exist. We'll also assume that nobody is interested in saving or trading with external economies. Instead all that happens is that citizens trade with each other. And we'll assume that there is a fixed amount of money in existence. What can we learn from such an economy?.</p>
<p>Okay, so we have some money. We don't know where it came from. Perhaps the money is gold or some other precious metal. Someone discovered it at some point and made it into coins. In any case, it doesn't matter for our purposes. We simply assume it exists and is distributed across the population in some fashion.</p>
<p>What happens with this money? Well, in this scenario, we're going for something incredibly simple. We're going to assume that people simply spend all of their income by buying things from their peers. In contrast to other possible ways of using money (that will be introduced in later models), we can call this form of spending <em>consumption</em>. So all our citizens use their money for is <em>consuming</em> goods and services.</p>
<p>We can formalise this by using some algebra. Let's identify consumption with the label <span class="math">\(C\)</span>, and income as <span class="math">\(Y\)</span>. Now we can make a mathematical statement about consumption in our economy:</p>
<p><span class="math">\[C = Y \hspace{1cm} (1)\]</span></p>
<p>This is our first <a href="https://en.wikipedia.org/wiki/Consumption_function"><em>consumption function</em></a> - a mathematical expression describing the spending behaviour of our citizens. This expression could be more complicated if we wanted to describe more sophisticated behaviour, but for now they simply spend whatever their income is, and therefore consumption is exactly equal to income. Equation (1) could be thought of as describing the spending behaviour of an individual (<em>average</em>) citizen. But the intention is really to represent the <em>aggregate</em> spending decisions of everybody together. Total consumption in the economy is equal to total income in the economy.</p>
<p>We can't really proceed with equation (1) on its own as it has two unknown quantities, <span class="math">\(C\)</span> and <span class="math">\(Y\)</span>. We need one more equation to fully specify our economy. In general we need the same number of equations as unknown quantities, and in particular we need to know something about income (<span class="math">\(Y\)</span>) if equation (1) is to be of any use. This is where we need to use a bit of thought. Lets imagine that we spend £10 on something. We can immediately make at least one logical deduction about the wider effect of that spending on the economy: <em>someone else just gained an income of £10</em>. This is true by virtue of the simple and obvious fact that spending is a two-way street, involving a buyer and seller, a spender and an earner. No transaction involves one person alone. In general, whenever there is an act of spending, we know that an equal amount of income has been generated in the economy, for someone, somewhere. And when many separate transactions occur over the whole economy, the total amount of income will be equal to the total amount spent.</p>
<p>We've already defined algebraic terms for spending (<span class="math">\(C\)</span>) and income (<span class="math">\(Y\)</span>), so let's write down what we've just logically derived:</p>
<p><span class="math">\[Y = C \hspace{1cm} (2)\]</span></p>
<p>Total income is equal to total spending. The total income of an economy is more or less synomymous with the <a href="https://en.wikipedia.org/wiki/Measures_of_national_income_and_output#Expenditure">Gross Domestic Product (GDP)</a>.</p>
<p>There. We now have two equations and two unknowns, so our economy is completely specified. There's a certain symmetry to these equations (to understate it considerably), and it might be straighforward to see what will (or rather, what won't) happen in this simple economy without resorting to a computer simulation. But we'll do it anyway as it will form the basis for the more interesting models that will follow.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="A-model-in-Python">A model in Python<a class="anchor-link" href="#A-model-in-Python">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>We want to create a model that represents the evolution of our economy through time. We'll step through time, simulate any flows of money which are impied by our rules above, and see where it takes us. We're going to deal with with discrete timesteps and so we need to define how spending occurs <em>across time periods</em>. Given the justification given above we'll say that income is earned concurrently with spending, i.e. in the same timestep - when spending occurs, income is earned. Mathematically, we can state this by writing <em>difference equations</em> which use subscripts to denote the time period under consideration <span class="math">\(t\)</span>:</p>
<p><span class="math">\[Y_t = C_t\]</span></p>
<p>So the income in, say, the 5th time period, <span class="math">\(Y_5\)</span>, would be, according to the equation above, equal to the spending in that same time period, <span class="math">\(C_5\)</span>. Next we'll say that citizens in our economy spend their income in the <em>next</em> time step, that is, <em>after</em> their income is earned in the current time step. Therefore, we can relate spending in <em>one</em> time period is equal to the income earned in the <em>previous</em> one:</p>
<p><span class="math">\[C_t = Y_{t-1}\]</span></p>
<p>The spending in the 5th time period, <span class="math">\(C_5\)</span>, would be equal to the income earned in the 4th time period, <span class="math">\(Y_4\)</span>.</p>
<p>So now we have difference equations which relate spending and income and time. The only other thing we need in this model is to state what spending occurs in the first time step. Without this, the model would never get going, since spending is dependent on the income of a previous time step. This type of information is usually termed an <em>initial condition</em>. Let's go with 100, so:</p>
<p><span class="math">\[C_0 = 100\]</span></p>
<p>and therefore, by accounting identity:</p>
<p><span class="math">\[Y_0 = 100\]</span></p>
<p>Okay, we've got our equations and out initial condition. Let's code something. We're going to use the Python libraries <code>numpy</code> and <code>matplotlib</code>, so we import them first. <code>numpy</code> might be a little overkill for our purposes here but we'll get used to it now as it might be useful in more complex models. <code>matplotlib</code> will allow us to produce graphs of our model solution.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[1]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="o">%</span><span class="k">matplotlib</span> <span class="n">inline</span>  
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Next, we'll define the number of timesteps we want to propagate our model through. Let's go for 100. These are arbitrary anyway. We'll use a variable called <span class="math">\(N\)</span>.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[2]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">N</span> <span class="o">=</span> <span class="mi">100</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p><span class="math">\(Y\)</span> and <span class="math">\(C\)</span> are determined by the model as it evolves through time (they are <em>endogenous</em> variables). Since we don't know the values of these variables for every time period yet, we just need to set up some containers to hold their values as we solve the model at each time step. We'll use arrays, which are basically just lists of numbers that we can add to and read later. So for both <span class="math">\(Y\)</span> and <span class="math">\(C\)</span> we want an array of size <span class="math">\(N\)</span>. This way we'll record their values through time and afterwards we can inspect the history of the economy as it evolved. We can use the <code>.zeros()</code> function from the <code>numpy</code> library to create arrays of this size populated - for now - by zeros.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[3]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">C</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="c"># consumption</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="c"># income</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>And to satisfy our initial condition, we just need to set the first value for both consumption and income to 100. The values in arrays can be set (or read) by using square brackets and the number of the position we're interested in. Python arrays are &quot;zero-indexed&quot;, so the first value has a position, or &quot;index&quot;, of <code>0</code>.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[4]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">C</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">100</span>
<span class="n">Y</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">100</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>We can use the <code>print</code> function to inspect these variables and check they are doing what we think. For example,</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[5]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="k">print</span><span class="p">(</span><span class="n">C</span><span class="p">)</span>
</pre></div>

</div>
</div>

<div class="vbox output_wrapper">
<div class="output vbox">


<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_stream output_stdout">
<pre>
[ 100.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.]

</pre>
</div>
</div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Good, our initial condition is in there.</p>
<p>Now were in a position to iterate through each time step and solve the equations, populating our arrays as we go. We'll use a <code>for</code> loop to iterate. This is a type of structure provided in most (all?) programming languages for repeating a particular procedure some number of times. In this case, we're going to solve our spending and income equations for our 100 time steps. Since we have difference equations that reference a previous timestep, we cannot start at <span class="math">\(t=0\)</span> as there'd be no previous values to use. So we start at <span class="math">\(t=1\)</span> and our initial conditions defined at <span class="math">\(t=0\)</span> provides the required information to get going from that point onwards.</p>
<p>The <code>range</code> function provides a handy way to generate a sequence of <span class="math">\(t\)</span> values from <span class="math">\(1\)</span> to <span class="math">\(N\)</span> (omitting <span class="math">\(t=0\)</span>).</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[6]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">N</span><span class="p">):</span>
    <span class="n">C</span><span class="p">[</span><span class="n">t</span><span class="p">]</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[</span><span class="n">t</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c"># calculate spending based on earlier income</span>
    <span class="n">Y</span><span class="p">[</span><span class="n">t</span><span class="p">]</span> <span class="o">=</span> <span class="n">C</span><span class="p">[</span><span class="n">t</span><span class="p">]</span>   <span class="c"># calculcate income earned in this time period</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>That's it! We've solved the entire history of our economy. Let's make some plots of how spending and income varied through time in our economy. We'll use the <code>matplotlib</code> library here.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[7]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="c"># create a figure</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span>

<span class="c"># create a subplot for consumption</span>
<span class="n">consumption_plot</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">121</span><span class="p">)</span>
<span class="c"># plot consumption (C) versus time step (N)</span>
<span class="n">consumption_plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">),</span> <span class="n">C</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
<span class="c"># add gridlines</span>
<span class="n">consumption_plot</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
<span class="c"># label axes</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s">&#39;time&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s">&#39;consumption&#39;</span><span class="p">)</span>

<span class="c"># create a second subplot for income</span>
<span class="n">income_plot</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">122</span><span class="p">)</span>
<span class="c"># plot income (Y) versus time step (N)</span>
<span class="n">income_plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">),</span> <span class="n">Y</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
<span class="c"># add gridlines</span>
<span class="n">income_plot</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
<span class="c"># label axes</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s">&#39;time&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s">&#39;income&#39;</span><span class="p">)</span>

<span class="c"># space subplots neatly</span>
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
</pre></div>

</div>
</div>

<div class="vbox output_wrapper">
<div class="output vbox">


<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_display_data">


<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAEaCAYAAADzO0ZoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0VeWd//HPAQJRCJOAJFighlYDDYmGciu6KOES7BIC
ERkUvEBimT+oHUZwkBZn5qdrCWGs02CntKMWmlEqF2GUJU4WuCixVSw3j0QuDSIpCAkKIQKCQGD/
/mA4EgkeOCdnn/3deb/WOkv2Ccn5bHye7/pmP8/ZJ+A4jiMAAACfaRHvAAAAALFAkwMAAHyJJgcA
APgSTQ4AAPAlmhwAAOBLNDkAAMCXYtbkFBUVKS0tTdnZ2aHnamtrlZeXp4yMDI0YMUJ1dXWhr23b
tk0DBw5UVlaWbr31Vp0+fTpW0QD4ADUGQDgxa3IKCwtVVlbW4Lni4mLl5eWpsrJSw4YNU3FxsSSp
vr5eDz74oJ5//nl9+OGHKi8vV0JCQqyiAfABagyAsJwY2rt3r5OVlRU67tGjh1NTU+M4juNUV1c7
PXr0cBzHcVavXu088MADYX+eJB48eHjoEW/<KEY>
<KEY>
">

</div>
</div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="The-circular-flow-of-money">The circular flow of money<a class="anchor-link" href="#The-circular-flow-of-money">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>You'll be forgiven for not being overly excited by these results. But in any case, let's walk through what happened. We started with 100 pounds being spent in the first time step. This immediately became 100 pounds of income. In the second timestep, the 100 pounds of income earned in the first time step was spent by those &quot;recipients&quot; and immediately became 100 pounds of income for &quot;others&quot; in the economy. This process was repeated another 98 times. The upshot is that during every time step the total amount of spending in the economy was 100 pounds, and the total amount of income was 100 pounds.</p>
<p>Now, the numbers in our simulated economy are not meaningful in any sense: our units of money and time are completely arbitrary and so the fact that income is 100 pounds isn't all that illuminating. But we <em>can</em> conclude something important from the flat lines in the plots above. If people simply spend all of their income (and no more) the result will be a <em>constant</em> level of income in the economy. No growth. No recessions. Just stable levels of spending and income. And the simple intuition behind this is revealed by the fact that the two equations we used are practically identical. They simply describe the periodic swapping of money through the process of spending: your spending becomes my income, which becomes my spending, which becomes someone else's income, and so on... There is nothing in the equations which disturbs or adjusts the size of these flows and so the result is that the same levels of spending simply repeat themselves. The equations describe the <em>circulation</em> of the same amount of money through time. This is the basic insight of this model: <em>money circulates</em>.</p>
<p>But it's worth pointing out that, despite the symmetry of our two equations, they <em>do</em> represent distinct concepts and <em>could</em> be different. The consumption function is a statement of human behaviour, intended to convey what we believe our citizens are choosing to do with their money (on average). We could have defined it differently, for example:</p>
<p><span class="math">\[C = \frac{Y}{2}\]</span></p>
<p>would imply that people spend only half of their income (presumably saving the rest). On the other hand, the income equation does not represent an assumption about behaviour in our economy. It is more precise than that. It is an accounting identity describing the two relations in a(ll) transaction(s). We happen to have defined the only type of transaction in our economy as being consumption spending and therefore all income derives from consumption. But we might have conceivably included something else, for example, government spending, e.g.:</p>
<p><span class="math">\[Y = C + G\]</span></p>
<p>So, the reason that the consumption and income equations in our model resemble one another so closely is simply that we have stripped out as much complexity as possible and essentially reduced our economy to just private citizens exchanging consumption goods and service with one another. Consumption spending and income become completely aligned under these conditions. In other models, the specific forms of the consumption and income equations might diverge from one another and the economy may behave differently as a consequence. But the relationship between spending, income and the circulation of money established in this model remains a fundamental principle.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Stocks,-flows-and-the-&quot;velocity&quot;-of-money">Stocks, flows and the "velocity" of money<a class="anchor-link" href="#Stocks,-flows-and-the-&quot;velocity&quot;-of-money">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>We used the phrase &quot;money circulates&quot; earlier. This would seem like a straightforward statement. And it is, really. But given that we just modelled spending and income rather than <em>money</em> per se, it's worth clarifying the distinction between money and income.</p>
<p>The distinction is that of <em>stock</em> versus <em>flow</em> quantities. A stock quantity is something that can be measured at a <em>single point in time</em> and represents a specific absolute value. A flow quantity, on the other hand, is measured <em>over a period of time</em> and therefore represents a rate over time. Stocks are related to flows in that flows can cause a given stock to be increased or decreased through time. For example, the volume of petrol in the tank of a car is a stock quantity, whereas the consumption of that fuel by the engine represents a flow. In our case, money is a stock quantity and both spending and income are flows. We can't talk about income without stating whether it is hourly or yearly, for example.</p>
<p>So what we have modelled is a <em>flow</em>, income: the rate at which money is earned over time. But we did start out by postulating a fixed stock of money in our economy, although it was not explicitly included in our model. It turns out, that if we pick apart our assumptions a bit more, we can discover that the stock of money was <em>implicit</em> in the model and that the relationship between the total stock of money and total income can be understood in fairly simple terms.</p>
<p>In our economy, we insisted that the only use for money is consumption spending. Further, we assumed that all earned income is spent on every time step, and that there is only one round of spending in each time step. It follows that the entire quantity of money must be spent exactly once in each timestep. There cannot be any <em>more</em> money in existence than what is spent in each time step, otherwise some of it would have to be unspent (i.e. saved) which contradicts our assumptions. And there cannot be any <em>less</em> money than the amount spent in each timestep otherwise some of it would have to be spent twice, which again contradicts the structure of our model. We can deduce two conclusions from this reasoning:</p>
<ol style="list-style-type: decimal">
<li>the total stock of money is spent entirely, once, each time step</li>
<li>if the amount spent in each time step is 100 pounds, then it follows from conclusion 1 that the total stock of money is equal to 100 pounds</li>
</ol>
<p>Let's identify the stock of money as <span class="math">\(M\)</span>, then, according to conclusion 2, we can say:</p>
<p><span class="math">\[C = M\]</span></p>
<p>and since <span class="math">\(Y = C\)</span>,</p>
<p><span class="math">\[Y = M (= 100)\]</span></p>
<p>Well that looks suprisingly simple - income in the economy is numerically exactly the same as the size of the money stock! Is this a universal rule? Well let's think this through a little bit. Remember, income is a measure of a flow over time. The key is to consider what period of time we're interested in. In our model, we measured income over single, discrete time periods. Aside from the fact that these time periods were arbitrary and could represent anything (days, weeks, months, years, something else), what happens if we want to understand income over some different time period? For example, what if our model time period was quarterly but what we're really interested in is annual income? Annual income is surely greater than quarterly income. But if the equation <span class="math">\(Y = M\)</span> is universally true then that would imply that the money stock (<span class="math">\(M\)</span>) has to grow simply because we are measuring income over a different time period. That doesn't sound right.</p>
<p>Hopefully it is quite easy to see that, in our model, if quarterly income is 100 pounds then annual income is 400 pounds, since we are simply considering the sum total of income over 4 consecutive time periods. (This is true over any 4 time periods in our model since income is constant). So when we change the measurement period, we find that income changes - as it <em>should</em> for a flow quantity that is measured over time (duh!). But the stock of money hasn't changed. At least, there is nothing in our model to imply that it should, or even could, have changed. To look at this formally, we can now say:</p>
<p><span class="math">\[Y_{annual} = 400\]</span></p>
<p>but, still,</p>
<p><span class="math">\[M = 100\]</span></p>
<p>and therefore</p>
<p><span class="math">\[Y_{annual} \neq M\]</span></p>
<p>Our equation equating income with the money stock does not hold true now. Instead, we have this situation:</p>
<p><span class="math">\[Y_{annual} = M \times 4\]</span></p>
<p>Annual income is equal to 4 times the size of the money stock. Now, remember that in our model, the money stock was entirely spent in each time period, which, for now, we're taking to be a quarter of a year. The significance of the number 4 in the equation above, therefore, is that it represents the number of times the money stock is spent in the new reference period of a whole year. We can generalise this and state that:</p>
<p><span class="math">\[Y = MV\]</span></p>
<p>where <span class="math">\(V\)</span> is called <em>the velocity of money</em> and represents the frequency at which the money stock turns over. As long as income and the velocity of money are measured using the same units of time, the equation above will hold true. So when considering annual income, we see that an income of 400 pounds per year is generated from a money stock of 100 pounds circulating 4 times a year (<span class="math">\(V = 4\)</span>). For quarterly income we find an income of 100 pounds per quarter is generated by the same 100 pound stock of money circulating <em>once</em> per quarter (<span class="math">\(V = 1\)</span>). In both cases the stock of money turns over once every quarter, we just happen to be aggregating the income over different time scales, and therefore the turnover rate of the stock of money (the &quot;velocity&quot;) changes with respect to the time scale we are considering.</p>
<p>In this light, we see that our original model was a special case where the reference period for income (single time step) happened to coincide with the turnover time of the money stock (single time step). In that context the velocity of money is always 1. Our original equation <span class="math">\(Y = M\)</span> was therefore really <span class="math">\(Y = M \times 1\)</span>. Of course, this wasn't a coincidence, it was baked in to our contrived scenario of 100% spending of income in each time step. In fact, when we deduced the size of <span class="math">\(M\)</span> from knowledge of <span class="math">\(Y\)</span> (via <span class="math">\(C\)</span>) we were basically exploiting the fact that our assumptions had predetermined a velocity of money equal to 1 in our economy. In other more complex cases, we might not know or be able to deduce the turnover of the money stock as clearly and therefore we might instead use <span class="math">\(Y = MV\)</span> to calculate it (assuming we know something about <span class="math">\(M\)</span> and <span class="math">\(Y\)</span>). Either way, the equation makes explicit the link between money, income and the frequency of spending.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Conclusions">Conclusions<a class="anchor-link" href="#Conclusions">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>This model was an incredibly simplified version of a real economy. The essense of the model economy was simply citizens swapping their incomes with each other for goods and services. We had only two rules encoded in our equations 1 and 2: all income was completely spent; and all spending generates - pound for pound - the same amount of income.</p>
<p>We found that under these simple conditions money is simply repeatedly spent on, generating a stable economy with constant levels of spending and income.</p>
<p>The basic insights of this model are this. Income is generated by spending. The relationship between the amount of money and the level of income depends on the frequency at which the money is spent.</p>
</div>
<hr>
<div class="text_cell_render border-box-sizing rendered_html">
<p>This post was written using the <a href="http://ipython.org/notebook.html">iPython Notebook</a></p>
<p>The source can be found on <a href="https://github.com/spatchcock/monetary_economics_python/blob/master/notebooks/1_spending_income_and_the_circular_flow_of_money.ipynb">Github</a> or viewed in the <a href="http://nbviewer.ipython.org/github/spatchcock/monetary_economics_python/blob/master/notebooks/1_spending_income_and_the_circular_flow_of_money.ipynb">iPython Notebook Viewer</a>.</p>
<p>The Python code used in this post is also available in script form on <a href="https://github.com/spatchcock/monetary_economics_python/blob/master/scripts/1_spending_income_and_the_circular_flow_of_money.py">Github</a>.</p>
</div>
<commit_msg>remove superfluous full stop<commit_after>---
layout: blog-fullwidth
title: "Spending, income and the circular flow of money"
subheadline: "The simplest economic model conceivable"
tags: [economics, money, python, code, model, velocity of money, fixed money supply]
date: 2016-06-04
category: "monetary_economics"
ipython_notebook: true
---

<div class="text_cell_render border-box-sizing rendered_html">
<p>This is the first in what I hope to be a series of posts on modelling the economy. My intention is to explore economic modelling using a bit of theory, a bit of code, and some attempt to understand the results intuitively. I'll use the Python programming language to do this and describe and share all of the code. I was motivated to do this by reading <a href="http://www.palgrave.com/us/book/9780230301849">Monetary Economics</a> by <NAME> and <NAME>, which describes increasingly complex models of the monetary economy in great detail. I am actually only about halfway through the book and decided to consolidate what I had learned so far. This post, and probably the next few, actually steps back from the starting point of Godley & Lavoie and describes a much simpler model in an attempt to isolate and identify some of the fundamental components and processes which contribute to the behaviour of the economy. This post shows that:</p>
<ul>
<li>Income and money are separate concepts. Money is a stock, income is a flow (measured per unit of time)</li>
<li>Income is identically equal to spending, since these flows form two sides of every transaction</li>
<li>Total income over some time period is generated by a given stock of money circulating at a certain rate (termed the &quot;velocity of money&quot;)</li>
<li>In an economy with a fixed money supply and wherein all income is spent, total income is constant over time</li>
</ul>
</div>

<!--more-->

<div class="text_cell_render border-box-sizing rendered_html">
<p>Whole economies are (obviously, very) complex. They involve the aggregate economic decisions and actions of individuals, businesses, banks and governments. They include concepts such as money, prices (or inflation), government spending and taxation, public and/or private debt together with interest rates, as well as trade with other economies. Each of these may be of interest in their own right but their effect on overall income levels (and therefore living standards) might also be of primary interest. Ultimately, a sufficiently detailed model might seek to represent each of these concepts (and more). But understanding such complexity is easiest when it is broken down into simpler units. Therefore, we'd better pick a simple starting point and try to build up the complexity incrementally.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="A-very-simple-economy">A very simple economy<a class="anchor-link" href="#A-very-simple-economy">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>So, what is the simplest model of a monetary economy that can be conceived? What definitely needs to be represented, and what could potentially be left out? Here, we'll attempt to omit as much as possible. We'll assume no government, businesses or banks exist. We'll also assume that nobody is interested in saving or trading with external economies. Instead all that happens is that citizens trade with each other. And we'll assume that there is a fixed amount of money in existence. What can we learn from such an economy?</p>
<p>Okay, so we have some money. We don't know where it came from. Perhaps the money is gold or some other precious metal. Someone discovered it at some point and made it into coins. In any case, it doesn't matter for our purposes. We simply assume it exists and is distributed across the population in some fashion.</p>
<p>What happens with this money? Well, in this scenario, we're going for something incredibly simple. We're going to assume that people simply spend all of their income by buying things from their peers. In contrast to other possible ways of using money (that will be introduced in later models), we can call this form of spending <em>consumption</em>. So all our citizens use their money for is <em>consuming</em> goods and services.</p>
<p>We can formalise this by using some algebra. Let's identify consumption with the label <span class="math">\(C\)</span>, and income as <span class="math">\(Y\)</span>. Now we can make a mathematical statement about consumption in our economy:</p>
<p><span class="math">\[C = Y \hspace{1cm} (1)\]</span></p>
<p>This is our first <a href="https://en.wikipedia.org/wiki/Consumption_function"><em>consumption function</em></a> - a mathematical expression describing the spending behaviour of our citizens. This expression could be more complicated if we wanted to describe more sophisticated behaviour, but for now they simply spend whatever their income is, and therefore consumption is exactly equal to income. Equation (1) could be thought of as describing the spending behaviour of an individual (<em>average</em>) citizen. But the intention is really to represent the <em>aggregate</em> spending decisions of everybody together. Total consumption in the economy is equal to total income in the economy.</p>
<p>We can't really proceed with equation (1) on its own as it has two unknown quantities, <span class="math">\(C\)</span> and <span class="math">\(Y\)</span>. We need one more equation to fully specify our economy. In general we need the same number of equations as unknown quantities, and in particular we need to know something about income (<span class="math">\(Y\)</span>) if equation (1) is to be of any use. This is where we need to use a bit of thought. Lets imagine that we spend £10 on something. We can immediately make at least one logical deduction about the wider effect of that spending on the economy: <em>someone else just gained an income of £10</em>. This is true by virtue of the simple and obvious fact that spending is a two-way street, involving a buyer and seller, a spender and an earner. No transaction involves one person alone. In general, whenever there is an act of spending, we know that an equal amount of income has been generated in the economy, for someone, somewhere. And when many separate transactions occur over the whole economy, the total amount of income will be equal to the total amount spent.</p>
<p>We've already defined algebraic terms for spending (<span class="math">\(C\)</span>) and income (<span class="math">\(Y\)</span>), so let's write down what we've just logically derived:</p>
<p><span class="math">\[Y = C \hspace{1cm} (2)\]</span></p>
<p>Total income is equal to total spending. The total income of an economy is more or less synomymous with the <a href="https://en.wikipedia.org/wiki/Measures_of_national_income_and_output#Expenditure">Gross Domestic Product (GDP)</a>.</p>
<p>There. We now have two equations and two unknowns, so our economy is completely specified. There's a certain symmetry to these equations (to understate it considerably), and it might be straighforward to see what will (or rather, what won't) happen in this simple economy without resorting to a computer simulation. But we'll do it anyway as it will form the basis for the more interesting models that will follow.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="A-model-in-Python">A model in Python<a class="anchor-link" href="#A-model-in-Python">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>We want to create a model that represents the evolution of our economy through time. We'll step through time, simulate any flows of money which are impied by our rules above, and see where it takes us. We're going to deal with with discrete timesteps and so we need to define how spending occurs <em>across time periods</em>. Given the justification given above we'll say that income is earned concurrently with spending, i.e. in the same timestep - when spending occurs, income is earned. Mathematically, we can state this by writing <em>difference equations</em> which use subscripts to denote the time period under consideration <span class="math">\(t\)</span>:</p>
<p><span class="math">\[Y_t = C_t\]</span></p>
<p>So the income in, say, the 5th time period, <span class="math">\(Y_5\)</span>, would be, according to the equation above, equal to the spending in that same time period, <span class="math">\(C_5\)</span>. Next we'll say that citizens in our economy spend their income in the <em>next</em> time step, that is, <em>after</em> their income is earned in the current time step. Therefore, we can relate spending in <em>one</em> time period is equal to the income earned in the <em>previous</em> one:</p>
<p><span class="math">\[C_t = Y_{t-1}\]</span></p>
<p>The spending in the 5th time period, <span class="math">\(C_5\)</span>, would be equal to the income earned in the 4th time period, <span class="math">\(Y_4\)</span>.</p>
<p>So now we have difference equations which relate spending and income and time. The only other thing we need in this model is to state what spending occurs in the first time step. Without this, the model would never get going, since spending is dependent on the income of a previous time step. This type of information is usually termed an <em>initial condition</em>. Let's go with 100, so:</p>
<p><span class="math">\[C_0 = 100\]</span></p>
<p>and therefore, by accounting identity:</p>
<p><span class="math">\[Y_0 = 100\]</span></p>
<p>Okay, we've got our equations and out initial condition. Let's code something. We're going to use the Python libraries <code>numpy</code> and <code>matplotlib</code>, so we import them first. <code>numpy</code> might be a little overkill for our purposes here but we'll get used to it now as it might be useful in more complex models. <code>matplotlib</code> will allow us to produce graphs of our model solution.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[1]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="o">%</span><span class="k">matplotlib</span> <span class="n">inline</span>  
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Next, we'll define the number of timesteps we want to propagate our model through. Let's go for 100. These are arbitrary anyway. We'll use a variable called <span class="math">\(N\)</span>.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[2]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">N</span> <span class="o">=</span> <span class="mi">100</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p><span class="math">\(Y\)</span> and <span class="math">\(C\)</span> are determined by the model as it evolves through time (they are <em>endogenous</em> variables). Since we don't know the values of these variables for every time period yet, we just need to set up some containers to hold their values as we solve the model at each time step. We'll use arrays, which are basically just lists of numbers that we can add to and read later. So for both <span class="math">\(Y\)</span> and <span class="math">\(C\)</span> we want an array of size <span class="math">\(N\)</span>. This way we'll record their values through time and afterwards we can inspect the history of the economy as it evolved. We can use the <code>.zeros()</code> function from the <code>numpy</code> library to create arrays of this size populated - for now - by zeros.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[3]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">C</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="c"># consumption</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="c"># income</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>And to satisfy our initial condition, we just need to set the first value for both consumption and income to 100. The values in arrays can be set (or read) by using square brackets and the number of the position we're interested in. Python arrays are &quot;zero-indexed&quot;, so the first value has a position, or &quot;index&quot;, of <code>0</code>.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[4]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">C</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">100</span>
<span class="n">Y</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">100</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>We can use the <code>print</code> function to inspect these variables and check they are doing what we think. For example,</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[5]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="k">print</span><span class="p">(</span><span class="n">C</span><span class="p">)</span>
</pre></div>

</div>
</div>

<div class="vbox output_wrapper">
<div class="output vbox">


<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_stream output_stdout">
<pre>
[ 100.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
    0.    0.    0.    0.]

</pre>
</div>
</div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Good, our initial condition is in there.</p>
<p>Now were in a position to iterate through each time step and solve the equations, populating our arrays as we go. We'll use a <code>for</code> loop to iterate. This is a type of structure provided in most (all?) programming languages for repeating a particular procedure some number of times. In this case, we're going to solve our spending and income equations for our 100 time steps. Since we have difference equations that reference a previous timestep, we cannot start at <span class="math">\(t=0\)</span> as there'd be no previous values to use. So we start at <span class="math">\(t=1\)</span> and our initial conditions defined at <span class="math">\(t=0\)</span> provides the required information to get going from that point onwards.</p>
<p>The <code>range</code> function provides a handy way to generate a sequence of <span class="math">\(t\)</span> values from <span class="math">\(1\)</span> to <span class="math">\(N\)</span> (omitting <span class="math">\(t=0\)</span>).</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[6]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">N</span><span class="p">):</span>
    <span class="n">C</span><span class="p">[</span><span class="n">t</span><span class="p">]</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[</span><span class="n">t</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c"># calculate spending based on earlier income</span>
    <span class="n">Y</span><span class="p">[</span><span class="n">t</span><span class="p">]</span> <span class="o">=</span> <span class="n">C</span><span class="p">[</span><span class="n">t</span><span class="p">]</span>   <span class="c"># calculcate income earned in this time period</span>
</pre></div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>That's it! We've solved the entire history of our economy. Let's make some plots of how spending and income varied through time in our economy. We'll use the <code>matplotlib</code> library here.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[7]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="c"># create a figure</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span>

<span class="c"># create a subplot for consumption</span>
<span class="n">consumption_plot</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">121</span><span class="p">)</span>
<span class="c"># plot consumption (C) versus time step (N)</span>
<span class="n">consumption_plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">),</span> <span class="n">C</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
<span class="c"># add gridlines</span>
<span class="n">consumption_plot</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
<span class="c"># label axes</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s">&#39;time&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s">&#39;consumption&#39;</span><span class="p">)</span>

<span class="c"># create a second subplot for income</span>
<span class="n">income_plot</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">122</span><span class="p">)</span>
<span class="c"># plot income (Y) versus time step (N)</span>
<span class="n">income_plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">),</span> <span class="n">Y</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
<span class="c"># add gridlines</span>
<span class="n">income_plot</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
<span class="c"># label axes</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s">&#39;time&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s">&#39;income&#39;</span><span class="p">)</span>

<span class="c"># space subplots neatly</span>
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
</pre></div>

</div>
</div>

<div class="vbox output_wrapper">
<div class="output vbox">


<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_display_data">


<img src="data:image/png;base64,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
dnr06BHnZJfbv3+/M2zYMGfdunXOqFGjHMdxPJ+7rq7O6d69+2XPezn3kSNHnIyMDKe2ttY5e/as
M2rUKGfNmjWezbx3714nKysrdHylnHPmzHGKi4tDf+/OO+90NmzY4G7YKFitMY5jp85QY9xDnfmK
iSs5Bw4cULdu3ULHXbt21YEDB+KYKLyqqiq9//77GjBggA4dOqS0tDRJUlpamg4dOhTndJd79NFH
9cwzz6hFi6+GhNdz7927V506dVJhYaG+//3va8qUKfriiy88nbtDhw6aMWOGvv3tb+tb3/qWkpOT
lZeX5+nMl7pSzoMHD6pr166hv2dhjl7KYo2RbNUZaox7qDNfMdHkWNskeOLECd1zzz2aP3++kpKS
GnwtEAh47nzeeOMNpaamqnfv3le8T4gXc9fX12vr1q2aOnWqtm7dqrZt2152+dVruffs2aOSkhJV
VVXp4MGDOnHihF5++eUGf8drma8kXE4L53CRpawXWaoz1Bh3UWe+YqLJ6dKli/bv3x863r9/f4Nu
zkvOnj2re+65Rw8++KAKCgokXehEa2pqJEnV1dWeuy/Hu+++q1WrVql79+6aMGGC1q1bpwcffNDz
ubt27aquXbuqX79+ki68o2br1q3q3LmzZ3Nv3rxZt99+uzp27KhWrVpp7Nix2rBhg6czX+pKY+Lr
c/TifWissFRjJHt1hhrjLurMV0w0OX379tXu3btVVVWlM2fOaOnSpRo9enS8Y13GcRw9/PDDyszM
1D/90z+Fnh89erRKS0slSaWlpaGi5BVz5szR/v37tXfvXi1ZskRDhw7VSy+95PncnTt3Vrdu3VRZ
WSlJeuutt9SrVy/l5+d7NnfPnj313nvv6dSpU3IcR2+99ZYyMzM9nflSVxoTo0eP1pIlS3TmzBnt
3btXu3fvVv/+/eMZ9ZpYqTGSzTpDjXEXdeYSTbp7KIbefPNNJyMjw/nud7/rzJkzJ95xGvWnP/3J
CQQCzm233ebk5OQ4OTk5zv/+7/86R44ccYYNG+bccsstTl5ennP06NF4R72i9evXO/n5+Y7jOCZy
B4NBp2/fvs6tt97q3H333U5dXZ3nc8+bN8/JzMx0srKynIceesg5c+aMJzPfd999zo033ugkJCQ4
Xbt2dRYuXPiNOZ9++mnnu9/9rtOjRw+nrKwsjskjY6HGOI79OkONcQd15oK4f6wDAABALJhYrgIA
ALhWNDkAAMCXaHIAAIAv0eQAAABfoslBk/j888/1m9/8RtKF+xr8/d//fZwTAfAb6gyuFe+uQpOo
qqpSfn6+Kioq4h0FgE9RZ3CtWsU7APxh1qxZ2rNnj3r37q1bbrlFO3fuVEVFhX7/+9/rtdde08mT
J7V7927NmDFDX375pf7whz+oTZs2evPNN5WSkqI9e/bokUce0Weffabrr79eL7zwgnr06BHv0wLg
IdQZXLNY3eAHzUtVVVXoU2Qv/fOiRYucm2++2Tlx4oTz2WefOe3bt3f+67/+y3Ecx3n00UedkpIS
x3EcZ+jQoc7u3bsdx3Gc9957zxk6dGgczgKAl1FncK24koMm4Vyy6ul8bQV0yJAhatu2rdq2bavk
5GTl5+dLkrKzs7Vt2zZ98cUXevfddxusr585c8ad4ADMoM7gWtHkIObatGkT+nOLFi1Cxy1atFB9
fb3Onz+vlJQUvf/++/GKCMA46gwaw7ur0CSSkpJ0/Pjxa/qei7+JJSUlqXv37nr11VdDz2/btq3J
MwKwjTqDa0WTgybRsWNH3XHHHcrOztbMmTMVCAQkSYFAIPTni8eX/vni8eLFi/W73/1OOTk5ysrK
0qpVq9w9AQCeR53BteIt5AAAwJe4kgMAAHyJJgcAAPgSTQ4AAPAlmhwAAOBLNDkAAMCXaHIAAIAv
/X/ENJxfavLf7AAAAABJRU5ErkJggg==
">

</div>
</div>

</div>
</div>

</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="The-circular-flow-of-money">The circular flow of money<a class="anchor-link" href="#The-circular-flow-of-money">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>You'll be forgiven for not being overly excited by these results. But in any case, let's walk through what happened. We started with 100 pounds being spent in the first time step. This immediately became 100 pounds of income. In the second timestep, the 100 pounds of income earned in the first time step was spent by those &quot;recipients&quot; and immediately became 100 pounds of income for &quot;others&quot; in the economy. This process was repeated another 98 times. The upshot is that during every time step the total amount of spending in the economy was 100 pounds, and the total amount of income was 100 pounds.</p>
<p>Now, the numbers in our simulated economy are not meaningful in any sense: our units of money and time are completely arbitrary and so the fact that income is 100 pounds isn't all that illuminating. But we <em>can</em> conclude something important from the flat lines in the plots above. If people simply spend all of their income (and no more) the result will be a <em>constant</em> level of income in the economy. No growth. No recessions. Just stable levels of spending and income. And the simple intuition behind this is revealed by the fact that the two equations we used are practically identical. They simply describe the periodic swapping of money through the process of spending: your spending becomes my income, which becomes my spending, which becomes someone else's income, and so on... There is nothing in the equations which disturbs or adjusts the size of these flows and so the result is that the same levels of spending simply repeat themselves. The equations describe the <em>circulation</em> of the same amount of money through time. This is the basic insight of this model: <em>money circulates</em>.</p>
<p>But it's worth pointing out that, despite the symmetry of our two equations, they <em>do</em> represent distinct concepts and <em>could</em> be different. The consumption function is a statement of human behaviour, intended to convey what we believe our citizens are choosing to do with their money (on average). We could have defined it differently, for example:</p>
<p><span class="math">\[C = \frac{Y}{2}\]</span></p>
<p>would imply that people spend only half of their income (presumably saving the rest). On the other hand, the income equation does not represent an assumption about behaviour in our economy. It is more precise than that. It is an accounting identity describing the two relations in a(ll) transaction(s). We happen to have defined the only type of transaction in our economy as being consumption spending and therefore all income derives from consumption. But we might have conceivably included something else, for example, government spending, e.g.:</p>
<p><span class="math">\[Y = C + G\]</span></p>
<p>So, the reason that the consumption and income equations in our model resemble one another so closely is simply that we have stripped out as much complexity as possible and essentially reduced our economy to just private citizens exchanging consumption goods and service with one another. Consumption spending and income become completely aligned under these conditions. In other models, the specific forms of the consumption and income equations might diverge from one another and the economy may behave differently as a consequence. But the relationship between spending, income and the circulation of money established in this model remains a fundamental principle.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Stocks,-flows-and-the-&quot;velocity&quot;-of-money">Stocks, flows and the "velocity" of money<a class="anchor-link" href="#Stocks,-flows-and-the-&quot;velocity&quot;-of-money">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>We used the phrase &quot;money circulates&quot; earlier. This would seem like a straightforward statement. And it is, really. But given that we just modelled spending and income rather than <em>money</em> per se, it's worth clarifying the distinction between money and income.</p>
<p>The distinction is that of <em>stock</em> versus <em>flow</em> quantities. A stock quantity is something that can be measured at a <em>single point in time</em> and represents a specific absolute value. A flow quantity, on the other hand, is measured <em>over a period of time</em> and therefore represents a rate over time. Stocks are related to flows in that flows can cause a given stock to be increased or decreased through time. For example, the volume of petrol in the tank of a car is a stock quantity, whereas the consumption of that fuel by the engine represents a flow. In our case, money is a stock quantity and both spending and income are flows. We can't talk about income without stating whether it is hourly or yearly, for example.</p>
<p>So what we have modelled is a <em>flow</em>, income: the rate at which money is earned over time. But we did start out by postulating a fixed stock of money in our economy, although it was not explicitly included in our model. It turns out, that if we pick apart our assumptions a bit more, we can discover that the stock of money was <em>implicit</em> in the model and that the relationship between the total stock of money and total income can be understood in fairly simple terms.</p>
<p>In our economy, we insisted that the only use for money is consumption spending. Further, we assumed that all earned income is spent on every time step, and that there is only one round of spending in each time step. It follows that the entire quantity of money must be spent exactly once in each timestep. There cannot be any <em>more</em> money in existence than what is spent in each time step, otherwise some of it would have to be unspent (i.e. saved) which contradicts our assumptions. And there cannot be any <em>less</em> money than the amount spent in each timestep otherwise some of it would have to be spent twice, which again contradicts the structure of our model. We can deduce two conclusions from this reasoning:</p>
<ol style="list-style-type: decimal">
<li>the total stock of money is spent entirely, once, each time step</li>
<li>if the amount spent in each time step is 100 pounds, then it follows from conclusion 1 that the total stock of money is equal to 100 pounds</li>
</ol>
<p>Let's identify the stock of money as <span class="math">\(M\)</span>, then, according to conclusion 2, we can say:</p>
<p><span class="math">\[C = M\]</span></p>
<p>and since <span class="math">\(Y = C\)</span>,</p>
<p><span class="math">\[Y = M (= 100)\]</span></p>
<p>Well that looks suprisingly simple - income in the economy is numerically exactly the same as the size of the money stock! Is this a universal rule? Well let's think this through a little bit. Remember, income is a measure of a flow over time. The key is to consider what period of time we're interested in. In our model, we measured income over single, discrete time periods. Aside from the fact that these time periods were arbitrary and could represent anything (days, weeks, months, years, something else), what happens if we want to understand income over some different time period? For example, what if our model time period was quarterly but what we're really interested in is annual income? Annual income is surely greater than quarterly income. But if the equation <span class="math">\(Y = M\)</span> is universally true then that would imply that the money stock (<span class="math">\(M\)</span>) has to grow simply because we are measuring income over a different time period. That doesn't sound right.</p>
<p>Hopefully it is quite easy to see that, in our model, if quarterly income is 100 pounds then annual income is 400 pounds, since we are simply considering the sum total of income over 4 consecutive time periods. (This is true over any 4 time periods in our model since income is constant). So when we change the measurement period, we find that income changes - as it <em>should</em> for a flow quantity that is measured over time (duh!). But the stock of money hasn't changed. At least, there is nothing in our model to imply that it should, or even could, have changed. To look at this formally, we can now say:</p>
<p><span class="math">\[Y_{annual} = 400\]</span></p>
<p>but, still,</p>
<p><span class="math">\[M = 100\]</span></p>
<p>and therefore</p>
<p><span class="math">\[Y_{annual} \neq M\]</span></p>
<p>Our equation equating income with the money stock does not hold true now. Instead, we have this situation:</p>
<p><span class="math">\[Y_{annual} = M \times 4\]</span></p>
<p>Annual income is equal to 4 times the size of the money stock. Now, remember that in our model, the money stock was entirely spent in each time period, which, for now, we're taking to be a quarter of a year. The significance of the number 4 in the equation above, therefore, is that it represents the number of times the money stock is spent in the new reference period of a whole year. We can generalise this and state that:</p>
<p><span class="math">\[Y = MV\]</span></p>
<p>where <span class="math">\(V\)</span> is called <em>the velocity of money</em> and represents the frequency at which the money stock turns over. As long as income and the velocity of money are measured using the same units of time, the equation above will hold true. So when considering annual income, we see that an income of 400 pounds per year is generated from a money stock of 100 pounds circulating 4 times a year (<span class="math">\(V = 4\)</span>). For quarterly income we find an income of 100 pounds per quarter is generated by the same 100 pound stock of money circulating <em>once</em> per quarter (<span class="math">\(V = 1\)</span>). In both cases the stock of money turns over once every quarter, we just happen to be aggregating the income over different time scales, and therefore the turnover rate of the stock of money (the &quot;velocity&quot;) changes with respect to the time scale we are considering.</p>
<p>In this light, we see that our original model was a special case where the reference period for income (single time step) happened to coincide with the turnover time of the money stock (single time step). In that context the velocity of money is always 1. Our original equation <span class="math">\(Y = M\)</span> was therefore really <span class="math">\(Y = M \times 1\)</span>. Of course, this wasn't a coincidence, it was baked in to our contrived scenario of 100% spending of income in each time step. In fact, when we deduced the size of <span class="math">\(M\)</span> from knowledge of <span class="math">\(Y\)</span> (via <span class="math">\(C\)</span>) we were basically exploiting the fact that our assumptions had predetermined a velocity of money equal to 1 in our economy. In other more complex cases, we might not know or be able to deduce the turnover of the money stock as clearly and therefore we might instead use <span class="math">\(Y = MV\)</span> to calculate it (assuming we know something about <span class="math">\(M\)</span> and <span class="math">\(Y\)</span>). Either way, the equation makes explicit the link between money, income and the frequency of spending.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Conclusions">Conclusions<a class="anchor-link" href="#Conclusions">&#182;</a></h2>
</div>

<div class="text_cell_render border-box-sizing rendered_html">
<p>This model was an incredibly simplified version of a real economy. The essense of the model economy was simply citizens swapping their incomes with each other for goods and services. We had only two rules encoded in our equations 1 and 2: all income was completely spent; and all spending generates - pound for pound - the same amount of income.</p>
<p>We found that under these simple conditions money is simply repeatedly spent on, generating a stable economy with constant levels of spending and income.</p>
<p>The basic insights of this model are this. Income is generated by spending. The relationship between the amount of money and the level of income depends on the frequency at which the money is spent.</p>
</div>
<hr>
<div class="text_cell_render border-box-sizing rendered_html">
<p>This post was written using the <a href="http://ipython.org/notebook.html">iPython Notebook</a></p>
<p>The source can be found on <a href="https://github.com/spatchcock/monetary_economics_python/blob/master/notebooks/1_spending_income_and_the_circular_flow_of_money.ipynb">Github</a> or viewed in the <a href="http://nbviewer.ipython.org/github/spatchcock/monetary_economics_python/blob/master/notebooks/1_spending_income_and_the_circular_flow_of_money.ipynb">iPython Notebook Viewer</a>.</p>
<p>The Python code used in this post is also available in script form on <a href="https://github.com/spatchcock/monetary_economics_python/blob/master/scripts/1_spending_income_and_the_circular_flow_of_money.py">Github</a>.</p>
</div>

{'fraction_non_alphanumeric': 0.1155403301152289, 'fraction_numerical': 0.03728768895383657, 'mean_word_length': 5.8342337917485265, 'pattern_counts': {'":': 0, '<': 1783, '<?xml version=': 0, '>': 1783, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4333254', 'n_tokens_mistral': 32262, 'n_tokens_neox': 30203, 'n_words': 9072}