Ragged Edge ARMA Forecasting

For technical support, tips and tricks, suggestions, or any other information regarding the EViews model object.

Moderators: EViews Gareth, EViews Moderator

JRichards
Posts: 1
Joined: Tue Jun 10, 2014 3:34 pm

Ragged Edge ARMA Forecasting

Postby JRichards » Tue Jun 10, 2014 3:53 pm

Version 8, build June 4, 2014

I have multiple series that I want to forecast, with ARMA processes in their equations. The history is a ragged edge (ends in different periods for each endogenous variable, according to when data is released). If I start the model solve way back in history (period 700 in the example below), excluding actuals, then I get a forecast that (to all intents and purposes) does not include the ARMA processes. If I start the model solve in the first period with missing data for any of the endogenous variables (Y1, period 801 in the example below), then it includes the ARMA process for that variable, but doesn't for variables that start in different periods. If I start the model solve in the later period, it only incorporates the ARMA process for the second endogenous variable (Y2, period 803 in the example below).

So the question is: what is the best way of using a model object to forecast series with ARMA processes that have a ragged historical edge (obviously it's easy if there are no linkages between the series, simply forecast them individually, but if they are functions of each other)?

Code: Select all

'create workfile wf u 1000 'create independent variable smpl @all series X = nrnd 'create series with AR error process smpl 1 1 series ARProcess = 1 smpl 2 @last ARProcess = 0.8*@lag(ARProcess,1) + nrnd 'series with MA error process smpl @all series MAResid = nrnd series MAProcess = MAResid + 0.7 * @lag(MAResid,1) 'create dependent variables smpl 1 800 series Y1 = X + ARProcess smpl 1 802 series Y2 = X + MAProcess 'estimate equations and add to model model m_test smpl 200 @last equation eq_Y1.ls Y1 X AR(1) m_test.merge eq_Y1 equation eq_Y2.ls Y2 X MA(1) m_test.merge eq_Y2 'forecasting from different start dates %StartDateList = "700 801 803" for %startdate {%StartDateList} m_test.scenario(n, a=%startdate) Forecast from Obs {%startdate} excluding actuals m_test.exclude(actexist=t) smpl %startdate @last m_test.solve next 'graph showing difference smpl 790 820 for %Y Y1 Y2 %graphlist = @wcross(%Y,%StartDateList,"?_?") + " " + %Y graph gr_{%Y}.line {%graphlist} show gr_{%Y} next

Return to “Models”

Who is online

Users browsing this forum: No registered users and 1 guest