In summary, the question already states that the alternative hypothesis of the Breusch-Godfrey test is not fully specified a priori. This is correct; however, below I discuss some ways to think about this test that might be helpful.
In theory, the specification of your model should give you some idea about the length of the lag that you can expect. Two examples:
- If you have monthly data, then you should try p=12 to check whether the residuals for, say, all February data points are similar. Similarly, if you have quarterly data, then you should try p=4.
- If you have overlapping data (e.g. t=1 contains S&P 500 returns from January 1950 to January 1960, t=2 contains returns from February 1951 to February 1952, etc.), there is an "information overlap" inherent in the specification of your model. See here and here for more information on this specific issue.
Empirically, you can of course always just try different lags and see how this affects the Breusch-Godfrey (BG) test statistic and the corresponding p-value. As you do so, bear in mind the following:
- As you increase the number of lags, you are increasing the number of regressors in the BG regression (which regresses the residuals on the independent variables of your model and on the lagged residuals). This increase in the number of regressors will naturally lead to an increase in the test statistic since it is defined as n * R-squared (from the BG regression). This is somewhat balanced by the fact that the degrees of freedom of the Chi-Squared distribution (which this test statistic follows) increase with the number of lags and that thus the "significance hurdle" for the test also increases, but it is nevertheless something you should bear in mind.
- The maximum number of lags that you can introduce is n-k, where k is the number of independent variables incl. the intercept. (If you were to have lags up to p=n-k, then the total number of regressors in the BG regression would be p+k=n. Obviously, you can't have a regression with more regressors, incl. the intercept, than data points.) Bear in mind that many computer programs (e.g. Stata and R) fill the beginning of the lagged error vectors with zeros in order to not lose the information in those data points. This is neat but it also means that as p approaches n-k, the additional lags don't contain that much information anymore since they consist mostly of zeros.