Hi,
Based on the description of your model, you can obtain your desired result using the following PROC VARMAX specification:
proc varmax data=input_data;
model y a b c / p=1 print=(estimates) ;
restrict ar(1,1,1)=0, ar(1,2,1)=0, ar(1,3,1)=0, ar(1,4,1)=0;
run;
Since you want the variables, A, B and C, to also be regressed on their lags, they must appear on the left-hand-side of the equation.
The output generated by PROC VARMAX includes a table labeled "Covariances of Innovations". This is the variance-covariance matrix of the error terms, which you indicated that you also needed. If you want to save this variance-covariance matrix as a SAS data set, then you can use an ODS OUTPUT statement to do so.
Following, please find a modification of the above code, which illustrates the ODS OUTPUT statement and also provides a modified version of the RESTRICT statement. The modified RESTRICT statement imposes the same restriction, but uses a more concise matrix expression. A PROC PRINT step is added to print the ERROR_COV data set created from the ODS OUTPUT statement.
proc varmax data=input_data;
ods output CovInnovation=error_cov;
model y a b c / p=1 print=(estimates) ;
restrict ar(1,{1,2,3,4},1)=0;
run;
proc print data=error_cov;
run;
I hope this helps!
DW