VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Indicators and signals

Hurst exponent: does a futures market trend or mean revert?

The Hurst exponent sorts a price series into trending (above 0.5), random (near 0.5) or mean-reverting (below 0.5) behaviour. On futures data the estimate is noisy, needs thousands of bars and drifts over time, so treat it as a coarse regime hint that a backtest must confirm, not a switch.

By · Published · updated · Editorial policy

Contents
  1. Can the Hurst exponent tell whether a futures market trends or mean reverts?
  2. What does a Hurst exponent of 0.5 mean, and what do values below or above it mean?
  3. How do you calculate the Hurst exponent?
  4. How much data is enough for a Hurst estimate?
  5. Which estimation method should you use, and how noisy is each?
  6. Which futures markets show a high Hurst exponent?
  7. Why does the Hurst estimate drift over time?
  8. What does a simple trend rule on ES daily bars show in a real backtest?
  9. Frequently asked questions
  10. References

The Hurst exponent can sort a futures market into trending (above 0.5), random (near 0.5) or mean-reverting (below 0.5) behaviour, but the estimate on real futures data is noisy and drifts over time. Treat it as a coarse regime hint that a backtest must confirm, not a switch that tells you which strategy to run today.

The Hurst exponent is a number between 0 and 1 that measures whether a price series tends to continue its recent direction or to reverse it. Think of three walkers. A drunk walker wanders with no memory of the last step: that is a random walk. A hiker on a trail keeps going the same way for a long time: that is trending. A dog on a leash runs off and is pulled back: that is mean reverting. The exponent tries to say which walker a market resembles.

The claim this article defends is simple: the Hurst exponent is worth computing as one input to market regime detection for trading strategies, but it is too unstable to switch strategies on by itself. The sections below show what the number means, how to compute it, how much data it needs, why it moves, and what a plain trend rule on ES daily bars looks like in a real run after costs.

What does a Hurst exponent of 0.5 mean, and what do values below or above it mean?

A Hurst exponent near 0.5 means the past moves carry no information about the next move, above 0.5 means moves tend to continue, and below 0.5 means moves tend to reverse. A random walk is a price path where each step is independent of every step before it. Mean reversion is the tendency of a price to move back toward a recent average after it has stretched away from it; the rules that trade it are covered in mean reversion explained with a testable futures example.

The Hurst scale from 0 to 1: below 0.5 a choppy price path that keeps reverting to its average, near 0.5 a wandering random walk, above 0.5 a persistent trending path; most futures sit near the middle Which side of 0.5? Hurst scale, illustrative paths Reverts Random Trends 0 0.5 1 Most futures sit near the middle. So: treat the label as a hint.
The three regimes on the 0 to 1 scale. Most liquid futures sit in a narrow band around the middle, which is why the label is a hint and not a verdict.
H below 0.5H near 0.5H above 0.5
What past moves sayAn up move is more often followed by a down moveNothing: the next move is a coin flipAn up move is more often followed by another up move
Price pathChoppy, crosses its average oftenWanders, no patternLong runs in one direction
Rule family to test firstFade stretched moves, bands, oscillatorsNeither has an edge from this measureBreakouts, moving-average trend rules
Typical futures readingShort intraday bars on index futuresMost daily seriesDaily or weekly bars on some commodity and rate futures

The practical point is the size of the gap. A coin-flip market gives 0.5. A market that trends strongly over months might give 0.55 to 0.6 on daily bars. A market that reverts hard on one-minute bars might give 0.4 to 0.45. The whole useful range for liquid futures is therefore about two tenths wide, and the estimation error, covered below, can be a tenth on its own. That is the whole problem with "mean reversion vs trend" labels taken from one reading.

How do you calculate the Hurst exponent?

The classic method is rescaled range analysis, and it reads the Hurst exponent as a slope: how fast the range of a block of returns grows as the block gets longer. The rescaled range is the range of the cumulative deviations inside a block of returns, divided by the standard deviation of that block. Hurst (1951) built the method to size reservoirs on the Nile: he asked how far the cumulative water level could wander away from its average over a span of years, and found that the wander grew faster than a random series would allow.

