Skip to content

Towards 2.0

Sebastian Benthall edited this page Dec 10, 2020 · 10 revisions

Status Quo

HARK 0.x.y Status Quo

HARK currently scaffolds the modeling and solving of two kinds of problems:

  1. Bellman solutions of one-agent Markov Decision Problems
    • All such problems currently in the toolkit have some continuous state and control variables
    • The framework also handles discrete Markov transitions
    • Specialized tools also exist to handle some hard "Discrete-Continuous" problems
    • In the implementation of the solutions to these problems, HARK generally uses policy iteration, a dynamic programming algorithm.
  2. Computation of the dynamics and equilibrium of an economy populated by individuals solving their idiosyncratic problems
    • The tools we provide can find the rational expectations RE equilibrium
    • But they do not require the equilibrium be RE - the equilibrium concept is determined by the user

Currently, there is no class in HARK that represents the Bellman equation form of a model generically, and the solution code for this form.

Rather, each subclass of AgentType implements iteration steps tailored to that particular class. Defining this "solveOnePeriod" method is the key thing that the creator of a model must do (although there are strong similarities in how that is done across different models).

Dolo Status Quo

Dolo provides methods for:

  • Reading a .yaml file specified according to dolang, and compiling it into a dolo.compiler.model.Model class.
  • A variety of algorithms, in dolo.algos, which can operate on the models and find solutions/generate results. These include:
    • Value iteration

Dolo does not currently have a policy iteration solution algorithm.

HARK 1.0 Refactoring/Feature Targets

https://github.com/econ-ark/HARK/issues?q=is%3Aopen+is%3Aissue+milestone%3A1.0.0

2.0 Integration Plan

dolark

dolark is envisioned as a toolkit that uses the machinery of dolo, but expanded to incorporate conditions that define equilibrium, of which the most prominent is the RE equilibrium. (But, again, DolARK will allow the user to specify alternatives to the RE equilibrium).

HARK 2.0

In the future, HARK can import dolo/dolARK. The HARK interface can be an alternative way of writing dolo.compiler.model.Model instances (and subclasses of them).

This way, HARK can take advantage of more generic model and solution code while being backwards compatible for REMARKs and pedagogical materials.