How would I program a Garch in mean model that also has a moving average term?
Hi,
I assume the MA term is to be specified in the model for the mean. If my assumption is correct, then you might want to consider using PROC MODEL. An example of a GARCH-in-mean model specified in PROC MODEL can be found at the following link:
http://support.sas.com/kb/60/808.html#ets_webex.garchex.garchm
PROC MODEL also supports a %MA macro, which can be used to model an MA error process. For more details on fitting a moving average model in PROC MODEL, please see the following documentation link:
PROC AUTOREG might be another alternative for you to consider. The first link above includes an example of fitting a GARCH-in-mean model in PROC AUTOREG. The NLAG= option on the MODEL statement in PROC AUTOREG is used to specify an autoregressive error process. The autoregressive error model is an MA(infinite) model as shown below:
y_t = x_t*beta + u_t = x_t*beta + (I-Phi*L)^(-1)*eps_t
You would need to determine the appropriate NLAG= value, since you are using an MA(infinite) to mimic an MA(q), where MA(infinite) is the inverse of AR(NLAG). More details on PROC AUTOREG can be found at the following documentation link:
I hope this helps!
DW
Hi,
I assume the MA term is to be specified in the model for the mean. If my assumption is correct, then you might want to consider using PROC MODEL. An example of a GARCH-in-mean model specified in PROC MODEL can be found at the following link:
http://support.sas.com/kb/60/808.html#ets_webex.garchex.garchm
PROC MODEL also supports a %MA macro, which can be used to model an MA error process. For more details on fitting a moving average model in PROC MODEL, please see the following documentation link:
PROC AUTOREG might be another alternative for you to consider. The first link above includes an example of fitting a GARCH-in-mean model in PROC AUTOREG. The NLAG= option on the MODEL statement in PROC AUTOREG is used to specify an autoregressive error process. The autoregressive error model is an MA(infinite) model as shown below:
y_t = x_t*beta + u_t = x_t*beta + (I-Phi*L)^(-1)*eps_t
You would need to determine the appropriate NLAG= value, since you are using an MA(infinite) to mimic an MA(q), where MA(infinite) is the inverse of AR(NLAG). More details on PROC AUTOREG can be found at the following documentation link:
I hope this helps!
DW
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
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.