The Dynamics of German Investment, Consumption, and Income: Cholesky Decomposition for SVAR on STATA

In a previous post the dynamics of U.S. macroeconomic variables were estimated using a Vector Autoregression.  In that standard VAR estimation every equation can be estimated as a stand alone regression, but there some specification issues and violations of the Classical Linear Regression Model are present.  In this post a Structural Vector Autoregression will be identified and estimated using STATA.  Special restrictions will be based on the contemporaneous affects of macroeconomic variables to get better estimates  Germany’s long range dynamics.  The restrictions on contemporaneous interactions among variables will be lower triangular and will yield what is called a Cholesky decomposition of the SVAR. At the end of this post a analysis will be calculated that will explain the short term impact of changes in income and investment on consumption in the short-term.

Data and Variables

The data used belong from the STATA data library and is based on work done by Lutkephol(1993) and contains quarterly data from Germany from the time period of 1960q1 to 1982q2.  There are 3 macroeconomic variables that will be analyzed  are investment, income, and consumption.  All 3 variables will be at the first difference of the logs level to model elasticities and ensure a stationary SVAR and to ease in the interpretation of the Cholesky Decomposition.

Data Source:

Restrictions on Contemporaneous Matrix Following A Cholesky Decomposition

The Cholesky restrictions will be placed on shi system by first defining the contemporenous matrix in STATA.  Creating these matrices in STATA is fairly simple; numbers in the matrices are restrictions and “.” ‘s are parameters that the program is free to estimate:

1Since we have that y = (investment, income, consumption), the A matrix above imposes these restrictions on the contemporaneous interactions among these variables:

  • Matrix A r1: Percentage changes in investments are not contemporaneously affected by consumption or income
  • Matrix A r2: Percentage changes in income is affected by contemporaneous changes in investments but not consumption.
  • Matrix A r3: Finally we assume that percentages changes in consumption are affected by contemporaneous changes in both investments and income.
  • Matrix B:  Is defined as a matrix which is restricted to be diagonal; this matrix represents the weights given to the error terms in the structural VAR

One can argue that the restrictions imposed by this decomposition are not optimum or that there might be a better way to select them.  Theoretical foundations in both macroeconomics and microeconomics have been used to identify this A matrix.  Given the fluidity of economic ideas and theories a better way to restrict the A matrix is possible.

Estimating SVAR

The Iteration Log gives a step by step account of the iterations and the log likelihood estimates that corresponds to these units.   The next section displays the constraints imposed on the on the A and B matrices.  Finally the estimates for the A and B matrices are displayed just below the a header which contains the sample size, no. of obs, Log likelihood and and message indicating that the model is “Exactly identified”.

Cholesky Decomposition

STATA saves the variance-covariance matrix from the underlying var in a variable called e(Sigma).  Using this variable, e(Sigma),to calculate the Cholesky decomposition and interpret the results.

The first command names the e(Sigma) matrix as sig_var and the second command list the items in this matrix.  The next command uses the function cholesky() to performa a cholesky decomposition of the sig_var matrix.  Finally the last command displays the cholesky decomposition of the contemporaneous affect matrix.

Interpretation of Consumption

  • Percentage increases in income have about twice contemporaneous affect that a percentage change in the value of investments.
  • A 10% increase in investment value leads to a 2.5% increase in consumption in the current period
  • A 10% increase in income leads to a 4% increase in in consumption in the current period

Next Step-Impulse Response Functions

Using the Cholesky decomposition the impact of changes in current income and investments were calculated for German consumption.  What about the long-term affects on consumption from sudden unexpected increases in income?  An unexpected gain in the stock market of 10% in 1 quarter may only boost consumption by 4% in the current quarter, but how about in later quarters?  What is the response of consumption to sudden unexpected changes of other variables in the macroeconomy in the medium to long-term?

In order to attempt to answer these questions we would need to use the SVAR and Cholesky decomposition found in this post and calculate what are called Impulse Responses Functions.  Impulse Response Functions are ideal for understanding how shocks to a system of equations, like a macroeconomic model, reverberate throughout the system across time.


7 thoughts on “The Dynamics of German Investment, Consumption, and Income: Cholesky Decomposition for SVAR on STATA

  1. I’m currently doing some work using VAR and SVAR in Stata. I’ve have come across your notes on these models online and was therefore hoping you could help me. From what I can gather, in your examples you use differenced-logged data. In your interpretation of IRFs you multiply the IRF estimate by 100. I’ve seen this done in other examples but it seems odd to me to multiply by 100 when both time series are logged. Have I missed or misunderstood something here or is that just the way it works in Stata?

    Thanks! Your blogs are extremely helpful!

    1. Since the variable are in logs (natural logarithm) they would represent elasticities. I believe STATA has different way of representing IRF as unit-shocks, one-standard deviation shocks, etc. This may be the reason that you may be seeing different units because in my code I don’t multiply IRFs by 100. Can you point to a specific example? I would be happy to look into this. Thank you for your comment.

  2. I think I wasn’t totally clear. I have specified my SVAR almost exactly as you have (but used a different type of transformation due to zero values in the time series) – because the data are logged, I would have though that the interpretation of yours would be that a temporary (one month) 1% increase in investiment leads to a 0.0025% increase in consumption, as opposed to a 0.25% increase. That is what I mean but the IRFs being mutiplied by 100 in your example.

  3. Mr. Espinoza, I am currently doing a 10-variable (say x1,…, x10) Johansen cointegration, normalizing vectors on x1. I suppose that I can obtain long-run elasticity of x1 with respect to x2,…,x10. Should I put x2 in the first order and re-run cointegration if I want to get normalized vectors on x2? How’s about normalized vectors on x3? I am quite confused. Many thanks.

    1. I don’t have much experience with Johansen cointegration. I won’t be of much help on this time series topic.

  4. I am currently running SVAR on stata, but Cholesky decomposition is not possible in my case since it is a non-recursive model. It would be a great if some one could just let me know its calculation/command on stata. So far that I have searched, RATS etc have been used for this purpose but there is nothing with regards to stata. I am estimating a 5 by 5 matrix, with 10 long run restrictions and the matrix is not a perfect upper/lower triangular (non-recursive) matrix.

  5. Dear JJ Espinoza: Hope you will be fine.
    I am currently working on SVAR with Three variables. I studied your post, It helped me alot. But still I need your help on the following aspects:
    1) What are the interpretation of the coefficients a31 & a32 which are (-0.043) and (-0.04247) in your example from the output of SVAR under “Estimating SVAR). Further can we need to explain the coefficient b11, b22 and b33. If yes, what are the possible explaniation of these or any one.
    2) I have made the IRF graph, but I am not able to explain it, some time it starts above the zero line, some time below the zero line and some tine on the zero line. Further, from the IRF graph on the vertical axis. these are the elasiticites (Like one unit change in impulse variables give 0.124 unit positive change in response variable), It is something like this or what it means.
    Kindly guide me in this regard.
    I am very thankful to you for this act of kindness as I am so worried about interpretatiions..

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s