new; library tsm,gauss,coint, pgraph; #include c:\gauss32\tsm\kpss.src; iters = 2000; kpvec = zeros(iters,2); advec = zeros(iters,1); TT=25; tim = seqa(1,1,TT); /****************************initiliazing variables**********************************/ kk=1; do while kk<=iters; eps = rndn(TT,1); phi = {0.5, 0.2}; theta = 0.5; drift = 0.5; ttrend = 0.02; ma=zeros(TT,1); ii = 1; do while ii<=TT-1; ma[ii+1] = ttrend*tim[ii+1]+drift+eps[ii+1]+theta*eps[ii]; ii=ii+1; endo; phi0 = {0,0.5}; y = recserar(ma,phi0,phi); _print = 0; {nu,tau} = kpss(y,1); kpvec[kk,.] = nu[1]~tau[1]; {alpha,tstat, c_t } = adf(y,1,1); advec[kk] = tstat; @xy(tim,y);@ kk=kk+1; endo; cv1 = sortc(advec,1); critvadf = cv1[0.05*iters]; cv2 = sortc(kpvec[.,2],1); critvkp = cv2[0.05*iters]; print "ADF critical value ="; critvadf; print "KPSS critical value ="; critvkp; joe1 = delif(cv1, cv1 .>= -3.41); power1 = rows(joe1)/iters; joe2 = delif(cv2, cv2 .<= 0.463); power2 = rows(joe2)/iters; print "Power of ADF test ="; power1; print "Power of KPSS test ="; power2;