Gyre Research

Methodology

Every measure behind the Price Momentum screener, what it calculates, how to read it, and where it comes from.

How the score is built

Each security is measured on 12 distinct momentum measures, most of them at six lookback windows (2y, 1y, 6m, 3m, 1m, 10d), giving 42 readings per security.

  1. Measure. Each measure is computed in its own raw unit from split- and dividend-adjusted closes.
  2. Standardize. Each measure is then z-scored across the S&P 500 on that date — so "strong" means strong relative to the other ~500 names that day, not against a fixed threshold that would mark the whole index green in a rising year.
  3. Combine. The standardized measures are winsorized at ±3 and averaged, equally weighted. Weights are not fitted: tuning them on this data without a sealed holdout would be curve-fitting.

Two deliberate exclusions from the score. The 1-month and 10-day windows are published but not blended in — at that horizon returns reverse rather than continue, so folding them into a continuation score blunts both effects. Information Discreteness is also excluded: its sign means "jumpy vs smooth", not "up vs down", so averaging it into a directional score would be a category error. Both are shown on their own.

A security is left unranked when fewer than 60% of the measures can be computed from its history — typically a recent spin-off. Its individual readings are still published; it simply is not ranked against securities measured on a different basis.

The measures

Trend

Trailing Return

Trend · computed at each of the six windows · trailing_return

The plain total return over the window, using split- and dividend-adjusted closes. The simplest statement of momentum there is: what you would have made holding it.

How to read it: Positive = the security rose over the window. Negative = it fell.

Moskowitz, Ooi & Pedersen, 'Time Series Momentum', Journal of Financial Economics 104(2):228-250 (2012).

Risk-Adjusted Momentum

Trend · computed at each of the six windows · risk_adj_momentum

Trailing return divided by the annualized volatility realized over the same window. Puts a placid utility and a volatile biotech on one scale, so a 20% move is not credited equally to both.

How to read it: Higher = more return earned per unit of risk taken to get it.

Asness, Moskowitz & Pedersen, 'Value and Momentum Everywhere', Journal of Finance 68(3):929-985 (2013), Section III.

Moving-Average Crossover

Trend · one value per security · ma_crossover

The 50-day simple moving average minus the 200-day, expressed as a fraction of the 200-day. The classic 'golden cross' (positive) and 'death cross' (negative), reported as a continuous distance rather than a yes/no event so near-misses are visible.

How to read it: Positive = short-term average above long-term. Negative = below.

Brock, Lakonishok & LeBaron, 'Simple Technical Trading Rules and the Stochastic Properties of Stock Returns', Journal of Finance 47(5):1731-1764 (1992).

Price vs 200-Day Average

Trend · one value per security · price_vs_sma200

How far today's close sits above or below its own 200-day moving average, as a fraction. A single-line trend filter widely used to separate uptrends from downtrends.

How to read it: Positive = trading above its long-term average. Negative = below.

Faber, 'A Quantitative Approach to Tactical Asset Allocation', Journal of Wealth Management 9(4):69-79 (2007).

Range Position (Donchian)

Trend · computed at each of the six windows · donchian_position

Where the close sits inside the high-low range of the window, rescaled to -1 at the low and +1 at the high. +1 means the security is printing a new window high; -1 a new window low.

How to read it: +1 = at the top of its range. -1 = at the bottom.

Donchian channel breakout; see also George & Hwang, 'The 52-Week High and Momentum Investing', Journal of Finance 59(5):2145-2176 (2004).

MACD Histogram

Trend · one value per security · macd_norm

The MACD histogram (12/26 EMA difference, minus its own 9-day signal line), divided by price so it is comparable across securities at different price levels. Measures whether the trend is accelerating or decaying.

How to read it: Positive = upward momentum strengthening. Negative = weakening.

Appel, 'Technical Analysis: Power Tools for Active Investors' (2005).

RSI (centered)

Trend · one value per security · rsi_centered

Wilder's 14-day Relative Strength Index, recentered from its native 0-100 onto -1 to +1 so it signs the same way as every other measure here. Bounded, so it saturates instead of running away.

How to read it: +1 = maximally overbought. -1 = maximally oversold. 0 = neutral (RSI 50).

Wilder, 'New Concepts in Technical Trading Systems' (1978).

Relative

12-1 Momentum (skip-month)

Relative · one value per security · skip_month_momentum

Return over the past 12 months EXCLUDING the most recent month. The month is skipped deliberately: at the 1-month horizon returns reverse rather than continue, so including it fights the signal. This is the canonical academic momentum variable.

How to read it: Positive = a 12-month winner. Negative = a 12-month loser.

Jegadeesh & Titman, 'Returns to Buying Winners and Selling Losers', Journal of Finance 48(1):65-91 (1993).

Excess Return vs Index

Relative · computed at each of the six windows · excess_return

Trailing return minus the benchmark's return over the identical window. Separates 'this rose' from 'everything rose' -- in a broad rally most names show positive trailing return and only some are actually leading.

How to read it: Positive = outperformed the index. Negative = lagged it.

Standard active-return decomposition; see Grinold & Kahn, 'Active Portfolio Management', 2nd ed. (2000), Ch. 2.

Quality

Information Discreteness (Frog-in-the-Pan)

Quality · one value per security · frog_in_the_pan

Whether the move arrived smoothly or in jumps. Computed as sign(return) x (share of down days - share of up days) over 12 months. A move delivered as a steady drip is absorbed slowly by investors and has historically continued further than the same move delivered in a few large jumps, which gets priced at once.

How to read it: Values near zero = continuous, gradual information (historically the stronger continuation). Larger magnitude = discrete, jumpy arrival.

Da, Gurun & Warachka, 'Frog in the Pan: Continuous Information and Momentum', Review of Financial Studies 27(7):2171-2218 (2014).

Up-Day Share

Quality · computed at each of the six windows · up_day_ratio

The fraction of days in the window that closed up, recentered to -1..+1. A breadth-of-persistence reading: did the security grind higher on most days, or was the whole move a handful of sessions?

How to read it: Positive = more up days than down. Negative = more down days.

Persistence/consistency of return sign; related to the continuous-information result in Da, Gurun & Warachka (2014).

Volume Confirmation (OBV slope)

Quality · computed at each of the six windows · volume_trend

On-Balance Volume accumulates volume signed by the day's direction; this reports the slope of that line over the window, normalized by total volume. Tests whether the price move carried participation or happened on thin trade.

How to read it: Positive = buying volume dominated. Negative = selling volume dominated.

Granville, 'New Key to Stock Market Profits' (1963).

Momentum measures describe what prices have already done. They are not a forecast, and nothing here is investment advice. © Gyre Research.