The rescaled range calculation in five steps: take log returns, split them into blocks of n bars, compute R and S per block, average R over S for each n, then fit a line of log R over S against log n whose slope is the Hurst exponent H is a slope Rescaled range, step by step 1 2 3 4 5 Log returns Blocks of n bars R and S per block Average R/S per n Fit log–log line H = slope log n H is the slope, not one ratio. So: fit five or more block sizes.
The rescaled-range calculation in order. H is the slope of the last step, not any single ratio.
  1. Take log returns. Work with bar-to-bar changes, not prices, so the level of the market does not matter.
  2. Split the series into blocks of length n. Use several block lengths, for example 16, 32, 64, 128 and 256 bars.
  3. For each block, compute R and S. Subtract the block's average from each return, add the results up one by one to get a running total, and take the highest total minus the lowest total: that is the range R. The standard deviation of the block's returns is S.
  4. Average R/S across all blocks of the same length. One value per block length n.
  5. Plot log(R/S) against log(n) and fit a straight line. The slope is H.

The one formula behind the last step is:

log(R/S) = H × log(n) + c

Here R/S is the average rescaled range for blocks of length n, log is the logarithm (any base, as long as you use the same one on both sides), H is the Hurst exponent you want, and c is a constant that shifts the line up or down and does not matter. For a random walk the range grows with the square root of the block length, which gives a slope of exactly 0.5.

Hypothetical example

Suppose the average R/S is 4 for blocks of 16 bars and 8 for blocks of 64 bars. The slope is log(8 ÷ 4) ÷ log(64 ÷ 16) = log 2 ÷ log 4 = 0.5, a random walk. If instead the average R/S at 64 bars were 10, the slope would be log(10 ÷ 4) ÷ log 4 ≈ 0.92 ÷ 1.39 ≈ 0.66, a trending reading. In practice you fit the line through five or six block lengths rather than two, and the fit is only as good as the number of blocks behind each point.

How much data is enough for a Hurst estimate?

A reliable Hurst estimate needs thousands of bars, and short intraday windows produce numbers that swing far more than the market itself does. Two things drive this. First, H is the slope of a line fitted through only a handful of points, one per block length, and a slope from five points is fragile. Second, each point is an average of block ranges, and that average settles down only slowly as the number of blocks grows, roughly with the square root of the count, as most averages do. A block length of 256 bars inside a one-year daily series gives you a single block, so that point is one observation dressed up as an average.

Illustrative error bands around a true Hurst exponent of 0.5: with one year of daily bars the band is wide and covers a reading of 0.55, so it cannot tell them apart; with ten years and about forty years of daily bars the band is narrow and 0.55 lies clearly outside More bars, tighter estimate Error around H = 0.5, illustrative Daily bars 0.5 0.55 1 year 10 years 40 years Can't tell Clear Clear One year can't separate 0.55 from 0.5. So: use thousands of bars.
Estimate uncertainty narrows slowly as the bar count grows. With a few hundred bars, a reading of 0.55 cannot be told apart from 0.5.

Hypothetical example

Suppose the true H of a market is 0.5 and the estimate's typical error is about 0.1 with 250 bars (one year of daily data). Because error shrinks roughly with the square root of the bar count, 2,500 bars (ten years of daily data) would bring it to about 0.03, and 10,000 bars (about 40 years daily, or well under a year of 15-minute bars) to about 0.015. Only the last two samples can separate a reading of 0.55 from 0.5. A trader who recomputes H on the last 200 one-minute bars is reading noise.

The practical consequence is a trade-off. Daily bars give the cleanest regime reading but need a decade or more of history, during which the market has changed. Intraday bars give enough observations in months, but at short horizons the reading is dominated by the mechanics of the order book rather than by the behaviour you want to trade. Either way, decide the window length before you look at the result, and keep it fixed.

Which estimation method should you use, and how noisy is each?

Rescaled range, detrended fluctuation analysis and variance-ratio estimates all approximate the same quantity, and because each is biased in a different direction on short samples, you should compare two of them on the same data before trusting a label. Detrended fluctuation analysis is a method that removes a fitted trend from each block before measuring how much the running total wanders, so a slow drift in the data does not get counted as persistence. A variance-ratio estimate is a method that compares the variance of returns over k bars with k times the variance of one-bar returns; for a random walk the ratio is 1, above 1 points to trending and below 1 to mean reversion.

Three Hurst estimators compared by their bias on a few hundred bars: rescaled range reads high even on random data, detrended fluctuation analysis stays near neutral, and the variance ratio changes with the lag chosen Compare two estimators Bias on a few hundred bars R/S DFA Variance ratio Reads high on noise Near neutral Changes with lag Agreement beats one precise number. So: also test a shuffled copy.
Three estimators side by side. Agreement between two of them is worth more than a precise-looking number from one.
Rescaled range (R/S)Detrended fluctuation analysisVariance ratio
What it measuresHow the range of cumulative deviations grows with block lengthHow the wander around a local trend grows with block lengthWhether k-bar variance is larger or smaller than k one-bar variances
Bias on short samplesReads high: short random series often show 0.55 to 0.6Closer to neutral, still wideDepends on the lag k you choose; results differ by lag
Minimum useful dataThousands of barsThousands of barsHundreds of bars per lag, more for long lags
Ease of calculationEasy in a spreadsheetModerate: a line fit inside every blockEasy, but one number per lag
Best useFirst look on long daily seriesSeries with slow drifts, such as rate futuresChecking a specific horizon, such as 5-bar or 20-bar

