Here is a letter from Kenn Tamara, who developed the models in Godley-Lavoie using Python:
I was reading “Monetary Economics” by Godley and Lavoie and came across the sfc-models.net website. I have taken your eViews models and reimplemented them using Python (running the experiments and generating the figures).
Everything is open-source and is written with a package that I developed to help specify and solve the models. The models are implemented as iPython notebooks for easier viewing and can be found at:
https://github.com/kennt/monetary-economicsInformation on the pysolve package used to specify and solve the models can be found at:
https://github.com/kennt/pylinsolve(A little warning, the code for pysolve is still under development and there isn’t that much documentation yet)
I hope that the python implementation is useful and would like to contribute it to sfc-models.net.
Thank you,
Kenn Takara
Dear M.Takara,
I have setup pysolve on window and I try to run the exemples but the error appear ?
model.param(‘Gd’, desc=’Government goods, demand’, initial=20)
What’s the matter ?
Best regards
Mickaël
Bonjour,
j’ai finalement réussi à faire tourner l’ensemble des modèles ch3_sim.py ch3_simex.py et ch5_lp.py. Le problème se trouve dans le passage de python 2.7 à Python 3.5 Certains élements d’écriture ont bougé afin de simplifier l’écriture des programmes.
On trouvait dans les librairies parameter et autres des trucs écrits comme ça:
super(Parameter, self).__init__(name)
désormais il faut les remplacers par super().__init__()
NameError: name ‘xrange’ is not defined
xrange() s’appelle désormais range()
et except Exception, err
cela s’écrit désormais except Exception as err
print “elapsed time = ” + str(end-start)
^
SyntaxError: invalid syntax
Print est devenu une fonction il faut l’appeler avec des paretheses print()
Ainsi 27 aout 2016, avec une installation de Python actualiser les programmes fonctionnent moyennant ces modifications.
Je remets les codes avec les modifications vers ce lien http://www.mickael-clevenot.fr/IMG/gz/pysolve-0.1_cormc_python3.tar.gz . Je pourrais le déposer sur un dépot du site si nécessaire.
Une autre façon de procéder pourrait plus simplement consister à executer le code à partir de la version à partir duquel il a été produit.
In English,
everythong is ok, but we must change some little element of code because there is some difference between the version of Python.
super(Parameter, self).__init__(name) ———-> super().__init__()
xrange() ————————————————–> range()
print x —————————————————–> print(x)
except Exception, err ———————————-> except Exception as err
The code with correction for Python
http://www.mickael-clevenot.fr/IMG/gz/pysolve-0.1_cormc_python3.tar.gz