My question is how to make code when I model GARCH volatility by adding explanatory variable.
For example, I would like to add variable X(short-term interest rate) in the conditional variance equation of stock market return (Y). This means that the volatility of stock market returns at time t is affected by short-term interest rate at time t. Please let me know the code sample, assuming simple GARCH(1,1) model.
Yes. The equivalent AUTOREG code for the MODEL code I supplied is:
proc autoreg data=drate;
model y = / garch=(p=1,q=1);
hetero x / coef=nonneg;
run;
Here's an example of a GARCH(1,1) model using PROC MODEL which includes a simple linear dependence of the volatility on interest rate. The data set 'drate' would contain an endogenous variable 'y' of stock market returns, and 'x' of interest rates.
proc model data=dratee;
/* Mean model */
y = sret;
/* Variance model ----------------*/
h.y = b*x
+ arch0 + arch1*xlag(resid.y**2, mse.y) + garch1*xlag(h.y, mse.y);
bounds b arch0 arch1 garch1 >= 0;
fit y / fiml;
quit;
Thanks a lot. Then can I also try PROC AUTOREG with HETERO option?
For example,
PROC AUTOREG DATA=RETURN;
MODEL Y=A B / GARCH=(P=1,Q=1);
HETERO TBOND;
RUN;
Yes. The equivalent AUTOREG code for the MODEL code I supplied is:
proc autoreg data=drate;
model y = / garch=(p=1,q=1);
hetero x / coef=nonneg;
run;
Nearly 200 sessions are now available on demand in the Innovate Hub.
Watch Now →