require(tseries) #Rescaled covariance test RCT_alt<-function(x,y,q,d1,d2){ xx<-cumsum(x-mean(x)) yy<-cumsum(y-mean(x)) M<-(q)^(d1+d2)*cov(xx,yy)/(length(xx)*sum((1-abs(-q:q)/(q+1))*ccf(x,y,lag.max=q,type="covariance",plot=FALSE)$acf)) return(M) } #Rescaled covariance test with MBB confidence intervals #rep (MBB repetitions), bs (MBB window size), alpha (confidence level), CV1/CV2 (critical values for level alpha) RCT_MBB<-function(x,y,d1,d2,q,rep,bs,alpha){ M<-runif(rep+1) M[1]<-RCT_alt(x,y,q,d1,d2) for(i in 1:rep){ b<-MBB(x,y,bs) M[i+1]<-RCT_alt(b[,1],b[,2],q,0,0) } CV1<-quantile(M[2:rep+1],probs=1-alpha/2) CV2<-quantile(M[2:rep+1],probs=alpha/2) p_val<-2*(0.5-abs((rank(M)[1]/(rep+1))-0.5)) return(c(M[1],CV1,CV2,p_val)) }