My understanding is that, the ARCH tests supported in PROC AUTOREG, the Breusch-Pagan test and White test supported in PROC MODEL, they all test for heteroskedasticity in the residuals, but they are just testing against different forms of heteroskedasticity, or no form specified in the White test case. I have only seen the ARCH model being referenced as 'conditional heterskedastic', due to Engle(1982), which describes the conditional variance depending on the past.
For the ARCH test, it is testing against alternative of ARCH process, which means,
h_t = alpha0 + alpha1*(epsilon_t-1)^2 + alpha2*(epsilon_t-2)^2 + ..... + alpha_p*(epsilon_t-p)^2, not all alpha_i equal to 0.
For the Breusch-Pagan test, it is testing against alternative that error variance depends on a set of variables which you specify on the BREUSCH = ( ) option:
h_t = sigma^2*(alpha0 + alpha1*z1 + alpha2*z2 + ... + ), not all alpha_i equal 0.
You can do ARCH test in PROC AUTOREG, and Breusch-Pagan test in PROC MODEL. However, both of these procedures perform the test on the residuals directly from the specified regression in the procedure. If you get residuals outside of these procedures, and you want to perform these tests on the residual series, then you may fit a 'regression' of the residual series on zero mean and no regressor, so that the residual from this 'regression' is still the residual series itself. For example,
/* ARCH test on the residuals */ proc autoreg data= residualdata; model residual = /noint archtest=(all); run;
/* Breusch-Pagan test on the residuals */ proc model data=residualdata; parms const ; residual = const ; fit residual / breusch=(1 z1 z2); restrict const = 0 ; run;quit;
I hope this helps.
... View more