Hurst Exponent Indicator

This is an indicator featured in one of Ernie Chan's mean reversion strategies. The Hurst Exponent will analyze a time series and determine whether it is a geometric Brownian motion, mean reverting or trending. This could be useful as a filter (to avoid whipsaws for example) or for offline analysis (such as data mining mean reversion opportunities).

The Hurst calculation considers a value > 0.9 to be trending, but as this appears to seldom be reached, I have designated it a "StrongTrend", whereas anything that exceeds the limit of geometric Brownian motion is a "Trend".

If there's any enthusiasm towards general utility I will submit a PR with unit tests.

Update Backtest

This is very interesting. Thanks for contributing it!  

I'm still playing around with it, to try to get an idea of useful parameters for period and lag.  The performance may be a bit of a concern though; it seems computationally very expensive compared to most indicators, but this may correlate with the period used?  It looks like it is a performing a new linear regression for the series for each new data point.


This was presented by Chan as part of a seminal pairs trading strategy. The strategy itself has since proven to be somewhat flawed, but perhaps the Hurst exponent is still useful for general purposes.

It has a computational burden and was used by Chan offline to confirm a co-integration hypothesis. I guess you could stagger the fit rather than calculate with every data point, but not sure what else could be done with regards to performance. The lagVector needs to be set carefully against the period (maybe n*0.01) or the analysis will not exceed the upper limit of brownian motion. I'm in the process of running a genetic optimizer to discover some useful guideline values for use as a trendiness indicator.


There's at least one prominent proponent for the Hurst Exponent:

He has recently published a (paywalled) article with the Hurst exponent being used to analyse SPY for a possible bull market top. I'd say that the large data requirements of the Hurst makes it apprporiate for this kind of long term analysis. It might be worth trying to recreate this...


Nice work, better than my own implementation. I would like if this or something similar could be added to Lean's indicator collection.


Update Backtest


The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


This discussion is closed