Skip to content

wmutschl/Quantitative-Macroeconomics

Repository files navigation

Build LaTeX Run MATLAB

Quantitative Macroeconomics

These are my course materials for the graduate course on Quantitative Macroeconomics taught at the University of Tübingen.

The compiled PDF materials are available under Releases (make sure to click Show all assets).

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 what Quantitative Macroeconomics is about
  • decide whether you want to take the course
  • prepare your computer for the course with MATLAB or Octave
  • do your first steps in MATLAB or Octave
  • (optionally) install GitKraken and do your first steps with git

To Do

  • read the general course information.
  • have a look at the exercises for week 1; we will do them together in class
  • prepare your computer
  • write down all your questions
  • schedule an online meeting with me
    • put "I am interested in this course" under "What is the meeting about?"
    • check your emails and cancel the meeting again using the link in the email
    • now you know how easy it is to schedule a meeting with me :-)
  • participate in the Q&A sessions
Week 2: Time series data and fundamental concepts

Goals

  • learn how to obtain macroeconomic data from different sources
  • learn how to visualize macroeconomic time series data and do some basic descriptive statistics with MATLAB
  • learn about different frequencies and what they can be useful for
  • understand the concept of a white noise process
  • get intuition about stationarity, autocovariance function, lag-operator, conditional and unconditional moments
  • simulate white noise processes and moving-averages in MATLAB

To Do

  • review the solutions of last week's exercises and write down all your questions
  • read Bjørnland and Thorsrud (2015, Ch.1 and Ch.2) and Lütkepohl (2004, Sec. 2.1, 2.2, 2.3). Make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand
  • do exercises 1 and 2, write down all your questions and problems; we'll do exercise 3 in class
  • participate in the Q&A sessions with all your questions and concerns
  • for immediate help: schedule a meeting
  • (optionally) checkout the short Beginner Git Video Tutorials from GitKraken
Week 3: Dependent time series data and the autoregressive process

Goals

  • understand the concept of an AR(1) and AR(p) process
  • get intuition about the law of large numbers and the central limit theorem
  • visualize the law of large numbers and the central limit theorem for dependent data using Monte Carlo simulations

To Do

  • review the solutions of last week's exercises and write down all your questions.
  • read Lütkepohl (2004, Sec. 2.2, 2.3, 2.5.2), Lütkepohl (2005, Appendix C) and Bjørnland and Thorsrud (2015, Ch.1 and Ch.2); make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand
  • prepare exercise sheet 3: do exercises 1 and 3 at home, we'll do exercises 2 and 4 in class
  • participate in the Q&A sessions with all your questions and concerns
  • for immediate help: schedule a meeting
  • (optionally) checkout the short Intermediate Git Video Tutorials from GitKraken
Week 4: Ordinary Least Squares (OLS) and Maximum Likelihood (ML) estimation of the autoregressive process

Goals

  • review OLS and ML for the AR(p) process
  • implement OLS and ML estimation of the AR(p) process

To Do

  • review the solutions of last week's exercises and write down all your questions
  • read Lütkepohl (2004); make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand
  • TRY (!!!) to do exercise sheet 4; particularly, create your own ARpOLS.m and ARpML.m functions
  • participate in the Q&A sessions with all your questions and concerns
  • for immediate help: schedule a meeting
  • (optionally) checkout the short Advanced Git Video Tutorials from GitKraken
Week 5: Information Criteria, Specification Tests, and Bootstrap

Goals

  • understand the intuition of information criteria, specification tests and the bootstrap
  • implement simple examples for information criteria, specification tests and the bootstrap for the univariate AR(p) process

To Do

  • review the solutions of last week's exercises and write down all your questions
  • re-read Lütkepohl (2004) and quickly go through Kilian and Lütkepohl (2007, Ch. 12.2); make note of all the aspects and concepts that you are still not familiar with or that you find difficult to understand
  • TRY (!!!) to do exercises 1 and 2 of the problem set for week 5; we will do exercise 3 in class (see this video)
  • participate in the Q&A sessions with all your questions and concerns
  • for immediate help: schedule a meeting
  • (optionally) fork the course repository on GitHub
