Applying an Ornstein–Uhlenbeck Mean-Reversion Model to Pairs Trading
Summary
The document outlines a proposed workflow for applying an Ornstein–Uhlenbeck process to a pair of potentially cointegrated stocks. The suggested steps are to estimate a linear relationship by OLS, form a residual or auxiliary series, fit an AR(1) model to estimate mean-reversion parameters, and use those estimates to calculate an S-score for trading decisions.
The central issue is how to carry the estimation into an out-of-sample period: whether to hold the regression coefficients fixed for a short horizon and update the residual process and score as observations arrive. The author reports that daily refitting or using fixed coefficients produced unstable or unprofitable results, and that some parameter estimates became invalid. No accepted solution or evidence resolving these issues is provided, so the note is best read as a question about model implementation. It also highlights that the choice between prices and returns, and the stability of the estimated relationship, can materially affect results.
Key ideas
- An OU pairs strategy can be constructed by modeling the spread between two related assets as mean reverting.
- A proposed workflow estimates the pair relationship, fits an AR(1) model to the spread, and converts the parameters into an S-score.
- Out-of-sample use raises the question of whether regression coefficients should remain fixed while spread estimates are updated.
- The reported experiments were unstable, and the document does not establish a profitable implementation.
Tags
Full text
# How to trade the Ornstein-Uhlenbeck process? # How to trade the Ornstein-Uhlenbeck process? My question comes from this paper, which is a short version of Avellaneda's paper The picture bellow provides a summary of the equations. Do I understand correctly that in order to trade OU process I need to: - Run an OLS on two stocks (presumably cointegrated) with a lookback of 60 days - Calculate the auxiliary process X(k). (2.5) - Run AR(1) model on (2.5) series. (2.6) - Estimate OU parameters, and calculate the s-score which is -m/sigma since last X(k) = 0 - Now steps 1-4 are in sample, but how do I proceed with the out of sample period? From the Chen's paper I understand that I would hold B0 and B1 constant and estimate next 5 days residuals, for each of those days I would repeat steps 2,3,4,5. Is it correct? Previously I tried calculating S-score for every day running steps 1-4, but this approach is not profitable and generates random returns. I also tried holding the OLS beta constant for some time and calculate S-scores based on the residuals obtain with those constants, but with this approach beta becomes > 1 and equilibrium standard deviation is a square root of a negative number. All this was using actual prices instead of returns. If I use daily returns, results get random. Could someone please help?
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.