Friends Provident Foundation provides £200,000 development funding for Minsky

Friends Provident Foundation (FPF), whose mission is "to help create a 'fair economy, better world'", has provided £200,000 to help develop Minsky, the program that I designed to bring monetary system dynamics modelling to economics. This will effectively double the development funding that Minsky has received to date. We'll use the funds to eliminate bugs, add features, and provide proper documentation for what is still a very novel approach to modelling in economics.

For those of you who haven't seen Minsky, and don't know about system dynamics, this class of computer software allows the modelling of complex systems using flowcharts to define relationships between entities.

Figure 1: A tongue-in-cheek example of system dynamics model from the Columbia University Mailman School of Public Health

The fundamental advantages this field offer is the capacity to account for modelling feedbacks in dynamic processes, and the capacity to model out of equilibrium behaviour. This is in stark contrast to conventional modelling in economics, where the misnomer of "general equilibrium" still rules the modelling roost.

First of all, there's nothing "general" about equilibrium itself. Even in a system which tends to converge to equilibrium over time, or which returns to an equilibrium if disturbed from it after an "exogenous shock", the actual equilibrium is only a vanishingly small part of the overall system space that it can inhabit. The "equilibrium" of the archetypal economista "supply and demand diagram", for example, is only one point in a large phase space of disequilibrium prices and quantities.

Figure 2: The "X marks the spot" effect of intersecting lines draws the eyes, but it's just a tiny fraction of the effective diagram space

Secondly, the assumption that economists routinely make that the equilibrium of a system is stable is false—even in their own core models.

Figure 3: The Lorenz model of fluid turbulence. Its three equilibria are all unstable

More sophisticated disciplines like meteorology are very comfortable with this real-world state of affairs {Lorenz, 1963 #4825}. Only economists seem both to be miffed by the fact that their core models have unstable equilibria—Walras' model of "tatonnement" that underlay "Computable General Equilibrium" (CGE) models that were all the rage until the 1980s, and Ramsey's optimal savings model that underlies today's RBC ("Real Business Cycle") and DSGE ("Dynamic Stochastic General Equilibrium") models, both have unstable equilibria—and happy to ignore this dilemma at the same time {Jorgenson, 1960 #2908;Jorgenson, 1961 #2905; McManus, 1963 #2895; Blatt, 1983 #339;Ramsey, 1928 #5029}.

System dynamics programs don't privilege equilibrium situations over any other: if there is a stable equilibrium, and the system is within its basin of attraction, then system dynamics programs will show it converging to that equilibrium. But if there isn't a stable equilibrium, or the system isn't within its basin of attraction, then it won't converge there, but will fluctuate on limit cycle, or trace out some eternally far-from-equilibrium path, like the structurally simple but inherently chaotic behaviour of the double pendumum.

Figure 4: A double pendulum's incredibly complex angular and displacement path

Minsky's fundamental contribution to this class of software is the Godley Table. Named in honour of the pioneer of stock-flow consistent modelling Wynne Godley, a Godley Table uses the accountant's "graphical user interface" of double-entry bookkeeping to enable monetary flows to be modelled far more easily than they can be using the flowchart GUI.

Figure 5: The Godley Table for the lender in Loanable Funds

The problem with flowchart modelling of monetary flows is that it's really hard to keep track of all the links between one financial account and another using "wires", and far harder to read such a model as well. It's OK if you get the financial sector model right the first time, but if you make a mistake—if for example, you model the banking sector as if banks are "mere intermediaries", and then later you find that they actually create money by creating loans, then the amount of rewiring needed to change from the unrealistic model to the realistic one is huge: you're more likely to either abandon the project, or stick with the false model because it's too darned hard to edit it.

Figure 6: Running the Loanable Funds model in which lending has very little impact on the macroeconomy

Making the same changes in Minsky is easy: just edit the double entry bookkeeping tables. What is a project-ending task in standard system dynamics programs is a breeze to edit in Minsky.

Figure 7: Going from the false Loanable Funds model to realistic "Bank Originated Money and Debt" takes under 30 seconds in Minsky

That's the good news. The bad is that, with only about $250,000 worth of funding so far ($128,000 from INET in 2012, $78,000 from a Kickstarter campaign, £20,000 from Kingston University in 2017 and about $30,000 from myself and some supporters), the program has lots of bugs, is way below its potential, and is poorly documented.

All those deficiencies can now be addressed—if not completely overcome—with FPF's grant.

Figure 8: Friends Provident Foundation's mission statement

The funds will allow me to hire Minsky's primary developer Russell Standish for about 20 hours a week for the next year, an assistant programmer full time, and a professional documentation writer full time for about six month, towards the end of 2020 (when the project will end).

Figure 9: Minsky's chief programmer Dr Russell Standish in Coogee, NSW in 2019

We've already been lucky on the assistant programmer front. Out of the blue, before the FPF grant was confirmed, a candidate for a PhD in Physics developed a module for Minsky to implement the Levenberg–Marquardt algorithm, which is a very useful tool for fitting the parameters of a nonlinear model to data. Dr Wynand Dednam has since had his PhD awarded, and we will use the FPF funds to have him spend up to 40 hours a week working on Minsky: killing bugs, adding features, in general making the program both more robust, user friendly, and fully featured.

Figure 10: Wynand Dednam's Twitter @wdednam home page

Some of the key features we intend adding include:

  • Porting the display component of the program from the dated tool Tcl/Tk to the modern standard of Javascript, so that Minsky can be run in a browser, without needing to install it on a PC;
  • Adding tabs for defining and manipulating parameters and variables, so that (a) it's possible to alter all parameters in one spot, rather than having to "hunt and peck" through parameters on the canvas itself; and (b) a lot of the "spaghetti diagram" wiring that takes up the canvas right now can be taken off it, reducing clutter and making it easier for non-designers to understand how a model works;
  • Allowing Minsky to import multi-dimensional data files, so that data fitting algorithms can be used to fit parameters to data, and a single model framework (for example, Pedro Pratas's model of the Portuguese economy) can be adapted to numerous countries just be selecting its data as the basis for fitting parameters rather than Portugal's data;
  • Storing data in "sparse data matrix" form, so that multi-dimensional data (for example, debt levels for every country in the world by type of debt (Household, Corporate, Government, Foreign), by date (every quarter since 1900)
  • Adding the basic display tool of a spreadsheet, so that data can be shown via tables as well as by plots;
  • Making plots more attractive, and adding a "presentation mode" so that non-essential things (like for example, parameters that set the top and bottom ranges for a plot) are hidden during a simulation run.

But at present, the main activity is bug hunting. Unfortunately, there are plenty of targets! Two troublesome ones are already dead: a bug that made it possible to delete the "Initial Conditions" row on a Godley Table (which then made the model itself impossible to run); and a bug that meant dragging an entry in a Godley Table cell to the edge of the table itself would crash the "Assets, Liabilities and Equity" features that are essential to how a Godley Table makes sure that models of financial flows are correct in accounting terms.

If you'd like to check out Minsky, there are three ways you can get a copy:

Of course we'd prefer you to choose one of the first two options, because they generate some funds to develop Minksy. It's also not possible for us to find out who is using Minsky when it's downloaded from SourceForge, whereas our Patreon pages enable users to interact with each other. This will be especially important in the next year, as Minsky undergoes rapid development thanks to the FPF funding: we want to have lots of bug spotters and feature testers.

So please consider signing up to Minsky's Patreon page, and give us feedback as we start raising Minsky up to its full potential.

Become a patron to

Unlock 259 exclusive posts
Listen anywhere
Connect via private message