Week 6: Multivariate Time Series Concepts

Goals

Familiarize yourself with

  • important matrix concepts such as Eigenvalues, Kronecker product, orthogonality, rotation matrices, Cholesky decomposition and Lyapunov equations
  • multivariate notation and dimensions of vectors and matrices for VAR(p) models
  • autocovariances, stability and covariance-stationarity in multivariate VAR(p) models
  • the companion form

To Do

  • Review the solutions of last week's exercises (except the bootstrap one) and write down all your questions
  • Read Kilian and Lütkepohl (2007, Ch. 2.2) and Lütkepohl (2005, Chapter 2 and Appendix A); make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand
  • Do exercise sheet 6 (the solutions are already available)
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 7: Estimating VAR model with OLS and ML; The identification problem in SVAR models

Goals

  • estimate VAR models with Ordinary Least Squares (OLS) and Maximum Likelihood (ML)
  • understand the identification problem in SVAR models

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Read Kilian and Lütkepohl (2007, Ch. 2.3 and Ch. 2.6); make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand
  • Do exercises 1 and 2 of problem set 7; we will do exercise 3 in class
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 8: Short-run restrictions in Structural Vector Autoregressive (SVAR) Models

Goals

  • understand recursive identification, short-run restrictions and the impact matrix
  • implement recursive identification both via Cholesky or numerical optimization
  • implement short-run restrictions using numerical optimization

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Read Kilian and Lütkepohl (2007, Ch. 4.1, Ch. 7.6, Ch.8, Ch.9); make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand
  • Do exercises 1 and 2 from problem set 8; we will do exercise 3 in class
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 9: Short-run and Long-run restrictions in Structural Vector Autoregressive (SVAR) Models, Asymptotic and Bootstrap Inference in SVARs Identified By Exclusion Restrictions: Theory

Goals

  • understand long-run restrictions and the long-run multiplier matrix
  • implement short-run and long-run restrictions using numerical optimization
  • understand pros and cons of asymptotic inference for the impulse-response function of SVAR models
  • understand pros and cons of bootstrap inference for the impulse-response function of SVAR models

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Read Kilian and Lütkepohl (2007, Ch. 4.1, Ch. 7.6, Ch.8, Ch.9, Ch.10.1, 10.3, 10.4, 10.5, 11.1, 11.2, 11.3). Make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand.
  • Do exercises 1 and 2 of problem set 9
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 10: Bootstrap Inference in SVARs Identified By Exclusion Restrictions

Goals

  • implement and compare asymptotic and bootstrap standard deviations of structural IRFs
  • implement and compare asymptotic and bootstrap confidence intervals of structural IRFs

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Read Kilian and Lütkepohl (2007, Ch. 12.1-12.5, Ch. 12.9). Make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand.
  • We will do the exercises in class.
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 11: Introduction to Bayesian estimation and the Gibbs sampler

Goals

  • understand the difference between Frequentist and Bayesian Bayesian estimation methods
  • get familiar with the terminology and key ingredients of the Bayesian framework
  • understand the Gibbs sampler
  • estimate a multivariate linear regression model and an univariate autoregressive model with Bayesian techniques

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Read Greenberg (2008, Part I, Ch. 7.1, Ch. 10.1), Koop (2003, Ch. 1-3), and Chib and Greenberg (1994). Make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand.
  • We will do the problem set in class.
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 12: Bayesian estimation of VAR models and the Minnesota prior

Goals

  • apply the Bayesian estimation framework and methods from last week to the multivariate case
  • understand the Minnesota prior
  • estimate a multivariate vector autoregressive model with Bayesian techniques and a Minnesota prior that is fine-tuned to include the zero-lower-bound period of nominal interest rates

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Read Kilian and Lütkepohl (2017, Ch. 5) and Koop and Korobilis (2010, Ch. 1-2). Make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand.
  • We will do exercise sheet 12 together in class.
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 13: Introduction to DSGE models

