The Becker Friedman Institute was pleased to host its inaugural Open Source Macroeconomics Laboratory (OSM Lab), which ran an intensive and immersive seven-week computational macroeconomics boot camp from June 19 to August 4, 2017. Twenty-three students participated. The goals were to
- train advanced undergraduates and graduate students with the computational skills to participate in cutting-edge economic research and public policy analysis;
- inspire the brightest young researchers to pursue policy-relevant work throughout their careers;
- spread the ideals of transparency and replicability throughout the economics profession from the ground up, and
- accelerate scientific progress in economics and policy analysis more broadly.
Topic Schedule
Week 1: June 19–23
Mathematics: Introduction; Inner product spaces
Economics: Overlapping generations
Computation Labs: Python standard library; functions; read-in; reshape; Describe data
Week 2: June 26–30
Mathematics: Inner product spaces; Probability theory
Economics: Dynamic programming
Computation Labs: Data visualization; Scipy; stats; root finders; minimizers
Mathematics: Spectral theory
Economics: Firm dynamics
Computation Labs: Complexity; sparse matrices; SVD
Week 4: July 10–14
Mathematics: Convex analysis
Economics: Firm dynamics; Macro Financial Modeling
Computation Labs: LU; QR decompositions; Eigenvalue; numerical derivatives; integration
Week 5: July 17–21
Mathematics: Unconstrained optimization; Linear optimization
Economics: Macro financial modeling; DSGE modeling; DSGE linear approximation solutions
Computation Labs: Large data methods; Distributed I/O; Machine learning
Week 6: July 24–28
Mathematics: Linear optimization; Nonlinear optimization
Economics: Perturbation methods, high order; filtering and cyclicality; structural estimation: MLE
Computation Labs: Machine learning; HPC/parallel computing
Week 7: July 31–August 4
Mathematics: Nonlinear optimization
Economics: Structural estimation: GMM; structural estimation: SMM
Computation Labs: HPC/[arallel computing