High-Dimensional Dynamic Programming
This section showcases computational methods for solving High-Dimensional Dynamic Programming problems in economics. The notebooks demonstrate three different approaches applied to models of occasionally binding constraints and sovereign default.
Note: These implementations are the result of my own learning process and may not perfectly replicate the original papers. While the models might be incomplete or contain simplifications, the computational methods and code structure may still be useful for understanding these solution techniques. More details about the exact model specifications and equations will be added soon.
JAX-based Methods
These routines are based on QuantEcon lectures. The solution method for the default model with long-term debt follows Gabriel Mihalache (2025).
- Occasionally Binding Constraints Model [view] [github] [download]
- Sovereign Default Model with Long-Term Debt [view] [github] [download]
Adaptive Sparse Grids (ASG)
These routines are based on Brumm and Scheidegger (2017) for Julia, and on Eftekhari and Scheidegger (2022) for Python. The solution method for the default model with long-term debt follows Gabriel Mihalache (2025).
- Occasionally Binding Constraints Model (Julia) [view] [github] [download]
- Occasionally Binding Constraints Model (Python) [view] [github] [download]
- Sovereign Default Model with Long-Term Debt (Julia) [view] [github] [download]
Artificial Neural Networks (ANN)
Deep learning approaches to solving dynamic programming problems using neural network function approximation.
- Occasionally Binding Constraints Model (Flux.jl) [view] [github] [download]
- Occasionally Binding Constraints Model (PyTorch) [view] [github] [download]
Note: All notebooks are implemented in Python or Julia and demonstrate different computational approaches to solving the same economic models. Click "view" to see the rendered notebook on nbviewer, "github" to view the source on GitHub, or "download" to get the .ipynb file directly.
