Skip to content
All library documents

Mean-Reversion Half-Life: Shock Decay and Crossing-Time Limits

Article Quant Q&A · Author: Vladimir Belik

Summary

The document distinguishes a model’s half-life from an empirical count of mean crossings. In an AR(1) model, half-life measures how long an isolated shock takes for its expected effect to fall by half; it follows from the persistence parameter. An Ornstein–Uhlenbeck process gives the analogous continuous-time concept, with a constant half-life determined by its mean-reversion rate. The document also notes that other mean-reverting models may have state-dependent decay times.

Counting crossings instead estimates intervals between observed reversals, which is a different quantity and can be distorted by noisy oscillations near the mean, sampling frequency, and uncertainty in the estimated mean. One response favors thresholded crossing counts as a practical empirical measure, while another warns that this approach depends on the process having clean cycles. These are competing perspectives rather than a demonstrated comparison: the document offers no systematic performance evidence, and the appropriate measure depends on whether the goal is model-based shock decay or observed crossing behavior.

Key ideas

  • Half-life in an AR(1) model is the time required for an isolated shock’s expected effect to decline by half.
  • An Ornstein–Uhlenbeck process has a constant half-life determined by its mean-reversion rate.
  • Crossing counts measure observed intervals between reversals rather than modeled shock decay.
  • Frequent crossings near the mean can make crossing-based estimates sensitive to sampling and mean estimation.
  • The suitable method depends on the process assumptions and the quantity being measured.

Tags

Full text
# Why do I need fancy methods to calculate half-life of mean reversion?


# Why do I need fancy methods to calculate half-life of mean reversion?












I am investigating ways to calculate the mean reversion half life of a mean reverting series. I am encountering things like the Ornstein – Uhlenbeck Process and various types of regression to estimate this value (the half-life).

What I want to understand is this: If I have a series, why can't I just deduce the half-life in a straightforward/dumb way of just calculating how many mean-reversions happened during the series and divide that by 4 to get the half-life? Isn't that the empirically correct way of calculating the mean half-life for mean reversions for the series? What do I gain by using all this fancier math?

For example, if I have a series 1000 periods long, and 5 reversions happen.. doesn't that mean that on average, one full cycle takes 200 periods on average, meaning that the half-life (time for the value to get pulled halfway back to the mean) is, on average, 50 periods? I guess I'm assuming a symmetric structure (moving away from mean same speed as moving towards mean), but what is fundamentally wrong with this approach?

## Answer by mark leeds (score 4)

https://quant.stackexchange.com/a/70343

I think your notion of half life is interesting but, technically, it's not the definition of what half life is. The AR(1) is the best way to see it but keep in mind that the principle is the same regardless of what model is being considered.

Suppose one has:

$y_t = \phi y_{t-1} + \epsilon_t $

Also, assume that $y_{0} = 0$ and there is a shock, $\epsilon_{0}$ at $t = 0$ and no other shocks in the future.

Then, the notion of half life captures the answer to the question: "When does a shock's response become half of what it was initially".

So, when does $\epsilon_{0}$ become half of what it was initially ? That will be the case when $\phi^{hl} = \frac{1}{2}$ where $hl$ is the half-life.

Why is that ? This is because the AR(1) can be re-written as

$y_{t} = \sum_{i=0}^\infty \phi^{i} \epsilon_{t-i}$.

So, $\phi^{i} \epsilon_{t-i} $ will be equal to one half of its original value when $\phi^i = \frac{1}{2}$.

Note that one can solve for the value of $i$ by taking logs.

We have, $i \times \log(\phi) = \log(\frac{1}{2}) \rightarrow \exp(i \times \log(\phi)) = \frac{1}{2} \rightarrow \exp(i) = \frac{1}{2 \times \log(\phi)} \rightarrow i = \exp\left(\frac{\frac{1}{2}}{\log(\phi)}\right)$.

So, that's where the formula for the half life comes from assuming you've seen it popping out from nowhere in the time-series literature.

#=================================================================

EDIT: IN ORDER TO RELATE WHAT I SHOWED TO WHAT THE OP WAS DOING.

In this case, if there was one shock to the system initially, and nothing else after that, then, if one calculated the halflife using the formula shown, then that value would represent the time it would take for the series to get halfway back to zero (because zero is the mean of the series. if the mean of the series was something else, then it would be getting back to that mean) after the shock occurred.

## Answer by J. Vegas (score 3)

https://quant.stackexchange.com/a/77104

I actually had the same question you did, ignored my own computational instincts at first, and went about implementing the Ornstein–Uhlenbeck process as academic literature has said is the optimal solution, and I have to say the results are garbage.

I'm getting half-lives of like 40 years. Trust your own initial instinct, I ended up just writing my own function that counts the number of reversions (including a sensitivity threshold) over the length of the time series, and then returns the average time to reversion, the maximum, and how long its been since it's last reversion. It works WAY better than Ornstein–Uhlenbeck.

Occam's Razor very much applies here, the simplest solution is the correct solution. And if it's too complicated to understand instinctively, then it's been engineered that way for a reason.

## Answer by Jamie Ballingall (score 1)

https://quant.stackexchange.com/a/70416

It is (probably) worth the investment of your time to "make friends" with the Ornstein-Uhlenbeck (OU) process. I suggest getting comfortable converting the parameters between the OU process and it's discrete-time counterpart, the AR(1) process. Then you can simulate and fit with the AR(1). It should also be easy to compute the formula for half-life and see why it contains only the $\theta$ parameter.

I think that there reason that the OU-process comes up so often when we talk about mean-reversion is that it is the simplest process that has a constant half-life. So we can talk about the half-life of the process. That is to say, the half-life of the process $$ dX_t = -\theta \left(X_t - \mu\right) dt + \sigma dW_t $$ with $\theta > 0$ and $\sigma > 0$ is $$ h = \frac{\log \left( 2 \right)}{\theta} $$

What's interesting here is that $h$ depends only on the (constant) parameters of the model: $\theta$, $\mu$ and $\sigma$. In fact, it depends only on $\theta$. But what is important, is that it does not depend on $X_t$ or $t$. That is to say, it doesn't matter how near or far you currently are from the mean nor how much time has passed so far, the amount of time it will take to get half-way back to the mean is constant.

Contrast this with, for example, the Cox-Ingersoll-Ross model of interest rates which clearly exhibits mean reversion but does not have a constant half life. As far as I can tell, nobody has even bothered to compute the half-life of the CIR process, presumably because it would be some complicated expression involving the current state.

You are trying to avoid all this formality but your crossing-times estimation approach is still assuming something about the model. Suppose that your data really was from an OU process. Crossing-times would be a poor choice because your data is likely to include a period where the process is close to the mean and therefore crosses it back and forth many times in quick succession. If you are trying to infer something simply from the number of observed crossings of the mean then your inference will be very sensitive to how accurately you estimate the mean and to the frequency of the available data. It would only really make sense if your process had a lot of momentum around the mean and therefore cleanly crossed it once per cycle.

Judging by this and your other question, it sounds like you have mental model of your process that including some kind of periodic function (e.g., cosine). You would need different math to try to fit a model like that but those models rarely work in finance. You might look at, say, interest rates and think "clearly there are some cycles here and cosine a periodic/cyclic function" but the length of the cycles varies and any periodic function is likely to have a fixed period.

Two other approaches that you might consider in place of periodic functions are the Schwartz-Smith and fractional-OU processes.

The Schwartz-Smith model has two state variables: a long-term mean that evolves according to a (non-mean reverting, low volatility) Brownian motion and a short-term deviation from that mean that evolves according to a (mean reverting, high volatility) OU process.

Fractional Brownian motion exhibits some long-memory properties and can have paths that look more reasonable for some financial time-series, such as interest rates.

Note that both Schwartz-Smith and fractional-OU processes are extensions or generalizations of the OU process, which reinforces my comment about making friends with the OU process.

One final note: I wrote the SDE of the OU-process with a $-\theta$ at the front to make it clearer that if $\mu = 0$ then it becomes $dX_t = -\theta X_t + \sigma dW_t$. Wikipedia does it the other way around but they are the same parameterization.

## Answer by KT8 (score 0)

https://quant.stackexchange.com/a/70341

I think your approach is only correct does only work as a visual example for a variable whose initial state $x_0$ is higher than the mean reverting parameter. Note that a half-life is usually defined starting from $x_0$.

Imagine then that you start right at the mean value (let's label it $\mu$), then your half-life would take some value $T_{x_0}$. Note that reaching the value $x_t = x_0 / 2 = \mu / 2$ goes against the mean-reverting term of the PDE that defines the problem (as your state variable would be moving away from its mean-reverting value).

Now imagine that you start at $x_0 = \mu / 2$. Then your half-life would be much higher, as reaching $x_t = \mu / 4$ implies doubling the mean reverting term in the PDE as compared to the $x_0 = \mu$ case.

The time parameter depends on the starting point. If $x_0 > \mu$, then the mean-reverting term would push the state variable to reach half its value (making the half-life short). If $x_0<\mu$, then the mean reverting term in the PDE would push $x_t$ away from reaching $x_t = x_0/2$.

As you can see, the half life would potentially go to infinity as the initial value gets smaller (compared to $\mu$).

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.