Skip to main content

Python Platform for DSGE Modeling

Project description

Python Framework for DSGE models

authors: Alexei Goumilevski and James Otterson

What it is:

This Framework aims to help economists to ease development and run of DSGE models in Python environment.

How to run:

  • Create or modify existing YAML model file in examples/models folder.
  • Open src/tests/test.py file and set fname to the name of this model file.
  • Run simulations by double-clicking on run batch file located under Framework folder.

Content:

  • Sample model file (see <examples/models/Toy/JLMP98.yaml>)
  • Documentation (see <docs/UserGuide.pdf>)

Highlights:

  • Framework is written in Python language and uses only Python libraries that are available by installing Anaconda distribution in Software Center
  • Framework is versatile to parse model files written in a human readable YAML format, Sirius XML format and to parse simple IRIS and DYNARE model files.
  • Prototype model files are created for non-linear and linear perfect-foresight models.
  • It can be run as a batch process, in a Jupyter notebook, or in a Spyder interactive development environment (Scientific Python Development environment).
  • Framework parses the model file, checks its syntax for errors, and generates Python functions source code. It computes the Jacobian up to the third order in a symbolic form.
  • Non-linear equations are solved by iterations by Newton's method. Two algorithms are implemented: ABLR stacked matrices method and LBJ forward-backward substitution method.
  • Linear models are solved with Binder and Pesaran's method, Anderson and More's method and two generalized Schur's method that reproduce calculations employed in Dynare and Iris.
  • Non-linear models can be run with time dependents parameters.
  • Framework can be used to calibrate models to find model's parameters. Calibration can be run for both linear and nonlinear models. Framework applies Bayesian approach to maximize likelihood function that incorporates prior beliefs about parameters and goodness of fit of model to the data.
  • Framework can sample model parameters by using Markov Chain Monte Carlo affine invariant ensemble sampler algorithm of Jonathan Goodman.
  • Framework uses Scientific Python Sparse package for large matrices algebra.
  • Following filters were implemented: Kalman (linear and non-linear models), Unscented Kalman, LRX, HP, Bandpass, Particle. Several versions of Kalman filter and smoother algorithms were developed including diffuse and non-diffuse, multivariate and univariate filters and smoothers.
  • As a result of runs Framework generates 1 and 2 dimensional plots and saves data in excel file and in Python sqlite database.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysnowdrop-1.0.2.tar.gz (17.1 MB view details)

Uploaded Source

Built Distribution

pysnowdrop-1.0.2-py3-none-any.whl (17.3 MB view details)

Uploaded Python 3

File details

Details for the file pysnowdrop-1.0.2.tar.gz.

File metadata

  • Download URL: pysnowdrop-1.0.2.tar.gz
  • Upload date:
  • Size: 17.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.2 Linux/5.4.0-153-generic

File hashes

Hashes for pysnowdrop-1.0.2.tar.gz
Algorithm Hash digest
SHA256 7a9d02f139c7e4e4a58089e6738473c44fa69200f87ce0e3dcab0610f7e800fa
MD5 489dd9b42f077f01adabec57928a5fff
BLAKE2b-256 73d18f44adefe55d8e7a1b70443c7705125571d2c738c81d333c2f724a8ce2ec

See more details on using hashes here.

File details

Details for the file pysnowdrop-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pysnowdrop-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.2 Linux/5.4.0-153-generic

File hashes

Hashes for pysnowdrop-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d7c984d02506956fa8a4a55de256c7b73511e60317d012ad16c7c85d4497468c
MD5 d2646f87a69cd0f3f7cdb2ff71c89048
BLAKE2b-256 8c2700c0ae62c30189757394970be2e5d5c4b3d53a78ec3df302b4f80107a3f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page