Hurst Exponent (R/S) Indicator: Formula, Settings and How to Read It

Hurst Exponent (R/S) estimates whether recent returns tended to continue or to reverse. Senzoukria computes it from the rescaled range of the last N returns: above 0.5 indicates persistence, below 0.5 indicates mean reversion, and around 0.5 a path hard to distinguish from a random walk.

Senzoukria · Indicators · Updated September 2026


Hurst Exponent (R/S) ships with the Senzoukria desktop app, in the Volatility group of the indicator catalogue. It is drawn in its own panel below the chart.

What Hurst Exponent (R/S) measures

The window of returns is centred on its mean, the deviations are accumulated into a running sum, and the maximum minus the minimum of that cumulative sum gives the range R. Dividing by the population standard deviation S of the same returns gives the rescaled range, and the exponent is the natural log of R/S divided by the natural log of N. This is the single-scale estimator taken directly from the definition, with no Anis-Lloyd correction and no multi-window regression: the corrected variants assume a noise model that has not been measured here, whereas this form can be checked by hand. It is biased upward for small N, which is why the default window is 100 returns rather than 20, and a window of constant returns returns no value at all.

The formula, as implemented

This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

Exposant de Hurst par analyse R/S (Hurst 1951, Mandelbrot) sur les N derniers RENDEMENTS — méthode exacte, à une seule échelle : 1. fenêtre x₁…x_N (rendements) ; moyenne m = (1/N)Σx ; 2. écarts CUMULÉS Y_k = Σ_{j=1..k}(x_j − m), k = 1…N (Y_N = 0) ; 3. ÉTENDUE R = max(Y) − min(Y) (≥ 0, sur les Y — pas sur x) ; 4. ÉCART-TYPE S = √( (1/N)·Σ(x − m)² ) — population, two-pass ; 5. H = ln(R/S) / ln(N). Lecture : H > 0.5 = persistance (les rendements se prolongent, tendance), H < 0.5 = anti-persistance (retour à la moyenne), H ≈ 0.5 = marche aléatoire. UNE SEULE ÉCHELLE, sans correction d'Anis-Lloyd et sans régression multi-fenêtres : c'est l'estimateur direct de la définition, celui qu'on peut vérifier à la main (les variantes corrigées supposent un modèle de bruit qu'on n'a pas mesuré ici). Il est BIAISÉ vers le haut pour N petit — d'où le défaut N=100, et non 20. S = 0 (rendements constants) → null, jamais 0 ; R = 0 → null (ln 0). Note : S > 0 implique R > 0, la garde R est défensive. Warm-up (< N rendements) → null.

How to read it

  • Sustained readings above 0.5 say the window's moves tended to extend; the further above, the more the accumulated deviations wandered relative to their own dispersion.
  • Readings below 0.5 say the opposite — returns alternated more than an independent series would.
  • Do not treat 0.5 as a sharp boundary. A single-scale estimate on a hundred samples fluctuates, and small excursions either side fall within the noise of the method.
  • Because the estimator is biased high on short windows, a value obtained with a period of 20 is not comparable with one obtained at 100.
  • Use it to characterise the regime a method is being run in, not as a trigger: it describes the window that has just closed.

Parameters and defaults

Period defaults to 100 returns, accepts 4 to 2000, and is the only substantive setting. It controls the sample size and the ln(N) denominator at once, so changing it shifts the entire scale of the output rather than merely smoothing it. Values near the minimum of 4 are dominated by small-sample bias and should not be read as market persistence.

Hurst Exponent (R/S) — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Periodnumber1004 – 2000

What it does not show

This is a descriptive statistic over a closed window with no predictive claim attached, and it lags by construction. The single-scale form is noisier and more biased than regression-based estimators, so the movement of the line at a fixed setting carries more meaning than its absolute value. It reads returns only — no volume, no delta, no book — so a persistent reading says nothing about who is producing the persistence. Missing or duplicated bars distort the return series feeding it.

Using it in Senzoukria

Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.

See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.

Frequently asked questions

What does a Hurst exponent above 0.5 mean?
It indicates persistence in the window just measured: moves tended to be followed by moves in the same direction more than an independent series would produce. It is a description of the sample, not a forecast of the next bars. Values close to 0.5 should be treated as inconclusive, since the estimate carries noise.
Why does the Hurst indicator need such a long period?
The single-scale rescaled-range estimator is biased upward on small samples, so a short window reports persistence that is an artefact of the method rather than a property of the market. The default of 100 returns is set for that reason. Going much below it produces high readings that cannot be compared with those from a longer window.
Which Hurst estimator does Senzoukria use?
Rescaled range analysis at a single scale, computed directly from the definition: cumulative deviations from the window mean give the range, the population standard deviation gives the scaling factor, and the exponent is ln(R/S) over ln(N). No Anis-Lloyd correction and no multi-window regression are applied, because those variants assume a noise model that has not been verified on this data. The trade-off is a known upward bias on short windows.

Keep reading