The upward bias of plain R/S on short samples is the trap that catches most first-time users: a few hundred random bars will often print 0.57 and look like a trending market. Running detrended fluctuation analysis on the same bars and getting 0.51 tells you the first number was the method, not the market. When the two methods disagree by more than their difference on a shuffled copy of the same returns, you do not have a label yet.

Which futures markets show a high Hurst exponent?

Markets that trend persistently on daily bars, such as some commodity and rate futures, tend to show H slightly above 0.5, while equity index futures on short intraday bars often sit at or below 0.5, and the gap between the groups is small. Moskowitz, Ooi and Pedersen (2012) documented across a broad set of liquid futures that returns over the past one to twelve months tend to continue into the next month, which is persistence in exactly the sense the Hurst exponent measures, at those horizons. A persistent daily series shows up as H a little above 0.5; it does not show up as 0.8.

Illustrative positions, not measured values, on a Hurst scale from 0.4 to 0.6: rate and commodity futures on daily bars slightly above 0.5, equity index futures on daily bars near 0.5, equity index futures on intraday bars below 0.5; the gap is about one estimate's error All groups sit near 0.5 Daily unless marked, illustrative 0.4 0.5 0.6 Rates, commodities Index, daily Index, intraday The gap is about one estimate's error. So: don't rank markets on H alone.
Where market groups typically sit relative to 0.5, on daily versus intraday bars. The spread between groups is about as wide as one estimate's error.

Three patterns are worth knowing before you compute anything:

  1. Bar size changes the answer more than the market does. The same index future can read above 0.5 on weekly bars and below 0.5 on one-minute bars, because at the shortest horizons prices bounce between the bid and the ask, which looks like reversal.
  2. Rate and some commodity futures lean to persistence on daily bars. Slow-moving fundamentals, such as central-bank cycles or crop seasons, play out over months.
  3. Equity index futures on daily bars sit close to the middle. Trend rules on them live or die on a few long moves per decade, which is why the ES run later in this article has few trades.

For intraday work this means the Hurst exponent is less useful than it sounds; what the testing of common intraday indicators actually shows is covered in best indicator for intraday trading. For a wider view of which tools can be turned into a testable rule and which cannot, see the guide to technical analysis tools and indicators you can test.

Why does the Hurst estimate drift over time?

The estimate drifts because the market's behaviour changes with volatility and participation and because every rolling window carries sampling error, so a reading of 0.58 one quarter and 0.49 the next can be a real regime change, pure noise, or both. The two causes look identical on a chart. A calm quarter in which an index grinds higher raises the measured persistence; a quarter with a sharp sell-off and rebound lowers it. Neither tells you what the next quarter holds.

An illustrative rolling Hurst estimate over several years crosses 0.5 many times inside a shaded noise band; only one wider swing rises clearly above the band and deserves a second look Most crossings are noise Rolling H over years, illustrative 0.5 Look here Noise band Only the swing outside the band counts. So: test the switch after costs.
A rolling estimate wanders around 0.5 and crosses it repeatedly. Only the swing that leaves the error band deserves a second look.

Three steps make a rolling estimate readable:

  1. Draw the error band. Compute H on shuffled copies of the same window several times; the spread of those results is the band. A crossing of 0.5 inside the band is noise.
  2. Require the reading to stay outside the band for several windows. One window outside is a single observation.
  3. Test the switch, not the number. Build the rule "trade breakouts when H is above the band, bands and fades when below", backtest it with costs, and compare it with the same rules run without the switch. If the switch does not improve the result on data it has not seen, it is adding noise, not information.

This is the same discipline that applies to any slow positioning measure, such as the dealer gamma exposure (GEX) levels that option flows produce: the reading changes with who is in the market, so a level that mattered last month may not matter now, and only a test across many months tells you whether it ever did.

What does a simple trend rule on ES daily bars show in a real backtest?

