Resources

In this section we present some additional resources that we found helpful.

Initiatives

Econ-ARK

The Econ-ARK project provides open-source toolkits for researchers trying to understand how economic and social outcomes result from the actions of heterogeneous individuals. The primary goals of the project are to (1) make entry into the world of such modeling easy, (2) accelerate the development of this kind of modeling for policy-making and academic research, and (3) increase the openness, replicability, and interoperability of modeling tools. Econ-ARK is headed by Christopher D. Carroll, Professor of Economics at the Johns Hopkins University.

QuantEcon

QuantEcon is an initiative by Thomas J. Sargent and John Stachurski. It is very well suited for inexperienced programmers. Besides explaining some components of structural models in detailed and simple to follow tutorials, it also teaches the basics of Python and Julia.

Scientific Programming

Anaconda Distribution

The open-source Anaconda Individual Edition is the easiest way to perform Python/R data science and machine learning on Linux, Windows, and Mac OS X. With over 19 million users worldwide, it is the industry standard for developing, testing, and training on a single machine.

Jupyter Lab

Jupyter Lab is a web-based interactive development environment for Jupyter notebooks, code, and data. JupyterLab is flexible: configure and arrange the user interface to support a wide range of workflows in data science, scientific computing, and machine learning. JupyterLab is extensible and modular: write plugins that add new components and integrate with existing ones.

Resources

Version Control

The Introduction to Git and GitHub course on coursera offers a well rounded intro into version control using Git and GitHub. It will teach you all the fundamentals as well as more advanced features.

The GitKraken video tutorial series provides you with the knowledge needed to start using Git. It covers the absolute basics as well as advanced procedures involving Git. The course consists of 15 concise videos split into three difficulty levels, all of which can be watched in under an hour.

SciPy

SciPy is a Python-based ecosystem of open-source software for mathematics, science, and engineering. In particular, these are some of the core packages: numpy, scipy, matplotlib, and pandas.

SciPy Lecture Notes

The Scipy lecture notes provide an excellent starting point for everyone interested in scientific programming in Python. They cover the main scientific packages of the Python ecosystem, namely numpy, scipy and matplotlib. Each chapter corresponds to a 1 to 2 hour course with the level of expertise increasing from beginner to expert.

Resources

Software Carpentry

Software Carpentry teaches researchers the computing skills they need to get more done in less time and with less pain. They have a lot of useful lessons on many different topics like Python and R programming or the Unix shell.

statsmodels

statsmodels is a Python module that provides classes and functions for the estimation of many different statistical models, as well as for conducting statistical tests, and statistical data exploration. An extensive list of result statistics are available for each estimator. The results are tested against existing statistical packages to ensure that they are correct.

Check out the online documentation.

Textbooks

McKinney, W. (2017). Python for Data Analysis: Data Wragnling with Pandas, NumPy, and IPython. O’Reilly Media, Inc., Sebastopol, CA.

Ramalho, L. (2015). Fluent Python. Clear, Concise, and Effective Programming. O’Reilly Media, Inc., Sebastopol, CA.

Rossant, C. (2018). IPython Interactive Computing and Visualization Cookbook. Packt Publishing, Birmingham, England.

VanderPlas, J. (2016). Python Data Science Handbook O’Reilly Media, Inc., Sebastopol, CA.

Linge, S. & Langtangen, H. (2020). Programming for Computations-Python Springer, Cham, Switzerland.

Online Python Courses