Dr. Russell Standish and I have been working on Minsky now for almost two years now–ever since we received the $125K from INET’s Spring 2011 grant round: Russell as builder (coding in C++ and Tcl/Tk) and me as architect (playing with each release, spotting bugs and suggesting features). It’s been a part-time endeavor: Russell, as a contract programmer, has to keep more than one iron in the fire, while I have a fair few balls in the air myself. Russell has put in about 2000 hours of coding over that time, and we still have funds to support about another 250 hours after the successful Kickstarter campaign earlier this year.
That amount of coding is chicken feed compared to the millions of hours that have gone into a standard commercial product like Microsoft Word or Excel, so Minsky is still rough at the edges, and lacks a number of features that you would expect in a commercial package–for example, there is no Edit menu for copying, cutting and pasting (you have to control all that via the right mouse button), no Undo feature, etc. There have been (and undoubtedly still are) many bugs too: things that should work don’t for all sorts of reasons. The computer trade describes this phase of a program’s life as the “Pre-Alpha, Alpha and “Beta” release stages, when new features are added and only users who are willing to tolerate crashes should use the software.
But at some point enough core functionality and stability is in place for a first release, and I think that moment has arrived for Minsky. From now on, there will be two forks for the program: the stable “Petty” release (named after the English political economist William Petty), and the Beta builds for the next “Mun” release (named after the Mercantilist Thomas Mun). We will fix any bugs that are identified in the Petty release, but no new features will be added. They will turn up in the Mun release, with the proviso that with new features inevitably come new bugs as well: we really want users to try this fork out, but on the proviso that you accept there will be bugs.
There is still only a rudimentary and incomplete Help file (did I say I had too many balls in the air?), so to make up for it I’ve recorded the following set of 15 videos that cover most of the features of the program. They’re all up on YouTube (where the number is the series changes from 8 to 11 to 15…), but here they are for easy reference, with some notes about what each video covers. All the Minsky (mky) files used in the presentations are in this Zip file.
So if you’re into economic modeling and you’d like to develop dynamic monetary models, Minsky now has enough features to be worth using–and it won’t face the limitations that apply to more conventional system dynamics programs, like Stella, Vensim, Vissim, etc., that make it inherently challenging to model the financial system. With Minsky and its Godley Tables, monetary modeling is a cinch (and it will get easier as we add more capabilities to the program). So please, download the program, join our beta-testing group, and start building monetary macroeconomics.
Minsky 1.0 Demo #1 Basics And Godley Table
Installing Minsky from a ZIP file, the canvas, wiring to build equations, installing a graph, graphing a basic function like sin(t), outputting the equations to LaTeX (which you can import into MathType in Word), and a basic “endogenous money” Godley Table.
Minsky Files: sine.mky (using Minsky to plot a sine wave); Godley.mky (a basic purely monetary model, with no simulation–just the double-entry bookkeeping table).
Minsky 1.0 Demo #2 Godley Simulation
Using a Godley Table to define a numerical simulation: right-click to copy flows and variables (“stocks”), defining monetary equations, and running a simulation.
Minsky file: GodleySim01.mky (the same model as in the previous video with definitions of flows added so that it can be numerically simulated).
Minsky 1.0 Demo #3 Godley-Goodwin Integration
Using time lags, entering Greek characters and subscripts, building a dynamic model using the flowchart part of the program, using integration blocks in dynamic models, making x‑y graphs as well as graphs of variables against time.
Minsky file: GodleySim02.mky (the same model as in the previous video, but using time constants rather than arbitrary numbers for system parameters); GodleyGoodwin01 and GodleyGoodwinSim01 (adding a Goodwin model of production using the flowchart aspects of the program, and adding XY charts, slowing down the simulation speed)
Minsky 1.0 Demo #4 Godley-Goodwin Integration
Starting to integrate a monetary and a physical model, using sliders to vary parameters during a simulation.
Minsky files: GodleyGoodwinSimInt01 (beginning to integrate the two models: making the wage a monetary phenomenon)
Minsky 1.0 Demo #5 Godley Goodwin Integration #2
Doing it right: starting by modifying the real cyclical model to include monetary variables.
Minsky files: GodleyGoodwinSimInt01C (adding Price to the Goodwin model before attempting the integration).
Minsky 1.0 Demo #6 Godley-Goodwin Integration
Continuing the process.
Minsky files: GodleyGoodwinSimInt01D (completing the integration)
Minsky 1.0 Demo #7 Godley-Goodwin Integration #4
Continuing the process.
Minsky files include GodleyGoodwinSimInt03, where I add a linear investment function to the linear wage change function that is the core of the Goodwin model.
Minsky 1.0 Demo #8 Godley-Goodwin Integration #5
Getting cycles in the monetary economy as well as the physical. Introducing an investment function as well as a wage change function. Showing the debt-deflation model.
Minsky files include DebtDeflation02, which is the monetary version of my 1995 debt-crisis model in “Finance and Economic Breakdown”
Minsky 1.0 Demo #09 Multiple Godley Tables
Combining MMT and MCT with two Godley Tables, one for the Central Bank, the other for Private Banks. Minsky’s built-in logic to maintain consistency between assets and liabilities across multiple Godley Tables. A potentially surprising result about the relationship between the change in private debt and the change in public debt.
Minsky files: MinskyOnePointZeroDemo09MultipleGodleyTables (combines MMT and MCT and shows that the change in private debt and the change in public debt are not of equal and opposite magnitudes in a closed economy).
Minsky 1.0 Demo #10 Zooming
Grouping entities, zooming in to see a group, editing a group, using the Lorenz Strange Attractor as first example, and my model of debt-deflation as the second.
Minsky 1.0 Demo #11 Bugs
Bugs and how to cope with them.
Minsky 1.0 Demo #12 Lorenz model
Using the flowchart side of the program to build the famous Lorenz model. Changing the Runge-Kutta parameters to get a smoother simulation. Setting ranges on a graph.
Minsky 1.0 Demo13 # Lorenz model with Sliders
Using sliders to vary parameters in a model while it runs.
Minsky files: Variations on Lorenz, especially LorenzWithSliders02.
Minsky 1.0 Demo #14 Competitors
How does Minsky stack up as a system dynamics program compared to the established players Simulink, Vensim, and Vissim? It doesn’t have the power of these established programs of course–matching the feature set of even Vensim would require tens thousands more hours of programming time, let alone that of Vissim or the market leader Simulink. But on a user-friendliness scale, I think it’s easy to see that Minsky is much easier to use than Vensim, significantly easier than Simulink, and within reach of Vissim–though it lacks some basic editing features.
Minsky 1.0 Demo #15 Why Godley Tables?
This is the clincher. If you want to model monetary dynamics, there is no other program that offers anything like the Godley Table for modeling the double-entry flows that characterize the financial system. A flowchart is an inherently weak tool for building a monetary model..