Computational Economics for PhDs



Table of Contents:


Course Overview

This is a course for PhD students at SciencesPo Paris in Computational Economics. You will learn about some commonly used methods in Computational Economics. These methods are being used in all fields of Economics. The course has a clear focus on applying what you learn. We will cover the theoretical concepts that underlie each topic, but you should expect a fair amount of hands on action required on your behalf. In the words of the great Che-Lin Su:

Doing Computation is the only way to learn Computation. Doing Computation is the only way to learn Computation. Doing Computation is the only way to learn Computation.

True to that motto, there will be homeworks for you to try out what you learned in class. There will also be a term paper.

Prerequisites

  1. You need a laptop.

  2. You should be familiar with the material from Introduction to Programming.

  3. You must sign up for a free account at github.com. Choose a reasonable user name and upload a profile picture.

  4. Before you come the first class, please do this:

    1. Download the latest stable julia release for your OS.

    2. Download the VSCode Editor

Getting Programming Skills

  1. Check out what is being taught in the Introduction to Programming course. You must know this level.

  2. We will be using Julia for this course.

Term Project

There are two options:

  1. Replicate a published paper.

  2. Develop the computational aspects of your own work.

Replication

The requirements for choice of paper to replicate are:

  1. It's an economics paper.

  2. Published version and replication kit is available online.

  3. The paper to replicate must not use julia.

  4. You must use julia for your replication.

    • Ideally your choice will involve at least some level of computational interest (i.e. more than an IV regression)

    • However, you can replicate a paper with an IV regression, but you have to go all the way to get the exact same results as in the paper. I.e. if the author typed the stata command ivreg2 lw s expr tenure rns smsa _I* (iq=med kww age), cluster(year) you will have to write (or find) julia code which will match all output from this, including standard errors.

  5. You need to set up a public github repository where you will build a documentation website of your implementation. You'll learn how to do this in the course.

  6. I encourage you to let the world know about your replication effort via social media and/or email to the authors directly. This is independent of whether you were able or not to replicate the results. Replication is not about finding errors in other peoples' work. If you are able to replicate some result in julia, this may be very interesting for others.

Please use the starter kit available at https://github.com/floswald/Replicate.jl to get going!

Replication Resources

Develop Your Own Work

You can develop your own work as well. Requirements:

  1. setup a github repository which contains the code (your decision whether public or private, in any case you have to share it with me)

  2. produce a short document (max 10 pages, ideally much less) which describes

    1. the aim of the project

    2. the computational problem

    3. your computational strategy to solve that problem

  3. The main focus for me will lie on

    1. How easy is it to use your code?

    2. How easy is it to understand your code (code readability and provided documentation)?

    3. Did you provide unit tests? Can I be convinced that your code does what it is supposed to do?

Grade

Your grade will be 60% homeworks, 40% term project.

Textbooks

There are some excellent references for computational methods out there. This course will use material from

The Classics

Newcomers

Code of Conduct

If you decide to participate in this course, I expect you to abide by the following minimal code of conduct.

  1. Be polite to the other class participants.

  2. While in class, do not spend time on messaging apps, chat rooms, computer games, or similar content.

You can expect your instructor to abide by the same code of conduct, so this is a matter of mutual respect. If you are found in breach of the above you will be given a single warning, and I will ask you to no longer join the course after a second time. Your grade will be "fail".

License

The copyright notice to be included in any copies and other derivative work of this material is:

Copyright 2024 Florian Oswald, Sciences Po Paris, florian.oswald@gmail.com

Thank you.

This is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License