Skip to main content
Track Runs test
10 / 15
Library

2005issue C011

Constructing runs-test z-scores for signed return persistence

A runs test labels an ordered series as one of two signs and forms a z-score from the gap between the actual run count and expected-runs. In the large-sample form, that z-score is the relative run gap multiplied by the square root of sample length, matching offset-correlation except that it is normalized to the square root of time.

  • A runs test starts from an ordered sequence whose observations are labeled as one of two signs, such as an up move or a down move.
  • The z-score is the gap between the actual run count and expected-runs, divided by the standard deviation of runs.
  • The number of runs equals twice the number of switches, so the z-score can be rewritten from the gap between observed and expected switches.
  • Offset-correlation is the same persistence construction as the runs test except that it is not normalized to the square root of time.
Entries in this reading1 entry

Start from a signed ordered series

A runs test starts from an ordered sequence whose observations are labeled as one of two signs, such as an up move or a down move.

A run is a consecutive streak of same-sign observations in that ordered series. Persistence is clustering of same-sign outcomes relative to a random-sign baseline.

Form expected-runs from the class counts

The theoretical expected run count, expected-runs, equals one plus twice the product of the two class counts, divided by the sample length.

When the sample length is greater than 100, that expectation simplifies to twice the product of the two class counts divided by the sample length.

Assemble the z-score

The z-score is the gap between the actual run count and the theoretical expected run count, divided by the standard deviation of runs.

In the same large-sample reduction, the z-score equals the relative gap between actual and expected runs multiplied by the square root of the sample length.

Rewrite the z-score from switches

A switch is a change from one sign class to the other. The number of runs equals twice the number of switches, so the z-score can be rewritten from the gap between observed and expected switches.

Place offset-correlation beside the z-score

A complementary switch-ratio reading equal to one minus observed switches over expected switches is the same persistence construction as the runs test except that it is not normalized to the square root of time. That complementary reading is offset-correlation.

For a sample length of 2520, that square-root-of-time factor makes the z-score about 50 times the complementary switch-ratio reading.

Educational research material, not investment advice. Historical source context does not establish present-day performance.
10 of 15 in the Runs test track
20051-6 pp.Next on Runs testEvaluating persistence with runs and autocorrelationA runs-test Z score can show how far an ordered return series sits from a random run count, but the historical evaluation did not treat that single statistic as enough.
All readings on this track · 15 readings
  1. 1986Constructing runs and persistence tests from labeled prices
  2. 1986Evaluating daily price and volume serial independence windows
  3. 1986Evaluating advance-decline plus-day runs against chance baselines
  4. 1986Weekly resamples as a diagnostic filter for statistical windows
  5. 1988Runs test as a critique of price-series memory
  6. 1989Evaluating weekday close direction with a counted baseline
  7. 1989Statistical windows for indicator time parameters
  8. 1992Channel-height ratios for equity trend evaluation
  9. 2001A runs test before volatility and expected-value sizing
  10. 2005Constructing runs-test z-scores for signed return persistence
  11. 2005Evaluating persistence with runs and autocorrelation
  12. 2005Weekday FX turning points and close run tests
  13. 2013Constructing a runs-test turn forecast
  14. 2017Star rating from slope and swing runs
  15. 2018Regime-dependent odds after directional price runs
All 19 readings tagged Runs test
Also on Runs test5 readings