A trend rule on an equity index future at daily resolution produces few trades, long holding periods and a drawdown that is a large share of the profit, and the single kept survivor of a search looks better than the rule family it came from. The run below did not test the Hurst exponent itself: it used a stand-in trend rule (a Pkg rule from the rule set of AlphaPrime (Valynox)) as the only entry and exit, with no stop, no target and no filter, so the result shows what plain trend-following on ES daily bars looks like after costs. AlphaPrime ran it on ES daily bars from 2019-01-02 to 2025-06-30, long and short, one contract, with $20 commission and $25 slippage charged per trade.

Source: AlphaPrime product engine (CPU), run 2026-10-31. ES daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $25 slippage per trade.

NumberResult
Net profit (closed trades)$70,197.5
Max drawdown$47,425
Trades42
Win rate69.05%
Profit factor1.695
Average trade$1,671.37
Time in market55.02%
Look at how the equity curve climbs in a few long steps with flat or falling stretches between them, how deep the largest drawdown cuts relative to the final level, and how the curve behaves in the marked out-of-sample stretch compared with the earlier part.
Look at how the equity curve climbs in a few long steps with flat or falling stretches between them, how deep the largest drawdown cuts relative to the final level, and how the curve behaves in the marked out-of-sample stretch compared with the earlier part. ES · daily · 2019-01-02 to 2025-06-30 · CPU engine backtest

Read the numbers as a description of one past run, not as what the rule earns. The candidate shown is the one kept out of about a thousand variants (1,024 in the run) because its return against its drawdown was the best of the set. Picking the winner after seeing all the results flatters it: with that many tries on one history, the best result includes a share of luck that no reader can expect to repeat, and Bailey, Borwein, López de Prado and Zhu (2014) show that this share grows with the number of variants compared. Forty-two trades in six and a half years is also a small sample: the average trade of $1,671.37 rests on a few long moves, and a max drawdown of $47,425 against $70,197.5 of net profit means the account spent long stretches far below its high. The 55.02% time in market says the rule was in a position for just over half the bars and flat the rest.

What this says about the Hurst question is consistent with the sections above. ES daily bars sit near 0.5; a trend rule on them does not fail, but it earns its result from a handful of persistent runs and gives much of it back in the chop between them. A kept survivor like this one has to go on to walk-forward windows and thresholds that were written down before the search, which is the job of strategy validation in AlphaPrime: a "trending" label that only holds on the data that produced it is discarded there before it reaches a trading platform. Before you run your own version, set the contract, session and cost inputs described in five things to set first for ES and NQ futures backtesting, so your result is comparable with the box above.

The next step is concrete: take ten years of daily bars for one futures market you trade, compute H with rescaled range and with detrended fluctuation analysis on the whole series, then compute both again on a shuffled copy. If the real readings do not beat the shuffled ones by more than the shuffled ones differ from each other, the market has not told you whether it trends or reverts, and the rule family you test next should be chosen by a backtest, not by the label.

Frequently asked questions

Is the Hurst exponent a trading indicator?

Not in the usual sense. An indicator is computed on a short window and updates every bar; the Hurst exponent needs thousands of bars to be stable, so a bar-by-bar version is mostly noise. It is better used as a research measure: compute it once on a long history to decide which rule family to test first, then let the backtest decide.

What is a good Hurst exponent for trend following?

On daily futures data, a reading that stays above 0.5 by more than the estimate's own error band, confirmed by two different methods, is as good as it gets. Expect values like 0.53 to 0.6 rather than 0.8. A reading of 0.5 does not rule out trend following; it means the measure gives no reason to prefer it over mean reversion.

Can I compute the Hurst exponent on intraday bars?

You can, but the result mostly reflects how prices bounce between the bid and the ask at very short horizons, which reads as mean reversion. Use bars of at least several minutes, several months of history, and compare the reading with a shuffled copy of the same returns before drawing a conclusion. For intraday rules, a direct backtest of the rule usually answers the question faster.

Is the Hurst exponent the same as autocorrelation?

They measure related things in different ways. Autocorrelation at lag one asks whether this bar's return is linked to the last bar's return. The Hurst exponent asks how the range of cumulative moves grows with the time span, which captures memory over many lags at once. A series can have near-zero one-bar autocorrelation and still show H above 0.5 because of slow persistence over weeks.

References

  • Hurst, H. E. (1951). Long-Term Storage Capacity of Reservoirs. Transactions of the American Society of Civil Engineers, 116, 770–799.
  • Moskowitz, T. J., Ooi, Y. H., & Pedersen, L. H. (2012). Time Series Momentum. Journal of Financial Economics, 104(2), 228–250.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.