Variations on the Minsky theme
System dynamics program with additional features for economics
Brought to you by:
hpcoder,
profstevekeen
I've been thinking about Minsky for a while, and in the end, this is about my commitment to open coding. The reason I'm saying this now is that I need some feedback on where I should be going, I am trying to standardise a structure, and I have some code that might be of use to others.
I am at a point where I need to run some models within this programs code and ask some questions about the result.
If it would be preferable that I simply create a fork and publish the code separately, now would be a good time to tell me.
The first model I want to work on is a simple simulation of the ancient Sumerian economy. Professor Michael Hudson outlines the basics here:
https://www.youtube.com/watch?v=yQZGv2xL-fw
Hence my first questions are - is there a repository for such models and is there a pre-existing model?
On Wed, Nov 07, 2018 at 09:28:46AM -0000, Richard A Lough wrote:
There is https://github.com/highperformancecoder/minsky-models, which
is designed to be a repository for Minsky files (*.mky files) where
users can publish their models. The idea is for people to fork that
repo, and regardless of whether the models are merged back up via pull
requests or not, the models will be discoverable from within Minsky
itself. Sadly, that second part of that equation hasn't been
implemented yet, due to funding constraints and other development
priorities :(, but in principle, users can browse the connections on
Guthub using their web browser.
It was a little unclear whether you meant you wanted to modify
Minsky's source code or not. In that case, you are welcome to fork the
Minsky project, and create a pull request if you think you have some
code that would interest others.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
Thanks for the link. I hope to add a model to the repository. I'll download one or more of the existing models once I get the source code to compile.
I do not intend to modify the source code I have down loaded.
I note from comments elsewhere that the implementation of Minsky equations is open to change. That may make transferring results and variables form one model to another quite difficult. We'll see.
Some thoughts on the classification of systems and modelling.
1. Simplex Systems - what you see is what you get
2. Complex Systems - the output is unexpected
3. Complicated Systems - typically clocked logic with N stable states
4. Systems with Complexity - Sand piles and Agent based systems
5. Acts of God, or if you are an athiest, Magic.
I class the Sumerian Economic System as 2+.
I'm not smartest guy in the room, I'm just trying to point to the herd of elephants trying to hide behind the sofa, and ask a few questions.
Minsky "Pain Points" - I'm extending Prof Keen's 3-sector model ref:
"A Model of Endogenous Credit Creation and a Credit Crunch"
and now modelling five sectors plus the government and a summary sector.
The E matrix is ~80x6 variables/constants, and the present size of the X matrix is 20x6 (I have some X spares to hopefully include some central bank data if needed.)
The hard data comes from a distillation of the US I-O tables 15+Gov sectors down
to 5.
I'm finding the graphical Sumerian model published here difficult to handle - maybe because I have it running remotely on a headless machine, but I cannot visualize what an expanded multisector version of this simple system would look like.
Also, in a modern economy, things change every year as governments change budget allocations and taxation. In a matrix simulation, it's not that difficult to do.
To explain the process I will post some files. I use Perl scripting language, the Octave application(s) and the Postgresql database resource. I prefer a simple text output of results, though gnuplot can provide graphed output.
Rather than try to give an overview, I'll go through the latest process version.
The data tends to be repeditive from year to year. This perl script gets updated on a per year basis. When the script is run it prepares a matlab type file (*.m).
You should be able to modify the script fairly easily to point to your preferred directory to receive the /nycEmatrix03.m file.
To run the next process under Octave, you should have the Postgresql program set up, and a database with six tables set up. The database name is newyork2.
The tables are ematrix01 - ematrix06 (you may need a script to set these up)
The octave file needs the libpq and IIRC the libpq-dev resources to interface to the postgres database.
Note: the attached file contains optimised values for E14 for the US economy from 1999 to the latest available data (2017?). (It's a long story)
With a little luck, you now have six tables populated in the newyork2 database.
I've often found it harder to get useful data out of a database than putting stuff in, so I need an octave program to do that. Also, the key vectors, the X values, aren't in the database.
I'll attach one such program. It's not really suited for public viewing as there are lots of things commented out that get altered for different versions. This is still a work in progress.