Goals

  • understand the DSGE model framework, its basic structure and key challenges
  • understand the algebra of a basic RBC model and of a basic New Keynesian model
  • compute the steady-state of the RBC model with either MATLAB or Dynare

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Read Fernandez-Villaverde, Rubio-Ramirez, and Schorfheide (2016, Ch.1) and Torres (2013, Ch. 1).
  • Read EITHER Gali (2015, Ch. 3) OR Heijdra (2017, Ch. 9) OR Romer (2019, Ch. 7) OR Woodford (2003, Ch. 3) OR Walsh (2017, Ch. 8)
  • Watch Algebra of New Keynesian models
  • Make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand.
  • Do exercise sheet 13
  • If you have questions, get in touch with me via email or (better) schedule a meeting
Week 14: Solving DSGE models

Goals

  • understand the first-order perturbation solution to DSGE models
  • apply it to the basic New Keynesian model

To Do

Week 15: Kalman filter and Metropolis-Hastings

Goals

  • understand the Kalman filter and its use in DSGE models
  • understand the Metropolis-Hastings algorithm and its use in DSGE models

To Do

  • Review the solutions of last week's exercises and write down all your questions
  • Follow the lecture, you can find the slides on Ilias.
  • Make note of all the aspects and concepts that you are not familiar with or that you find difficult to understand.
  • If you have questions, get in touch with me via email or (better) schedule a meeting

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 econometric methods (the application of formal statistical methods in empirical economics). We focus on the quantitative aspects and methods for solving and estimating the most prominent model classes in macroeconomics: Structural Vector Autoregressive (SVAR) and Dynamic Stochastic General Equilibrium (DSGE) models. Using these two model strands, the theoretical and methodological foundations of quantitative macroeconomics is taught. The students are thus enabled to understand the analyses and forecasts of public (universities, central banks, economic research institutes) as well as private (business banks, political consultations) research departments, but also to derive and empirically evaluate their own structural macroeconomic models.

As Quantitative Macroeconomics is highly computational, the course is interactive and hands-on, so there is no formal separation between the lecture and the exercise class. Each topic begins with a theoretical input and presentation of methods. These concepts are practiced directly thereafter by means of exercises and implemented on the computer in MATLAB and Dynare.

Topics

Time Series Analysis

  • Fundamentals of macroeconomic time series data
  • Autoregressive processes and dependent series
  • Estimation methods for autoregressive processes (Ordinary Least Squares & Maximum Likelihood)
  • Evaluation tools: Information criteria, specification tests, and bootstrap
  • Multivariate time series and Vector Autoregressive (VAR) models
  • VAR model estimation (Ordinary Least Squares & Maximum Likelihood)

Structural Vector Autoregressive (SVAR) Models

  • Identification problem in Structural Vector Autoregressive (SVAR) models
  • Recursive identification, short-run and long-run restrictions in SVAR models
  • Asymptotic and Bootstrap Inference in SVARs Identified By Exclusion Restrictions
  • Introduction to Bayesian estimation and the Gibbs sampler
  • Bayesian estimation of (S)VAR models and the Minnesota prior
  • Narrative identification in SVAR models
  • Local Projections

Dynamic Stochastic General Equilibrium (DSGE) Models

  • Algebra of RBC and New Keynesian Models
  • First-order perturbation of DSGE models
  • Generalized/Simulated Method of Moments
  • Kalman Filter and Smoother
  • Maximum Likelihood
  • Bayesian Markov Chain Monte-Carlo (MCMC) techniques
    • Random-Walk Metropolis Hastings
    • Slice Sampling

Case Studies and Replications (TBA)

Learning target

Students acquire knowledge of advanced methods of quantitative research in the field of modern 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 quantitatively oriented macroeconomic dissertation.

The gained methodological skills enable a precise understanding and largely independent empirical analysis of the most important model classes in quantitative macroeconomics. Students are familiar with a variety of examples and situations in which quantitative thinking is useful in explaining abstract macroeconomic phenomena. They recognize and appreciate the connections between theory and evidence and use their training to find possible avenues of research. While constructing abstract models, they identify appropriate economic and statistical tools and evaluate their strengths and weaknesses in the context of problem solving. They utilize computers and software effectively as tools for solving and estimating 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 willi@mutschler.eu. 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.