HARK is an open source project that is compatible with Python 3.
Installing HARK with pip¶
The simplest way to install HARK is to use pip.
To install HARK with pip, at a command line type
pip install econ-ark.
(If you want to install a release that is not the default stable release, for instance if you want to install a development release, you’ll need to use a “pinned” release number:
pip install econ-ark==0.10.1.dev1, substituting “0.10.1.dev1” for your desired release number.)
If you are installing via pip, we recommend using a virtual environment such as virtualenv. Creation of a virtual environment isolates the installation of
econ-ark from the installations of any other python tools and packages.
virtualenv, then to create an environment named
econ-ark, and finally to activate that environment:
cd [directory where you want to store the econ-ark virtual environment] pip install virtualenv virtualenv econ-ark source econ-ark/bin/activate
Using HARK with Anaconda¶
If you intend ever to use the toolkit for anything other than running the precooked material we have provided, you should probably install Anaconda, which will install python along with many packages that are frequently used in scientific computing.
- Download Anaconda for your operating system and follow the installation instructions at Anaconda.com.
- Anaconda includes its own virtual environment system called
condawhich stores environments in a preset location (so you don’t have to choose). So in order to create and activate an econ-ark virtual environment:
conda create -n econ-ark anaconda conda activate econ-ark conda install -c conda-forge econ-ark
Open Spyder, an interactive development environment (IDE) for Python (specifically, iPython). You may be able to do this through Anaconda’s graphical interface, or you can do so from the command line/prompt. To do so, simply open a command line/prompt and type
To verify that spyder has access to HARK try typing
pip install econ-arkinto the iPython shell within Spyder. If you have successfully installed HARK as above, you should see a lot of messages saying ‘Requirement satisfied’.
- If that doesn’t work, you will need to manually add HARK to your Spyder environment. To do this, you’ll need to get the code from Github and import it into Spyder. To get the code from Github, you can either clone it or download a zipped file.
- If you have
gitinstalled on the command line, type
git clone email@example.com:econ-ark/HARK.gitin your chosen directory (more details here).
- If you do not have
gitavailable on your computer, you can download the GitHub Desktop app and use it to make a local clone
- If you do not have
- If you don’t want to clone HARK, but just to download it, go to the HARK repository on GitHub. In the upper righthand corner is a button that says “clone or download”. Click the “Download Zip” option and then unzip the contents into your chosen directory.
Once you’ve got a copy of HARK in a directory, return to Spyder and navigate to that directory where you put HARK. This can be done within Spyder by doing
import osand then using
os.chdir()to change directories.
chdirworks just like cd at a command prompt on most operating systems, except that it takes a string as input:
os.chdir('Music')moves to the Music subdirectory of the current working directory.
- Most of the modules in HARK are just collections of tools. There are a few demonstration applications that use the tools that you automatically get when you install HARK – they are listed below in Application Modules. A much larger set of uses of HARK can be found at two repositories:
You will want to obtain your own local copy of these repos using:
git clone https://github.com/econ-ark/DemARK.git
and similarly for the REMARK repo. Once you have downloaded them, you will find that each repo contains a
notebooks directory that contains a number of jupyter notebooks. If you have the jupyter notebook tool installed (it is installed as part of Anaconda), you should be able to launch the
jupyter notebook app from the command line with the command:
and from there you can open the notebooks and execute them.
We have a set of 30-second Elevator Spiels describing the project, tailored to people with several different kinds of background.
- A full replication of the Iskhakov, Jørgensen, Rust, and Schjerning paper for solving the discrete-continuous retirement saving problem
- Structural-Estimates-From-Empirical-MPCs is an example of the use of the toolkit in a discussion of a well known paper. (Yes, it is easy enough to use that you can estimate a structural model on somebody else’s data in the limited time available for writing a discussion)
- Start with A Gentle Introduction to HARK to get your feet wet
- A simple indirect inference/simulated method of moments structural estimation along the lines of Gourinchas and Parker’s 2002 Econometrica paper or Cagetti’s 2003 paper is performed by the SolvingMicroDSOPs REMARK; this code implements the solution methods described in the corresponding section of these lecture notes
Making changes to HARK¶
If you want to make changes or contributions to HARK, you’ll need to have access to the source files. Installing HARK via pip (either at the command line, or inside Spyder) makes it hard to access those files (and it’s a bad idea to mess with the original code anyway because you’ll likely forget what changes you made). If you are adept at GitHub, you can fork the repo. If you are less experienced, you should download a personal copy of HARK again using
git clone (see above) or the GitHub Desktop app.
- Navigate to wherever you want to put the repository and type
git clone firstname.lastname@example.org:econ-ark/HARK.git(more details here). If you get a permission denied error, you may need to setup SSH for GitHub, or you can clone using HTTPS: ‘git clone https://github.com/econ-ark/HARK.git’.
- Then, create and activate a virtual environment.
For Mac or Linux:
Install virtualenv if you need to and then type:
virtualenv econ-ark source econ-ark/bin/activate
virtualenv econ-ark econ-ark\\Scripts\\activate.bat
- Once the virtualenv is activated, you may see
(econ-ark)in your command prompt (depending on how your machine is configured)
- Make sure to change to HARK directory, and install HARK’s requirements into the virtual environment with
pip install -r requirements.txt.
- To check that everything has been set up correctly, run HARK’s tests with
python -m unittest.
Trouble with installation?¶
We’ve done our best to give correct, thorough instructions on how to install HARK but we know this information may be inaccurate or incomplete. Please let us know if you run into trouble so we can update this guide! Here’s a list of platforms and versions this guide has been verified for:
| Installation Type | Platform | Python Version | Date Tested | Tested By | | ————- |:————-:| —–:| —–:|—–:| | basic pip install | Linux (16.04) | 3 | 2019-04-24 | @shaunagm | | anaconda | Linux (16.04) | 3 | 2019-04-24 | @shaunagm | | basic pip install | MacOS 10.13.2 “High Sierra” | 2.7| 2019-04-26 | @llorracc |