Skip to main content

Ou Mean Reversion Half Life

Quick Reference

PropertyValue
Dimensionregime
Categorymean_reversion
Versionv1.0
Output Columnou_half_life

Ornstein-Uhlenbeck half-life 鈥?estimated time for deviation to revert halfway to mean

Formula

half_life(deviation, window)

CDM Inputs

ColumnCDM TableDescription
deviationcdm_*CDM source table

Parameters

ParameterTypeDefaultDescription
windowinteger300000Window for OU parameter estimation

Output

Column: ou_half_life

Estimated half-life of mean reversion in milliseconds

Market Intuition & Trading Rationale

OU half-life estimates the speed of mean reversion for a deviation process: half_life(deviation, window). It fits an Ornstein-Uhlenbeck process to the deviation and estimates the time for the deviation to decay to half its initial value. A short half-life (seconds) means the deviation reverts quickly 鈥?strong mean reversion. A long half-life (minutes to hours) means the deviation persists 鈥?weak or no mean reversion.

Usage Cases

  • Mean reversion strategy parameterization: half_life < 10s 鈫?fast mean reversion (HFT style, quick entries/exits). 10s鈥?0s 鈫?moderate (intraday mean reversion). > 60s 鈫?slow (positional, requires patience).
  • Pairs trading: Compute the half-life of the spread between two cointegrated assets. Short half-life 鈫?the pair reverts quickly (high Sharpe, frequent trading). Long half-life 鈫?the pair reverts slowly (lower Sharpe, fewer opportunities).
  • context: Used in microstructure_mean_reversion pack 鈥?OU half-life determines the optimal holding period for micro-price deviation trades.

YAML Definition

name: ou_mean_reversion_half_life
description: Ornstein-Uhlenbeck half-life 鈥?estimated time for deviation to revert
halfway to mean
category: mean_reversion
dimension: regime
version: v0.9.0 (Beta)
required_inputs:
- deviation
output_column: ou_half_life
output_description: Estimated half-life of mean reversion in milliseconds
tags:
- regime
- mean_reversion
parameters:
window:
type: integer
description: Window for OU parameter estimation
required: false
default: 300000
formula: half_life(deviation, window)