Code Monkey home page Code Monkey logo

computational-macroeconomics's Introduction

Build LaTeX exercises as PDF Build LaTeX exams as PDF

Computational Macroeconomics

These are my course materials for a graduate course on Computational Macroeconomics taught at the University of Tübingen. The compiled materials (such as PDFs) are available under Releases.

Please feel free to use this for teaching or learning purposes; however, taking into account the GPL 3.0 license.

Schedule with To-Do Lists

Week 1: Introductions

Goals

  • understand the scope and topics of Computational Macroeconomics
  • decide whether you want to take the course
  • prepare your computer for the course with MATLAB/Octave and Dynare
  • do your first steps in MATLAB/Octave and Dynare

To Do

Week 2: RBC Model, Calibration and Steady-State

Goals

  • understand and get comfortable with the algebra of RBC models
  • understand the concept of a steady-state
  • understand the concept of calibration
  • practice Dynare
  • start programming with MATLAB

To Do

Week 3: Practicing MATLAB, New Keynesian Model

Goals

  • practice MATLAB: symbolic toolbox, matrix algebra, loops, Kronecker products, functions
  • understand and get comfortable with the algebra of New Keynesian models
  • practice Dynare with the New Keynesian model

To Do

Week 4: Preprocessing and steady-state in MATLAB, numerical optimization

Goals

  • understand and replicate preprocessing and steady-state computations in MATLAB
  • understand and start using numerical optimizers

To Do

Week 5: Deterministic simulations and perfect-foresight algorithm

Goals

  • understand Dynare's commands to do deterministic simulations
  • understand the Newton algorithm used by Dynare to solve perfect foresight problems
  • re-implement deterministic simulations in MATLAB

To Do

Week 6: Practicing preprocessing and deterministic simulations, Deal with numerical issues, Homotopy, New-Keynesian SIR

Goals

  • understand the SIR (Susceptible, Infected, Recovered) epidemiology model
  • understand and get used to Dynare's macro preprocessing directives
  • understand timing conventions of predetermined variables
  • understand the difference between sticky-price and flex-price New Keynesian economies
  • deal with common numerical issues in the perfect foresight solution algorithm
  • understand homotopy in the context of perfect foresight simulations
  • simulate a New-Keynesian SIR model

To Do

  • prepare exercise 1 of week 6's exercise sheet
    • read the case-study paper carefully
    • download all files
    • read all the exercises
    • try to prepare the exercises (this will be hard, so we will go through this together in class)
  • bring all your questions and concerns to the Q&A sessions
Week 7: Midterm Exam: Monopolistic Competition, Irreversible Investment, War Shock

Goals

  • understand monopolistic competition and the Dixit Stiglitz elasticity parameter
  • understand irreversible investments as an occasionally binding constraint
  • understand the modeling of a war in a New Keynesian model
  • get a good grade

To Do

Week 8: First-order perturbation, Identification, Sensitivity, Log-Linearization

Goals

  • understand the concept of a policy function
  • understand the general idea of first-order perturbation approximation
  • understand certainty equivalence
  • understand the algorithm to compute the perturbation matrices using the Linear Rational Expectation model framework
  • [optional] understand Dynare's first-order perturbation solver

To Do

Week 9: Practicing Stochastic Simulations, Impulse Response Functions, Perturbation. Environmental Policy, Trend Inflation in the New Keynesian model.

Goals

  • understand and get used to Dynare's stoch_simul command
  • understand Dynare's sensitivity toolbox
  • study the modeling approach and effects of different environmental policies in a New Keynesian model
  • study the macroeconomics of trend inflation in a New Keynesian model

To Do

  • prepare week 9's exercise sheet
    • read the case-study papers on environmental policy and trend inflation carefully
    • download all files
    • read all the exercises
    • try to prepare the replications
  • bring all your questions and concerns to the Q&A sessions
Week 10: OccBin, Introduction to Higher-Order Approximation

Goals

To Do

  • [ ]
Week 11: Recursive Preferences and Equity Risk Premium and Stochastic Volatility

Goals

To Do

  • [ ]
Week 12: Optimal Policy and Welfare assessment

Goals

To Do

  • [ ]
Week 13: Projection

