Skip to main content

Deep neural network for solving continuous time economic models

Project description

Deep-MacroFin

Build Status PyPI version PyPI Downloads PyPI - License

Deep-MacroFin is a comprehensive deep-learning framework designed to solve equilibrium economic models in continuous time. The library leverages deep learning to alleviate curse of dimensionality.

Documentation: mkdocs

Start developing

Code

All the code are under deep_macrofin, and the tests are under tests

The project is now configured with uv for dependency management and packaging. To install the dependencies and run the code:

uv sync # this will automatically download suitable python versions, create virtual environment and install packages in pyproject.toml file

## You can now run the tests using the command:
pytest tests

To run the code and tests locally without poetry:

python -m venv venv
source venv/bin/activate # venv/Scripts/activate using Windows powershell
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install -r requirements-doc.txt

For easier testing, you can create a file in the root folder of the project, and import functions from deep_macrofin.

To properly run all tests in the tests/ folder

pip install -e .
pytest tests/

Examples

Various examples using the library, with comparisons to DeepXDE and PyMacroFin are included in examples

  • basic_examples: Solutions to basic ODEs/PDEs, diffusion equation, function approximation and systems of ODEs, with some comparisons to DeepXDE.
  • initial_examples: Initial scripts for testing deep neural networks for ODE/PDE solutions, and macromodels.
  • kan_examples: Solutions to basic ODEs, using KAN as approximators
  • macro_problems: Macroeconomic models in different dimensions.
  • paper_example: Examples in the paper, with PyMacroFin and deepXDE comparisons. Models and log files for reproducing paper results can be found in Google Drive. For a complete set of experiments, see this GitHub repo
  • pymacrofin_eg: Examples from PyMacroFin and proposition 2 from Brunnermeier and Sannikov (2014)

Note: PyMacroFin and DeepXDE are used as benchmarks in several examples, but the associated packages are not included in this repo's requirements.txt. To run the comparisons properly, please install their packages respectively.

Docs

The documentation site is based on mkdocs and mkdocs-mateiral.

Layouts

mkdocs.yml    # The configuration file.
docs/
    index.md  # The documentation homepage.
    ...       # Other markdown pages, images and other files.

To see the site locally, run the following command:

mkdocs serve

Cite Deep-MacroFin

If you use Deep-MacroFin for academic research, you are encouraged to cite the following paper:

@misc{wu2024deepmacrofin,
      title={Deep-MacroFin: Informed Equilibrium Neural Network for Continuous Time Economic Models}, 
      author={Yuntao Wu and Jiayuan Guo and Goutham Gopalakrishna and Zisis Poulos},
      year={2024},
      eprint={2408.10368},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2408.10368}, 
}

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

deep_macrofin-0.5.2.tar.gz (32.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deep_macrofin-0.5.2-py3-none-any.whl (144.5 kB view details)

Uploaded Python 3

File details

Details for the file deep_macrofin-0.5.2.tar.gz.

File metadata

  • Download URL: deep_macrofin-0.5.2.tar.gz
  • Upload date:
  • Size: 32.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deep_macrofin-0.5.2.tar.gz
Algorithm Hash digest
SHA256 d1b225b2728ab1e550b296c719681e1bf53ba2967af7b2a4cab9cfb16aec4332
MD5 6b47b0f71b22b1d1a052fc3eb9d18615
BLAKE2b-256 c4721c4a0de67163cb34661cc328d1e4eebb28ee5e792c363e9d19a0d3fa9826

See more details on using hashes here.

Provenance

The following attestation bundles were made for deep_macrofin-0.5.2.tar.gz:

Publisher: ci-build.yaml on rotmanfinhub/deep-macrofin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deep_macrofin-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: deep_macrofin-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 144.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deep_macrofin-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ba75ab32e25fcd1c5852a206e4442c0302bbbcad760bab5a61f4b9b070c48321
MD5 463a0a76544f43d36e46b561a0ef2be5
BLAKE2b-256 420a36c99716fce40744c2ef87e4b67742329edf10271bdc6684f7bd3daee5a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for deep_macrofin-0.5.2-py3-none-any.whl:

Publisher: ci-build.yaml on rotmanfinhub/deep-macrofin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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