If a model with exogenous (input) variables is estimated in PROC VARMAX and out-of-sample forecasts of the response variables are desired, future values of the input variables must be provided. PROC VARMAX first checks to see if future values of the input variables are included as part of the DATA= data set. If they are, the procedure uses these values when forecasting the response variables. If future values of the input variables are not provided as part of the DATA= data set, PROC VARMAX automatically forecasts these variables using the same VARMA model fit to the response variables. In this latter case when PROC VARMAX automatically forecasts the input variables, the out-of-sample forecasts for the response variables are incorrect.
If you are using SAS 9.2 TS2M2 or later, and if the P= option in the MODEL statement specifies a number greater than 0, and the Q= option is not specified or Q= 0 is specified, then this issue no longer exists.
If you are using SAS 9.4 TS1M3 or later, and the Q= option specifies a number greater than 0, no out-of-sample forecasts for the response variables are produced, and the following warning message is issued in the log:
WARNING: The value of LEAD=number in OUTPUT statement. There are only 0 future independent observations. The value of LEAD will take the minimum of two values.
To circumvent the problem, use either a prior PROC VARMAX step or some other method to forecast the exogenous variables and then append these forecasts to the bottom of the DATA= data set passed to the PROC VARMAX step used to model and forecast the response variables.