Don Walpola wrote a good overview of the bootstrap techniques used for time series (https://stats.stackexchange.com/a/450894).
I searched through the literature, and did not find a single method taking advantage of the rank of a time series to create bootstraps with similar properties.
The idea is simple. Let's consider a time series $y_{n}$ with n $\in [1,N]$. Create $z_{n}$ a bootstrap with replacement of $y_{n}$ so that both time series share same ranks. That's it.
A short example in R with 5 bootstraps:
x <- 1:120 # months.
y <- cos(2*pi*(x-1)/12)+runif(x)+0.03*x # your favorite non-stationary time series
rank.y <- rank(y) # rank of your time series
col5 <- c('red','blue','green','yellow','pink')
plot(x,y,type='l')
for(i in 1:5)
{
y.boot <- sample(y,replace=T)
y.boot <- y.boot[order(y.boot)]
y.boot <- y.boot[rank.y]
lines(x,y.boot,type='l',col=col5[i])
}
This method looks more simple and efficient than a block bootstrap. Am I missing something?
Thanks !