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 now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.