-
-
Notifications
You must be signed in to change notification settings - Fork 199
Towards 2.0
HARK currently scaffolds the modeling and solving of two kinds of problems:
- 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.
- 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 provides methods for:
- Reading a
.yaml
file specified according todolang
, and compiling it into adolo.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.
https://github.com/econ-ark/HARK/issues?q=is%3Aopen+is%3Aissue+milestone%3A1.0.0
-
Namespace states and transition function #761
-
Namespacing shocks
- Model inspection https://github.com/econ-ark/HARK/issues/479
- Model equivalence https://github.com/econ-ark/HARK/issues/612
-
Solution/Simulation disentanglement #495
- Solution handling
#481#482
- Solution handling
-
PEP8 Style conventions #528 #545 See https://github.com/econ-ark/governance/issues/5
-
Complete API documentation #492
-
Class/method architecture #538
-
Improved logging #130
#247 -
Class encapsulation of discretize probability distributions #519 -
Drop 3.6 support, include 3.8, punt on 3.9
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).
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.