Forecasting using SAS Forecast Server, SAS/ETS, and more

VAR(1) ARCH(1) model

Reply
New Contributor
Posts: 2

VAR(1) ARCH(1) model

Is this procedure holds only for bi variate VAR

http://support.sas.com/documentation/cdl/en/etsug/60372/HTML/default/viewer.htm#etsug_varmax_sect037...

proc varmax data=garch;

  model y1 y2 / p=1

  print=(roots estimates diagnose);

  garch q=1;

  nloptions tech=qn;

  run;

Does the code holds good only for two variables.

I have a data set containing 3 variables which are named as dc, i and e.

When i run the same code for the three variables

proc varmax data=mydata;

  model dc i e / p=1

  print=(roots estimates diagnose);

  garch q=1;

  nloptions tech=qn;

The following error message appears on my screen

-------------------------------------------------------

NOTE: The default (METHOD=ML) is used.

ERROR: QUANEW Optimization cannot be completed.

NOTE: QUANEW needs more than 200 iterations or 2000 function calls.

ERROR: Optimization cannot be completed.

NOTE: PROCEDURE VARMAX used (Total process time):

      real time           2.19 seconds

      cpu time            2.07 seconds

-------------------------------------------------------

Is there any problem with my data , because the same message appears when I use other non linear optimizing techniques provided in  the link below.

http://support.sas.com/documentation/cdl/en/etsug/60372/HTML/default/viewer.htm#etsug_nlomet_sect005...

For convenience I am also attaching my data file in excel.

SAS Employee
Posts: 89

Re: VAR(1) ARCH(1) model

Hello Amlan,

Thank you for your question.  Actually, I took your file and code and tried it on my 9.4 SAS with 12.3 SAS/ETS and the optimization completed just fine.  My guess is that you are on a previous version of SAS/ETS.


In recent years, the VARMAX routine has received algorithm improvements that greatly enhance optimization.

If you are unable to upgrade to the newest version of SAS you might want to see if you can bump up the iterations and function calls, such as with

nloptions maxiter=500 maxfunc=5000;

Best of luck-Ken

Attachment
Ask a Question
Discussion stats
  • 1 reply
  • 1384 views
  • 0 likes
  • 2 in conversation