%stat351_runtest2.m % run tests >>X = normrnd(2,0.5, 100,1) >>time=[1:100] >>plot(time,X,'-') %1 = increasing price %0 = decreasing price for i=2:100 if (X(i)-X(i-1) > 0) Y(i)=1 else Y(i)=0 end; end; >> Y' ans = 0 1 1 0 0 1 1 0 0 . . . %n1 = # of 1's n2= # of 0's >>n1=sum(Y) n1 = 52 >>n2=100-sum(Y) n2 = 48 n=n1+n2; >>P=zeros(1,n); >>for r=2:2:n P(r)=2*nchoosek(n1-1,r/2-1)*nchoosek(n2-1,r/2-1)/nchoosek(n,n1); end; >>for r=3:2:n P(r)=(nchoosek(n1-1,(r-1)/2)*nchoosek(n2-1,(r-3)/2)+ nchoosek(n1-1,(r-3)/2)... *nchoosek(n2-1,(r-1)/2))/nchoosek(n,n1); end; %You will get error message but it's OK because >>sum(P) ans = 1 . . . 0.0000 0.0000 0.0001 0.0001 0.0002 0.0004 0.0009 0.0015 0.0027 0.0045 0.0073 0.0109 ------- 0.0162 0.0224 0.0308 0.0392 0.0497 0.0583 0.0681 0.0738 0.0794 0.0794 0.0789 0.0729 0.0668 0.0569 0.0481 0.0378 0.0294 0.0213 0.0153 -------- 0.0102 0.0067 0.0041 0.0025 0.0014 0.0008 0.0004 0.0002 0.0001 0.0000 0.0000 . . . >> sum(P(1:40)) ans = 0.0177 >> sum(P(1:41)) ans = 0.0286 >>sum(P(62:100)) ans = 0.0163 >> sum(P(61:100)) ans = 0.0265 %do not rejct H_0 if 40 < r < 61. >>time=[1:100] >>X = time.^(1/3) + normrnd(2,0.5, 100,1)' >>plot(time,X,'-')