name varsiml 'Using SIML to Compute an Impulse Response Function for a VAR' ; ? ? TSP's VAR doesn't have an option for computing the impulse ? response from shocks to all variables in the initial period). ? You'll need to use SIML to do this. Here is an example of how ? to do it: ? ? Simulate some data for testing (remove for the real problem). ? const n 100 ; SET N1 = N+1; SET N2 = N+2; SET N11 = N+11; ? Forecast 10 = 11-1 periods forward. smpl 1 n11 ; random(seedin=942892) x1 x2 ; smpl 1 n ; random e1 e2 e3 ; smpl 1 n ; y1 = 0 ; y2 = 0 ; y3 = 0 ; smpl 2 n ; y1 = c+x1+e1; y2 = y1(-1)+x2+e2 ; y3 = y2(-1)+x1+e3 ; ? ? End of data simulation. ? smpl 2 n ; VAR(NLAG=1) Y1 Y2 Y3 | C X1 X2; ? 3 Ys x 6 coefs each ? ? Try new Forecast procedure. ? SMPL N1,N1; READ Y1 Y2 Y3; 1 .2 2; ? Shocks in the initial period. SMPL N2,N11; ? Simulation period; assuming values for X1 X2 exist. forcst (print) y1f y2f y3f ; print y1f-y3f ; ? ? Make the equations for forecasting, using SIML. ? SMPL 1,6; UNMAKE @COEF S1-S3; DOT 1-3; MMAKE C. S.; ? 3 separate COEF vectors FORM(COEFPREF=B.) EQ. Y. Y1(-1) Y2(-1) Y3(-1) C X1 X2; ? 3 Equations print eq. ; unmake C. B.1-B.3 B.0 B.4-B.5; ? B.0 is for C form(const) eq.; print eq.; ENDDOT; smpl n1 n1 ; read y1 y2 y3 ; 1 .2 2 ; smpl n2 n11 ; SIML(prndat,ENDOG=(Y1-Y3)) EQ1-EQ3;