-
Notifications
You must be signed in to change notification settings - Fork 72
Roadmap
- GUI (0)
A simple qt application to launch a notebook server and edit the notebooks. The goal is to simplify the current workflow (open a console, open the browser, ...). It should embed a simple text editor too. This would be released as a standablone application.
- GUI (1)
Use IPython widgets to include edit a model from within the notebook.
- GUI (2)
Build a self contained qt application to edit a model, solve it, and produce standard outputs.
Look at examples from the quant-econ website that can be replicated using dolo.
- a nonlinear optimizer (of general interest: would not stay in dolo).
We need a simple implementation of a constrained nonlinear optimizer, that we can efficiently compile with numba. We could take either write it from scratch or get inspiration from julia/optim.jl or the code included in scipy. An alternative would be to write a vectorized version or to provide a low-overhead wrapper for a low-level library.
- value function iteration
Write an efficient vfi solver. Since we need to iterate on ever points we need the nonlinear optimizer first. Alternative, implement DSS approach.
-
consider alternative solution algorithms: PEA, endogenous grids, ergodic sets...
-
implement experimental estimation routines
-
modfile parser
There should be a robust way to import dynare's modfiles. A clean implementation would define the modfile grammar and use a lexer to parse the modfile.
- efficient symbolic derivation
Former versions used sympy to differentiate equations. The computational cost of second-order expansion for bigger models was prohibitive. We should be (almost) as fast as Dynare's preprocessor. Ideas: experiment with direct AST differentiation and compare speed with sympy
- restore solution of statefree models
Statefree
models are Dynare-style models, without distinction between states and controls. The only distinction is between predetermined and non-predetermined. This was removed from dolo after the rewrite of the model object. It depends on the two former points.
- advanced mode for model definition:
Define a decorator such that the following becomes valid when defining model functions.
@model.fun
def transition():
s = s(-1) + e
k = k(-1)*(1-delta)
- extend YAML specification
Here the goal consists in proposing extension of the YAML files.
define a discrete state model
define heterogeneous agents models
All current features with complete documentation.
GUI value function iteration discrete models