After reading this paper I tried to replicate it. I almost done, but I am stuck on the section 3.6 where the author constructs a random pair (how he constructs this?) for Assessing Pairs Trading Performance by using a Bootstrap Method.

Pairs Trading: Performance of a Relative-Value Arbitrage Rule

"In particular, we conduct a bootstrap where we compare the performance of our pairs to random pairs. The starting point of the bootstrap is the set of historical dates on which the various pairs open. In each bootstrap we replace the actual stocks with two random securities with similar prior one-month returns as the stocks in the actual pair. Similarity is defined as coming from the same decile of previous month's performance. The difference between the actual and the simulated pairs returns provides an indication of the portion of our pairs return that is not due to reversion. We bootstrapped the entire set of trading dates 200 times."

Any help??

I trully apreciate a help.

There is Any other way to assess the performance of a pairs trading strategy?



  • $\begingroup$ If you have a list of N stocks, you can select one at random by drawing a random number between 1 and N. Most computer languages have a function that will return a random integer in a specified range (1 to N in this case). $\endgroup$
    – Alex C
    Sep 27, 2019 at 23:39

1 Answer 1


Assume on a date t, your pair trading strategy said trade the pair: A and B, say go long A, and short B. By definition of the pair strategy, it is very likely that the price of A declined whereas that of B increased in the previous period; so from pair trading perspective, A is cheaper, whereas B is expensive. So we buy A and sell expensive B, expecting A to go up, and B to decline.

Now what the quoted paragraph is trying to do is to check whether the return of the pair trading strategy is actually coming from negative auto-correlation, which as per the article you quoted is well documented, and roughly amount to: what goes down, goes up, and vice versa!

To test this hypothesis, they rank the return of the stocks in the previous month (just prior to trading date t), and group it into declines. Now you can replace A and B by random stocks from their respective deciles. So stocks in the decile of A would most likely have declined in the previous month, otherwise they won’t be in the same decile, and the stocks in the same decile as B would have increased in value. If this alternative strategy produces the return of the pair trading then you would have reason to believe that the return of the pair trading is actually coming from negative auto correlation in returns, and labelled pair trading.

You can repeat the randomness in the above, say 200 times, so each time the algorithm will hopefully pick different stocks from the respective deciles of A and B, and you will get more confidence, in the sense that the finding are more robust and not solely driven by one random set of stocks.

You can apply the above logic to all trading dates, which is straightforward, and then aggregate the results.

  • $\begingroup$ many thanks Ive no words. But I dont think if I understand it quite well. My biggest problem is to creating the random stocks, it's very hard for me to understand this part. How do I create these random stocks? It would be like this? The idea is after ranking the returns of assets A and B before time t, I take the deciles of the returns of A and the deciles of Return of B. Based on this I "create" new assets A_r and B_r based in their past deciles (I would use a specific model?). It is? $\endgroup$
    – cassius
    Sep 28, 2019 at 21:33
  • 2
    $\begingroup$ Say decile of A has 20 stocks, then you can order these 20 by return, so the 20 stocks will have numbers from 1 to 20 (say 20 rows in excel).Then you can use, for example, the excel function, RANDBETWEEN(1,20). This function will return a random number, and you can pick the stock in the row corresponding to this number. Each time you refresh, the random function will return a new random number, and hence the bootstrap. $\endgroup$ Sep 28, 2019 at 22:18
  • 1
    $\begingroup$ Thanks!!! Amazing!! Thanks for your time! $\endgroup$
    – cassius
    Sep 28, 2019 at 22:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.