Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Applied Project #2 Objectives
regressions to look for structural breaks in macroeconomic data.
Introduction
Earlier in the class we read Janet Yellen’s speech Inflation Dynamics and Monetary Policy. In the speech, Yellen provides a model of core inflation based on the Phillips Curve. Recall that Yellen provided this inflation forecasting equation:
XXXXXXXXXXXXXXXXXXXXXXXX
In this project, we are going to use a simplified version in our econometric analysis:
XXXXXXXXXXXXXXXXXX
Recall the version of the Phillips curve we are using in class:
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
To translate the classroom version of the Phillips curve to the econometric version, note that the
coefficient �. then becomes our estimate of inflation expectations (�)) and � is our estimate of �. The
variable �����“ is the output gap (�“ − �∗) measured as the log difference (*100) between output (FRED code GDPC1) and potential output (FRED code GDPPOT). Inflation �“ is the year-over-year percentage change of core PCE prices (FRED code JCXFE).
In this assignment, we will study how the coefficients in our estimated Phillips curve evolve over time and whether or not we can stabilize the estimates using an interaction term that magnifies the relationship between inflation and the output gap.
Part 1: Reading
Answer the following questions:
Part 1: Application
We are going to begin with a modification of the Lansing model. Instead of using the change in the headline inflation rate, we will follow Yellen and focus on the core inflation rate (what is the difference between headline and core inflation?).
Begin with data entry and transformation into the correct variables: CALENDAR(Q) 1900:1
ALLOCATE 2019:4
DATA(FORMAT=FRED) * * GDPPOT GDPC1 JCXFE PCEPI
***SET OUTPUT GAP AS LOG DIFFERENCE *** LOG GDPPOT
LOG GDPC1
SET YSLACK = (GDPC1 – GDPPOT)*100
***SET CORE INFLATION AS LOG DIFFERENCE ANNUALIZED OF PRICE*** LOG JCXFE
SET INF = (JCXFE-JCXFE{4})*100
Much of that code should look familiar. You need to set the interaction term described above: SET INTERACT =
Don’t panic, you have all of the variables!
Now, comes a rolling or window regression. The idea is to regress our model over 20 year time spans to see how the coefficients evolve over time. That means the first regression is over the sample 1960:1 to 1980:1, the next is 1960:2 to 1980:2, and so on, until the last end date is reached, in this case 2019:2.
This is easier to accomplish than it sounds. All we need is the end date from the first regression, 1980:1, and the end date of the sample, 2019:2. Then we use the DO instruction to create a loop over those dates.
DO JJ = 1980:1, 2019:2
LINREG(NOPRINT) INF JJ-80 JJ #CONSTANT YSLACK{4}
SET COEFB1 JJ JJ = %BETA(1) SET COEFB2 JJ JJ = %BETA(2)
END DO JJ
The variable JJ is just a counter. The first time you run the loop, it is equal to 1980:1. When the program reaches the END DO instruction, it goes back to the beginning of the block and resets JJ to equal 1980:2. The process continues until JJ reaches 2019:2 and then stops.
Now, look at the LINREG code:
LINREG(NOPRINT) INF JJ-80 JJ #CONSTANT YSLACK{4}
Specifically, look at the start and end dates. The start date is JJ-80. The first value of JJ is 1980:1, so the start date of the first regression is 1980:1 – 80 quarters which is 1960:1. The end date is JJ or 1980:1. So, in effect, RATS is running the regression:
LINREG(NOPRINT) INF 1960:1 1980:1 #CONSTANT YSLACK{4}
Then the next time RATS moves through the loop it runs the regression LINREG(NOPRINT) INF 1960:2 1980:2
#CONSTANT YSLACK{4}
Until the last regression:
LINREG(NOPRINT) INF 1999:4 2019:4 #CONSTANT YSLACK{4}
The lines:
SET COEFB1 JJ JJ = %BETA(1) SET COEFB2 JJ JJ = %BETA(2)
collect the coefficients �. and �0 at each step and put them in the series COEFB1 and COEFB2. The first entry in the series is 1980:1 (JJ in the first run) and the last entry is 2019:4.
Now we repeat the process but replace the output gap as the dependent variable with the interaction term:
DO JJ = 1980:4, 2019:1
LINREG(NOPRINT) INF JJ-80 JJ #CONSTANT INTERACT{4}
SET COEFB1A JJ JJ = %BETA(1) SET COEFB2A JJ JJ = %BETA(2)
END DO JJ
Now we need to chart the results:
GRAPH(HEADER=”Coefficients on Beta 1, modified Lansing model”, $ SUBHEADER=”Core inflation is dependent variable”, $ KEY=BELOW, KLABELS=||”Slack Model”|”Interaction Model”||) 2
#COEFB1 1980:1 2019:2
#COEFB1A 1980:1 2019:2
Notice the $ at the end of the first two lines of code. The $ is needed to break up long lines of code onto separate lines. Review carefully the GRAPH instruction:
(https://estima.com/ratshelp/index.html?graphinstruction.html)
to understand how RATS produces charts. Now for the project:
You will turn in the 4 charts created by this project. Questions: