Quantitative finance collector
C++ Matlab VBA/Excel Java Mathematica R/Splus Net Code Site Other
Sep 27

Mean Reversion Speed Estimation - What Am I Missing?

Posted by abiao at 07:46 | Others | Comments(6) | Reads(26733)
I am stuck by the method to estimate the mean reversion speed (and hence half life) described in the book Quantitative Trading: How to Build Your Own Algorithmic Trading Business, on page 140 the author said suppose the mean reversion of a time series can be modeled by an equation called the Ornstein-Uhlenbeck formula, and denote the mean-reverting process of a stock z be writen as
Open in new window
where mu is the mean value of the prices over time, and dW is simply some random Gaussian noise. Given a time series of the daily spread values, we can easily find theta(and mu) by performing a linear regression fit of the daily change in the spread dz against the spread itself, then we are able to calculate the half-life as log(2)/theta, which is the expected time it takes for the spread to revert to half its initial deviation from the mean. This half-life can be used to determine the optimal holding period for a mean-reverting position and as a measure for exit-trading strategy.

So far so good. But then I am confused by the example 7.5 for theta estimation, where the author simply regresses dz on Open in new window,  is it correct? as we know if a process is mean reverted like above, it can be rewriten as
Open in new window
with Ito lemma, where the error term is normally distributed, therefore basically regression of dz on Open in new window returns a value for Open in new window instead of for theta itself.

In order to check the issue, I simulate a mean reversion process with dt=0.05, theta=0.75, mu=0.02 and run a regression
simulated mean reversion process
ols(dz, (mu - z(t-1))) = 0.03767243
It is far away from the true value 0.75, and we get a closer number 0.7680074 if we invert it back based on the equation Open in new window.

Is it an error of the book or am I missing something? help me.

To first order (1-exp(-b dt)) = b dt. So Chan's method works well for small time steps (we need dt^2<<dt). Your method is correct and works for any time step.
yes, then he still needs to divide dt, right?
Personally I did not have any luck with OU process modelling either. The estimates seem to be very unreliable and are sometimes even negative. I wonder if OU-process is a valid model to estimate mr-process.
@abiaoTrue, but that is simply a change of units.By the way, I think that MLE is worth trying too. The likelihood is known in closed form.
Many thanks, Hemingway, I tried MLE just now, more flexible.
Great article, I unfortunately had some problems printing this artcle out, The print formating looks a little screwed over, something you might want to look into. brain games
Pages: 1/1 First page 1 Final page
Add a comment
Enable HTML
Enable UBB
Enable Emots
Nickname   Password   Optional
Site URI   Email   [Register]