Why Extreme Pair Spreads Generate Mean-Reversion Signals
Summary
The document explains the direction of a basic pairs-trading signal built from the spread between the price changes of two correlated stocks. The questioner sees a spread above a positive threshold as valuable and expects it to be sold. The answer instead interprets the rule as a mean-reversion trade: an unusually high spread is expected to fall back, so the strategy takes a position intended to profit from that reversal. A low spread prompts the opposite directional signal.
The threshold is set using the spread’s standard deviation, and increasing it makes the signal less frequent. The response recommends considering how the spread’s volatility affects the number of pairs that trigger trades. This is a brief conceptual explanation, not evidence that the pair will revert or that the signal is profitable. It does not define the complete two-leg portfolio positions, discuss hedge-ratio estimation, or address transaction costs and risk controls. The strategy depends on the spread’s tendency to mean-revert, which is not established by correlation alone.
Key ideas
- A high spread can signal a bet on a subsequent decline when the strategy assumes mean reversion.
- A low spread prompts the reverse directional bet in the example.
- The signal threshold is based on spread volatility, and a higher threshold produces fewer signals.
- Correlation between two assets alone does not establish that their spread will revert or yield profits.
Tags
Full text
# Generating buy/sell signals in pairs trading # Generating buy/sell signals in pairs trading I'm reading a quantitative trading book"Quantitative Trading with R" by Harry Georgakopoulos. In the pairs trading section, there's an example that creates the spread and generate buy/sell signals. y and x are the price changes of two correlated stocks. ``` data$spread <- y - hedge_ratio*x threshold <- sd(data$spread, na.rm = TRUE) # Generate sell and buy signals buys <- ifelse(data_out$spread > threshold, 1, 0) sells <- ifelse(data_out$spread < -threshold, -1, 0) ``` I don't understand why do we buy the spread if spread>threshold... In my opinion, if spread>threshold means it is valuable, so we should sell it but in the example, the spread is bought. Thanks! ## Answer by Hao Zhang (score 1) https://quant.stackexchange.com/a/53476 It's a mean reversion play. So if the spread > then the threshold you are betting the spread reverts back. The higher the threshold the fewer amount of times you are betting. I would take a look at how many pairs you are generating with the volatility.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.