Skip to content
Pablo Winant edited this page Jul 10, 2014 · 11 revisions

Ideas for development projects

GUIS

  • 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.

Examples

Look at examples from the quant-econ website that can be replicated using dolo.

Others

  • 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

Milestones

Version 0.5

All current features with complete documentation.

Version 1.0

GUI value function iteration discrete models