/CompEcon_Fall21

ECON 833: Computational Methods for Economists

Primary LanguageJupyter Notebook

ECON 833: Computational Methods for Economists (Fall 2021)

Jason DeBacker
Email jason.debacker@moore.sc.edu
Office 427B DMSB
Office Hours ** On Zoom ** Tuesday 2:45-4:45pm and Thursday 12:00-1:00pm; or by appointment
GitHub jdebacker
  • Meeting day/time: T,Th 10:05-11:20am, DMSB, Room 120

Office Hour Zoom Info

Join Zoom Meeting https://moore-sc-edu.zoom.us/j/96470982218

Meeting ID: 964 7098 2218 One tap mobile +13126266799,,96470982218# US (Chicago) +16465588656,,96470982218# US (New York)

Course description

This course is designed to introduce PhD students to software applications and computational techniques to make them productive researchers. Students will be exposed to leading open source software packages (Python, R) and techniques for numerical computing and data analysis. The course will be taught through the application of these software packages and methods to economic research in applied microeconomics and quantitative macroeconomics.

Course Objectives and Learning Outcomes

In this course students, through lecture and application, students will learn about:

  • Software to increase research productivity including:
    • TeX
    • git
    • Python
    • R
  • How to write custom estimation routines and use packages written by others for:
    • Generalized method of moments estimators
    • Maximum likelihood estimators
    • Maximum score estimators
    • Reduced form estimators such as regression discontinuity design
    • Simulated method of moment estimators
  • Computational methods to:
    • Optimize and find roots of functions
    • Apply machine learning tools to economic and econometric models
    • Solve dynamic programming problems (disceret and continous choice)
    • Solve general equilibrium, heterogeneous agent models
    • Perform Monte Carlo simulations
    • Bootstrap standard errors
    • Compute numerical derivatives
    • Use just-in-time compilation for efficient computation
    • Run computations in parallel using multiple processors
  • Methods to gather and handle data including:
    • Costs and benefits of different data structures
    • Using APIs
  • Coding and collaboration techniques such as:
    • Writing modular code with functions and objects
    • Collaboration tools for writing code using Git and GitHub.com.
    • Best practices for Python coding (PEP 8)

Grades

Grades will be based on the categories listed below with the corresponding weights.

Assignment Points Percent
Problem Sets 90 90%
Class Participation 10 10.0%
Total points 100 100.0%
  • Homework: I will assign 9 problem sets throughout the semester.
    • You must write and submit your own computer code, although I encourage you to collaborate with your fellow students. I DO NOT want to see a bunch of copies of identical code. I DO want to see each of you learning how to code these problems so that you could do it on your own.
    • Problem set solutions, both written answers and source code, will be turned in via a pull request from your private GitHub.com repository which is a fork of the class master repository on my account. (You will need to set up a GitHub account if you do not already have one.)
    • Written solutions must be submitted as pdf documents or Jupyter Notebooks.
    • Problem sets will be due on the day listed in the Daily Course Schedule section of this syllabus (see below) unless otherwise specified. Late homework will not be graded.

Daily Course Schedule

Date Day Topic Due
Aug. 19 Th Work Flow, Productivity Software
Aug. 24 T Work Flow, Productivity Software
Aug. 26 Th Python/OOP
Aug. 31 T Python/OOP PS #1
Sept. 2 Th Python/OOP
Sept. 7 T Visualization
Sept. 9 Th Numerical Optimization Theory PS #2
Sept. 14 T Numerical Optimization Theory
Sept. 16 Th Optimizers, Root-Finders in Python
Sept. 21 T Optimization Application: GMM PS #3
Sept. 23 Th Two-Sided Matching Models
Sept. 28 T Maximum Score Estimators
Sept. 30 Th Maximum Score Estimators
Oct. 5 T Conditionals and Loops
Oct. 7 Th No class, Fall Break
Oct. 12 T Econometrics in Python
Oct. 14 Th Programming in R
Oct. 19 T Machine Learning PS #4
Oct. 21 Th Machine Learning
Oct. 26 T Machine Learning
Oct. 28 Th Machine Learning
Nov. 2 T Dynamic Programming PS #5
Nov. 9 Th Dynamic Programming PS #6
Nov. 11 T Dynamic Programming
Nov. 16 Th Discrete Choice Dynamic Programming
Nov. 18 T TBD PS #7
Nov. 23 Th Overlapping Generations Models
Nov. 25 Th No class, Thanksgiving
Nov. 30 T Overlapping Generations Models
Dec. 2 Th Overlapping Generations Models PS # 8
Dec. 10 F No Final Exam - project due PS #9

Helpful Links

Reasonable Accommodations for Students with Disabilities:

If you have any condition, such as a physical or learning disability, which will make it difficult for you to carry out the work as I have outlined it or which will require academic accommodations, please notify me through email AND in person with the appropriate documentation within the first two weeks of the course.