/************************************************ * COMPUTE GRANGER-CAUSALITY TEST IN A VAR MODEL * * USING PROC VARMAX * ************************************************/ /* SIMULATE A VAR SERIES */ proc iml; sig = 100 * i(2); phi = {-0.20.1, 0.50.2, 0.80.7, -0.40.6}; call varmasim(y, phi) sigma = sig n = 100 seed = 1; cn = {'y1' 'y2'}; create ts1 from y[colname = cn]; append from y; quit; /* TEST FOR UNIT ROOT */ proc varmaxdata = ts1; model y1 y2 / p = 2 dftest; run; /* Dickey-Fuller Unit Root Tests Variable Type Rho Pr < Rho Tau Pr < Tau y1 Zero Mean -1.77 0.3577 -0.93 0.3125 Single Mean -8.20 0.1970 -2.23 0.1960 Trend -7.07 0.6459 -1.69 0.7491 y2 Zero Mean -9.17 0.0336 -2.10 0.0350 Single Mean -40.92 0.0009 -4.23 0.0010 Trend -41.19 0.0003 -4.09 0.0090 RESULT: NULL HYPOTHESIS OF UNIT ROOT CAN'T BE REJECTED */ /* TEST FOR UNIT ROOT AND CAUSALITY AFTER DIFFERENCING */ proc varmaxdata = ts1; /* DIFFERENCING VARIABLES USING DIFY OPTION */ model y1 y2 / p = 2 dftest dify = (1); /* SPECIFY CAUSAL STATEMENT FOR CAUSALITY TEST */ causal group1 = (y1) group2 = (y2); run; /* Dickey-Fuller Unit Root Tests Variable Type Rho Pr < Rho Tau Pr < Tau y1 Zero Mean -357.22 0.0001 -13.32 <.0001 Single Mean -358.43 0.0001 -13.28 <.0001 Trend -393.25 0.0001 -13.91 <.0001 y2 Zero Mean -725.38 0.0001 -18.14 <.0001 Single Mean -725.39 0.0001 -18.05 <.0001 Trend -744.93 0.0001 -18.20 <.0001 RESULT: NULL HYPOTHESIS OF UNIT ROOT IS REJECTED Granger-Causality Wald Test Test DF Chi-Square Pr > ChiSq 1 2 40.30 <.0001 Test 1: Group 1 Variables: y1 Group 2 Variables: y2 RESULT: NULL HYPOTHESIS OF Y1 NOT CAUSED BY Y2 IS REJECTED */