Goals

To Do

  • [ ]
Week 14: Projection

Goals

To Do

  • [ ]

Content

We cover modern theoretical macroeconomics (the study of aggregated variables such as economic growth, unemployment and inflation by means of structural macroeconomic models) and combine it with numerical methods to study abstract macroeconomic concepts such as optimal monetary, fiscal and environmental policy, occasionally binding constraints (zero-lower-bound, irreversible investment), quantitative easing and rare disasters. To this end, we use the Dynamic Stochastic General Equilibrium (DSGE) model paradigm, particularly focusing on different variants of the New-Keynesian model, and develop the numerical procedures and algorithms required to solve and simulate such models. Using several case studies from the literature the theoretical and methodological foundations of computational macroeconomics are taught.

Topics

  • Algebra of RBC and New-Keynesian models
  • Steady-state
  • Preprocessing of DSGE models
  • Simulation and solution methods
    • perfect foresight
    • 1st-order perturbation (log-linearization)
    • k-order perturbation
    • projection
  • Impulse response analysis
  • Sensitivity analysis
  • Large shocks
  • Rare events
  • Occasionally binding constraints
  • Optimal policy

Case Studies and Replications (Preliminary)

  • Fiscal policy (Baxter and King, 1993, American Economic Review)
  • Epidemics (Eichenbaum, Rebelo and Trabandt, 2022, Journal of Economic Dynamics and Control)
  • Wars (Auray and Eyquem, 2019, Journal of Economic Dynamics and Control)
  • Trend inflation (Ascari and Sbordone, 2014, Journal of Economic Literature)
  • Technology shocks and business cycles (King, Plosser and Rebelo, 1988, Journal of Monetary Economics)
  • International spillovers under different environmental policy regimes (Annicchiarico and Diluiso, 2019, Resource and Energy Economics)
  • Nonlinearities and large shocks (Harding, Linde and Trabandt, 2022)
  • Fiscal multipliers (Linde and Trabandt, 2017, Journal of Applied Econometrics)
  • Optimal environmental policy (Heutel, 2012, Review of Economic Dynamics; Annicchiarico and Di Dio, 2015, Journal of Environmental Economics and Management)
  • Equity premium puzzle (Jermann, 1998, Journal of Monetary Economics)
  • Zero-lower bound on nominal interest rates, irreversible investment (Guerrieri and Iacoviello, 2015, Journal of Monetary Economics)
  • Rare disasters (Fernandez-Villaverde and Levintal, 2018, Quantitative Economics; Isore and Szczerbowicz, 2017, Journal of Economic Dynamics and Control)
  • Endogenous Banking Crises (Boissay, Collard, and Smets, 2016, Journal of Political Economy)

Learning target

Students acquire knowledge of advanced numerical methods in the field of computational macroeconomics. This knowledge is relevant for the realization of a wide variety of macroeconomic research projects and is applied in central banks, ministries, research institutes (e.g. DIW, ifo, IfW, IWH, RWI) and research departments of international organizations (e.g. IMF, World Bank). Upon successful completion of this module, students are prepared to work in these areas. At the same time, the module prepares students for the requirements of a methodologically oriented macroeconomic dissertation.

Students get familiar with a variety of algorithms, examples and situations in which computational thinking is useful in approximating and evaluating abstract macroeconomic phenomena. They recognize and appreciate the connections between theory and computational methods and use their training to find possible avenues of research. While constructing abstract algorithms, they identify appropriate computational tools and evaluate their strengths and weaknesses in the context of problem solving. They utilize computers and software effectively as tools for solving and simulating macroeconomic models. In addition, because students work on the problem sets as a team, students' coordination, organization, and communication skills are enhanced.

Requirements

Basic undergraduate knowledge of macroeconomics as well as econometrics are required, programming skills in a scripting language are advantageous, but not necessary.

Software used

Getting Involved

If you spot mistakes, let me know by opening an issue or write me an email to [email protected]. Moreover, solutions to the exercises in other computer languages (e.g. Julia, Python or R) are highly appreciated. Please sent me those either via email or (better) open a pull request.

computational-macroeconomics's People

Contributors

wmutschl avatar

Forkers

dali-fu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.