求问matlab做ADF检验时如何确定滞后阶数。程序如下:
%汇率单位根检验
ExchangeRate = data(:,4);
T = size(ExchangeRate,1);
p=4;
dfExchangeRate=diff(ExchangeRate);
X1=ExchangeRate(p+1:T-1);
T1=size(dfExchangeRate,1);
Y=dfExchangeRate(p+1:T1);
XT=[];
for i=1:p
XT(:,i)=dfExchangeRate(p+1-i:T1-i);
end
X=[XT ones(T1-p,1) X1 ];
betahat=inv(X'*X)*X'*Y;
s2=sum((Y-X*betahat).^2)/(T-1);
cov=inv(X'*X)*s2;
std=sqrt(diag(cov));