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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.