Forecasting ARMA(2,2)
Moderators: EViews Gareth, EViews Moderator
-
nmark@nd.edu
- Posts: 10
- Joined: Wed Apr 25, 2018 1:31 pm
Forecasting ARMA(2,2)
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?
- Attachments
-
- midterm01.xlsx
- (131.59 KiB) Downloaded 693 times
-
- midterm01_2022.wf1
- (467.28 KiB) Downloaded 744 times
-
EViews Gareth
- Fe ddaethom, fe welon, fe amcangyfrifon
- Posts: 13600
- Joined: Tue Sep 16, 2008 5:38 pm
Re: Forecasting ARMA(2,2)
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:
The forecasted valued of 5/12/2023 will be equal to:
In an EViews program:
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)
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
-
nmark@nd.edu
- Posts: 10
- Joined: Wed Apr 25, 2018 1:31 pm
Re: Forecasting ARMA(2,2)
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.
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.
-
EViews Gareth
- Fe ddaethom, fe welon, fe amcangyfrifon
- Posts: 13600
- Joined: Tue Sep 16, 2008 5:38 pm
Re: Forecasting ARMA(2,2)
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.
Re-arranging and substituting this, you can see that:
Code: Select all
Y_t = alpha + nu_t
nu_t = rho*nu_{t-1} + epsilon_t
Code: Select all
Y_t = alpha + rho*(Y_{t-1} - alpha) + epsilon_t
Who is online
Users browsing this forum: No registered users and 2 guests
