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
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.