Page 1 of 1

Forecasting ARMA(2,2)

Posted: Tue Oct 25, 2022 7:31 am
by nmark@nd.edu
I had my class estimate an ARMA(2,2) on daily returns data from 01/01/70 to 05/10/2023 (IDK how we got to 2023, but that's not the issue), then to forecast 05/11/2023 and 05/12/2023. Using dynamic forecast, the forecasted values are 0.000439047 and 0.000580532 respectively. When you do it by hand, the forecasted values are 0.000805505 and 0.00099325. Excel calculations and eviews workfile are attached. Why are the results different?

Re: Forecasting ARMA(2,2)

Posted: Tue Oct 25, 2022 11:31 am
by EViews Gareth
Hi.

The Excel version appears to be missing the autoregressive application of the constant.

The forecasted value of 5/11/2023 will be equal to:

Code: Select all

r01f = const + ar1*(r01(-1)-const) + ar2*(r01(-2)-const)) + ma1*resid(-1) + ma2*resid(-2)
The forecasted valued of 5/12/2023 will be equal to:

Code: Select all

r01f = const + ar1*(r01f(-1)-const) + ar2*(r01(-2)-const)) + ma2*resid(-2)

In an EViews program:

Code: Select all

wfopen midterm01_2022 !c = eq01.@coef(1) !ar1 = eq01.@coef(2) !ar2 = eq01.@coef(3) !ma1 = eq01.@coef(4) !ma2 = eq01.@coef(5) eq01.makeresid res smpl 5/11/2023 5/11/2023 series r01f_manual = !c + !ar1*(r01(-1)-!c) + !ar2*(r01(-2)-!c) + !ma1*res(-1) + !ma2*res(-2) smpl 5/12/2023 5/12/2023 series r01f_manual = !c + !ar1*(r01f(-1)-!c) + !ar2*(r01(-2)-!c) + !ma2*res(-2) smpl 5/11/2023 5/12/2023 show r01f_manual r01f

Re: Forecasting ARMA(2,2)

Posted: Tue Nov 01, 2022 6:11 am
by nmark@nd.edu
Gareth, thanks for the explanation. But now I am confused. Subtracting the constant from the lagged dependent variable doesn't seem right. Say we just have an AR(1), where y(t) = c + ar1*y(t-1) + error(t), then you are saying eviews one-period ahead forecast will be
y_f = c + ar1*(y(t) - c) = c*(1-ar1) + ar1*y(t), but shouldn't the forecast be y_f = c + ar1*y(t)? This is the conditional expectation afterall. Furthermore, the manual (I'm looking at chapter 25 for eviews 12 manual) doesn't say anything about subtracting the constant from the lagged dependent variable.

Re: Forecasting ARMA(2,2)

Posted: Tue Nov 01, 2022 9:07 am
by EViews Gareth
I believe the confusion arrives based on the definition of running a regression with ARMA terms in EViews. Adding an AR term to an equation in EViews does not specify that the AR process is on Y, rather it specifies the AR process is on the error term.

Code: Select all

Y_t = alpha + nu_t nu_t = rho*nu_{t-1} + epsilon_t
Re-arranging and substituting this, you can see that:

Code: Select all

Y_t = alpha + rho*(Y_{t-1} - alpha) + epsilon_t