对于毕业论文的实证分析部分,还在看视频学习stata,导师给了我一个do文件,完全看不懂,有没有朋友愿意看一下。
**** MONETARY.DO
*** By Valerie A. Ramey, May 13, 2015
***
*** Requires:
*** monetarydat.dta
***************************************************************************************
* Housekeeping
***************************************************************************************
#delimit;
drop _all;
clear all;
set more 1;
set matsize 1000;
set mem 400m;
capture log close;
;
*****************************************************************************************
log using monetary_results.log, replace; /* save the results in var_results.log */
use monetarydat.dta; /* read the data from a Stata data file I previously created */
describe; /* lists variables and their definitions */
* DEFINE QUADRATIC TREND;
gen t = _n;
gen t2 = t^2;
local p=12; /* This sets the number of lags */
global xlist L(1/`p').ffr L(1/`p').lip L(1/`p').lcpi L(1/`p').lpcom;
********************************************************************;
*** STANDARD VAR;
* RUN A VAR WITH FEDERAL FUNDS RATE ORDERED LAST;
var lip lcpi lpcom ffr, lags(1/`p') level(90) ;
irf create irf, step(48) set(irf, replace);
irf table oirf, impulse(ffr) response(ffr lip lcpi lpcom);
irf graph oirf, impulse(ffr) response(ffr lip lcpi lpcom) byopts(yrescale);
*************************************************************************;
* OLS REGRESSION OF FED FUNDS RATE (FFR) ON 12 LAGS OF ITSELF AND THE OTHER VARIABLES;
reg ffr $xlist;
* RETRIEVE THE RESIDUALS FROM THE LAST REGRESSION;
predict ffr_resid, resid;
* DO THE SAME THING FOR INDUSTRIAL PRODUCTION;
reg lip $xlist;
predict lip_resid, resid;
* NOW REGRESS THE RESIDUAL FROM THE LIP REGRESSION ON THE RESIDUAL FROM THE FFR REGRESSION USING ROMER-ROMER SHOCK AS INSTRUMENT;
ivreg2 lip_resid (ffr_resid = rrshock), robust;
*OR JUST DO IT IN ONE STEP;
ivreg2 lip (ffr = rrshock) $xlist, robust;
**********************************************************************************************;
* JORDA METHOD;
* These variables are defined to convert coefficient estimates to graphs;
gen h = t-1; /* h is the horizon*/
foreach var in b se up95b lo95b {;
gen `var'ly = 0;
};
local shock rrshock;
forvalues i = 0/36 {;
newey F`i'.lip `shock' $xlist, lag(`=`i' + 1');
gen blyh`i' = _b[`shock'];
gen selyh`i' = _se[`shock'];
quietly replace bly = blyh`i' if h==`i';
quietly replace up95bly = blyh`i' + 1.96*selyh`i' if h==`i';
quietly replace lo95bly = blyh`i' - 1.96*selyh`i' if h==`i';
};
tw (rarea up95bly lo95bly h, bcolor(gs14) clw(medthin medthin))
(scatter bly h, c(l ) clp(l ) ms(i ) clc(black) mc(black) clw(medthick)) if h<=20 ,
title("Output", size(medsmall)) legend(off) xtitle("") saving(ly_`shock'.gph,replace);
*********************************************************************************;
capture log close;


雷达卡




京公网安备 11010802022788号







