'math+econ+code' masterclass

on optimal transport

and economic applications

January 10-14, 2022

This intensive course, part of the ‘math+econ+code’ series, is focused on models of demand, matching models, and optimal transport methods, with various applications pertaining to labor markets, economics of marriage, industrial organization, matching platforms, networks, and international trade, from the crossed perspectives of theory, empirics and computation. It will introduce tools from economic theory, mathematics, econometrics and computing, on a needs basis, without any particular prerequisite other than the equivalent of a first year graduate sequence in econ or in applied math.
Because it aims at providing a bridge between theory and practice, the teaching format is somewhat unusual: each teaching “block” will be made of a mix of theory and coding (in Python), based on an empirical application related to the theory just seen. Students will have the opportunity to write their own code, which is expected to be operational at the end of each block. This course is therefore closer to cooking lessons than to traditional lectures.



Practical information

  • The course will be taught over five consecutive days, Jan 10-14 2022, 8am-12pm NY time, 2pm-6pm Paris time.

  • Additionally, five special lectures will be taught online on a monthly basis afterwards. Precise days of the lectures will be announced later.

  • Materials from last's year session are here.

  • The instructor is Alfred Galichon (professor of economics and of mathematics at NYU and principal investigator of the ERC-funded project 'equiprice' at Sciences Po), and the TA is Clement Montes (Sciences Po). 

  • Applications are now closed.

Course outline

Day 1: Linear programming fundamentals

  • The diet problem

  • Optimal assignments and the Becker model

  • Intro to the toolchain: docker, github, jupyter

  • The Gurobi library

Day 2: Optimal transport

  • Monge-Kantorovich duality

  • Entropic regularization, the IPFP algorithm

  • Semi-discrete case, Aurenhammer's algorithm

Day 3: Discrete choice models

  • Discrete choice models and their inversion

  • Generalized linear models

  • Regularization and model selection: LASSO, elastic nets, etc.

  • The scikit-learn library

Day 4: Demand estimation

  • The pure characteristics model

  • Berry-Levinsohn-Pakes' random coefficient logit model

  • The pyblp package

Day 5: Matching estimation and the gravity equation

  • The Choo and Siow model and its offsprings

  • Matching estimation and the gravity equation

+ 5 special lectures

  1. Networks 1

  2. Networks 2

  3. Dynamic programming 1

  4. Dynamic programming 2

  5. Quantile methods

Advanced lectures

Special lecture 1 

Networks 1

January 28 2022

4-6pm Paris time /

10am-noon NY time

  • Introduction to networks

  • Topology on networks

  • Markov chains on networks

  • The networkx and the osmnx libraries

Special lecture 2

Dynamic programming 1

February 18 2022

4-6pm Paris time /

10am-noon NY time

  • Finite-horizon dynamic programming

  • Backward and forward induction

  • Linear programming formulation

Special lecture 3

Networks 2

March 25 2022

4-6pm Paris time /

10am-noon NY time

  • Finite-horizon dynamic programming

  • Min-cost flow problems

  • Shortest path problems

  • The Bellman-Ford and Dijkstra algorithms

Special lecture 4

Dynamic programming 2

April 15 2022

4-6pm Paris time /

10am-noon NY time

  • Infinite-horizon dynamic programming

  • Stationarity

  • Unit discount rate

  • Linear programming and LCP formulation

Special lecture 5

Quantile methods

May 20 2022

4-6pm Paris time /

10am-noon NY time

  • Quantiles and optimal transport

  • Classical quantile regression

  • Vector quantile regression