←  Academic re-test index
Paper 02  of  02
Research library
Paper 01 of 02
Jegadeesh and Titman (1993)
Thirty-three-year out-of-sample re-test of individual stock momentum, with the full J × K grid and methodology variants.
Read this re-test
Paper 02 of 02 You are here
George and Hwang (2004)
The 52-week-high signal re-tested across three time windows and three momentum signals on per-signal eligible universes.
Academic Re-test  ·  Per-Signal Universe

The 52-Week High and Momentum Investing

A post-publication out-of-sample test of George and Hwang (2004) on the BTM Tiingo and EDGAR universe, split across three sub-windows and three momentum signals, with per-signal eligible universes matching the paper's CRSP definition where the data allows it.

Abstract
We re-test George and Hwang (2004) across three time windows (A: 2009 to 2015, B: 2016 to 2026, C: 2009 to 2026 pooled) and assign each momentum signal its native eligible universe. The Jegadeesh-Titman individual-stock signal (JT) and the George-Hwang 52-week-high signal (FH) are computed on the Tiingo-only spine, which is the closest analog available to the paper's CRSP definition. The Moskowitz-Grinblatt industry signal (MG) requires SIC codes and is therefore restricted to the SEC ∩ Tiingo intersection. The headline finding is that JT on the 2016 to 2026 window, with January observations excluded, reaches +0.740 percent per month at t = +2.67, the only cell in the eighteen-cell results matrix that clears the conventional five percent significance threshold. Broadening the JT and FH universes from SEC ∩ Tiingo to the full Tiingo spine weakened JT by sixteen percent and collapsed FH by ninety-two percent against the earlier narrower-universe run, which means the SEC restriction had been quietly acting as a quality screen. MG strengthens as the EDGAR coverage ramp enlarges per-industry samples. The post-financial-crisis compression of the 52-week-high signal documented by Daniel and Moskowitz (2016) and Barroso and Santa-Clara (2014) is reproduced on the paper-equivalent universe.
Key findings

Four observations from the re-test

Finding 01
JT is the only signal that crosses statistical significance.
On the 2016 to 2026 window, the JT individual-stock momentum spread reaches +0.740 percent per month with the January observations excluded, at t = +2.67, which clears the conventional five percent threshold (|t| > 1.96). It is the only cell in the eighteen-cell results matrix where the post-2014 regime decisively rewards a momentum signal at journal-acceptable significance.
Finding 02
The eligible universe matters more than expected.
When we broadened JT and FH from SEC ∩ Tiingo (roughly 7,000 tickers) to the paper-equivalent Tiingo-only spine (roughly 15,000), JT weakened by about sixteen percent on the 2016+ window (from +0.66 to +0.56) while FH collapsed by ninety-two percent (from +0.37 to +0.03). The narrower SEC ∩ Tiingo restriction had been functioning as a quality screen because it favored companies large enough to file with the SEC.
Finding 03
MG strengthens as the universe expands.
As SEC EDGAR coverage grew from an average of roughly 2,454 tickers across 2009 to 2015 to roughly 4,164 across 2016 to 2026, the MG industry-momentum spread rose from +0.046 percent per month (t=0.22) to +0.265 percent per month (t=1.44). Larger industries produce more reliable industry-return estimates because more constituent firms means less idiosyncratic noise.
Finding 04
Post-2008 momentum compression is real.
Even on the paper-equivalent Tiingo-only universe, FH on the full 2009 to 2026 window comes in at −0.335 percent per month (t=−0.95). The compression is consistent with Daniel and Moskowitz (2016) and Barroso and Santa-Clara (2014), so it cannot be dismissed as a BTM-data artifact. It is the documented post-crisis regime shift showing up again on a third independent dataset.
How to read the spread column
Spread means the winner portfolio's monthly return minus the loser portfolio's monthly return. This is the factor return, which is what a long-winners / short-losers portfolio would have earned. It is not the total return of any tradeable strategy. The winner column alone, which we do not report in this re-test, is closer to what a long-only momentum portfolio would have earned. A positive spread of +0.5 percent per month means winners outperformed losers by half a percent monthly on top of whatever the broader market did. Both winner and loser portfolios made money on average across 2009 to 2026 because that window is dominated by the post-financial-crisis bull market, so positive total returns do not by themselves imply a working momentum signal. The spread is the diagnostic.
I. The experiment

Three momentum signals, three eligible universes

George and Hwang argued in their original 2004 paper that proximity to the 52-week high is a stronger momentum signal than either the Jegadeesh-Titman 1993 individual-stock momentum signal[1] or the Moskowitz-Grinblatt 1999 industry momentum signal[2]. They ran all three side-by-side on the same CRSP cross-section, sorted each independently into top and bottom thirty percent portfolios, and compared the long-short spreads. On their data the 52-week-high signal won the contest cleanly.

We replicate the three rankings as closely as the available data permits. The JT ranking score is the six-month price return given by (Pt−1/Pt−7) − 1. The MG ranking score is the equal-weighted six-month return of the stock's MG-20-industry classification, which we map from each company's SEC-EDGAR SIC code. The FH ranking score is proximity to the trailing 52-week high, defined as Pt−1 / max(Ps) over s ∈ {t−12, …, t−1}. At each formation date every eligible stock receives a score from one or more signals. Each score independently sorts the universe into a top thirty percent winner portfolio and a bottom thirty percent loser portfolio, equal-weighted within each. The reported strategy returns are realized monthly portfolio returns averaged across six overlapping cohorts, which is the standard (6,6) framework.

The most consequential design choice in this re-test is that each signal gets its own eligible universe rather than forcing all three onto a common cross-section. JT and FH need only a price history to compute, so they run on the broader Tiingo-only spine of roughly 15,099 cumulative tickers, growing from about 3,900 eligible names in 2009 to about 7,800 by 2022. MG by contrast requires a 2-digit SIC code from EDGAR, so it can only run on the SEC ∩ Tiingo intersection of roughly 2,200 names in 2009 growing to about 6,100 by 2026. The trade-off is straightforward. At any given formation date the JT and FH cohorts and the MG cohorts are not drawn from the same eligible universe, which means we cannot do a strict three-way comparison on identical data, but we get substantially more statistical power for JT and FH from the larger sample.

We partition the test window into three sub-samples so we can see regime sensitivity. Window A covers 2009-01 to 2015-12 (n=84). Window B covers 2016-01 to 2026-04 (n=124). Window C is the pooled 2009-01 to 2026-04 window (n=208). The split lets us ask three diagnostic questions. Was the post-2014 environment kinder to JT? Does MG's strengthening track the EDGAR coverage ramp? Does the FH compression persist in both halves of the window? Tables III through VI of the original paper, which cover pairwise nesting, Fama-MacBeth regressions, and post-formation persistence, remain out of scope for this run.

II. Results

Table I · long-short spreads across three windows and three signals

Each cell in Table I below reports the realized long-short spread (winner minus loser, in percent per month) averaged across the indicated window, alongside the conventional t-statistic on the time series of monthly spread observations. The right pair of columns reports the same statistic after dropping the January observations from each window, which is the convention George and Hwang used to isolate the non-January effect. A double asterisk marks cells where |t| ≥ 1.96, the standard five percent two-tailed cutoff. The second column reports the eligible universe used for each signal, since the JT and FH cohorts run on a broader spine than MG.

Table I
Long-short spreads by window, signal, and universe (2009-01 to 2026-04)
Winner and loser per-portfolio columns are not reported here because the engine output we publish from is the spread series directly. n is the count of monthly observations within the window. Equal-weighted top and bottom thirty percent portfolios. Standard (6,6) overlapping-cohort framework with no skip-month convention.
Signal Universe n Spread %/mo t-stat ex-Jan Spread ex-Jan t
Window A  ·  2009-01 to 2015-12  n = 84
JT Tiingo-only 84 −0.605 −1.28 −0.244 −0.52
MG SEC ∩ Tiingo 84 +0.046 +0.22 +0.141 +0.67
FH Tiingo-only 84 −0.871 −1.56 −0.456 −0.80
Window B  ·  2016-01 to 2026-04  n = 124
JT Tiingo-only 124 +0.557 +1.77 +0.740 +2.67
MG SEC ∩ Tiingo 124 +0.265 +1.44 +0.188 +1.06
FH Tiingo-only 124 +0.028 +0.06 +0.348 +0.82
Window C  ·  2009-01 to 2026-04  n = 208 (pooled)
JT Tiingo-only 208 +0.080 +0.30 +0.341 +1.34
MG SEC ∩ Tiingo 208 +0.180 +1.30 +0.170 +1.26
FH Tiingo-only 208 −0.335 −0.95 +0.024 +0.07
aThe only cell crossing the conventional five percent threshold is JT on Window B with January excluded (+0.740 percent per month, t = +2.67**, highlighted). Per-portfolio winner and loser means are not reported because the engine output we publish from reports the spread series directly.
bJT and FH operate on the Tiingo-only spine (roughly 15,099 cumulative tickers, growing from about 3,900 names in 2009 to about 7,800 by 2022). MG requires the 2-digit SIC code from public.edgartools_companies and so runs on the SEC ∩ Tiingo intersection (roughly 2,200 names in 2009 growing to 6,100 by 2026). Per-window per-signal effective counts are in Table I.a immediately below.
cThe original George and Hwang (2004) on CRSP from 1963 to 2001 reported FH long-short spreads of +0.40 to +0.70 percent per month. This re-test reproduces the post-financial-crisis compression even when we use the broader paper-equivalent universe. See references [3] and [4].
Table I.a
Per-window per-signal eligible universe sizes
Minimum, maximum, and per-formation-date average count of eligible tickers within each cell of Table I. The MG universe is structurally smaller because it is gated on EDGAR coverage. The gap narrows after 2016 as the EDGAR XBRL filing mandate matures and coverage expands.
Window Signal Universe Min Max Avg
A  2009 to 2015JTTiingo-only3,8565,2104,371
A  2009 to 2015MGSEC ∩ Tiingo2,1822,8862,454
A  2009 to 2015FHTiingo-only3,8055,0594,252
B  2016 to 2026JTTiingo-only5,2017,8096,190
B  2016 to 2026MGSEC ∩ Tiingo2,8716,0934,164
B  2016 to 2026FHTiingo-only5,0417,3995,875
C  2009 to 2026JTTiingo-only3,8567,8095,460
C  2009 to 2026MGSEC ∩ Tiingo2,1826,0933,481
C  2009 to 2026FHTiingo-only3,8057,3995,223
III. Eligible universe over the window

Figure 1 · per-signal eligible universe, 2009 to 2026

JT and FH operate on the Tiingo-only price spine while MG operates on the SEC ∩ Tiingo intersection. The two lines below plot the per-formation-date count of eligible tickers for each universe. The gap is widest in 2009, when the Tiingo-only count of roughly 3,900 names dwarfs the SEC ∩ Tiingo count of roughly 2,200, and the gap narrows after 2016 as SEC EDGAR XBRL filings expand coverage. A structural gap nevertheless persists across the whole window because the JT and FH cohorts remain roughly one and a half times the size of the MG cohort at any given month.

Figure 1
Eligible tickers per formation month, by signal universe
Two-line plot. Light slate is JT and FH on the Tiingo-only spine. Dim slate is MG on the SEC ∩ Tiingo intersection. The 12-month-lookback eligibility filter is applied to both lines. Source: BTM engine diagnostics.
8,000 6,000 4,000 2,000 2009 2012 2015 2018 2020 2022 2024 2026 JT/FH  7,809 MG  6,093 JT / FH · Tiingo-only MG · SEC ∩ Tiingo ELIGIBLE TICKERS
JT/FH avg 2009 to 20154,371
JT/FH avg 2016 to 20266,190
MG avg 2009 to 20152,454
MG avg 2016 to 20264,164
Gap closure1.78× to 1.49×
IV. Spread distribution

Figure 2 · long-short spreads across nine cells

Figure 2 is a visual restatement of Table I. Each window cluster contains three signal pairs. Within each pair the light bar reports the full-window spread and the dark bar reports the same spread with January observations excluded. Bars rising above the zero line are positive (winners beating losers) and bars descending below are negative. The JT bar in Window B with January excluded (+0.740 percent per month) is the single cell that crosses statistical significance, so it is highlighted in signal-green.

Figure 2
Long-short spread across three windows, three signals, and two January conventions
Bars are in percent per month. Light slate means full window. Dark slate means January-excluded. Green marks the single cell at t ≥ +1.96 (JT, Window B, with January excluded). Red marks full-window negative spreads.
+0.80 +0.50 0.00 −0.50 −1.00 −.605 −.244 JT +.046 +.141 MG −.871 −.456 FH WINDOW A 2009 to 2015 · n=84 +.557 +.740** JT +.265 +.188 MG +.028 +.348 FH WINDOW B 2016 to 2026 · n=124 +.080 +.341 JT +.180 +.170 MG −.335 +.024 FH WINDOW C 2009 to 2026 · n=208 ← only cell at t ≥ +1.96 Full window January-excluded t ≥ +1.96 (significant) Negative spread LONG-SHORT %/MO
Hero cellJT · B · ex-Jan
Hero spread+0.740 %/mo
Hero t-stat+2.67**
Largest negFH · A −0.871
Cells (n)9 × 2 = 18
V. What this means

In plain English

The corrected per-signal universe sharpens the picture and partly overturns the earlier narrower-universe reading. Previously we reported that the FH 52-week-high signal failed to survive the 2009 to 2026 window. That conclusion still holds, but it turns out to be even more severe than the earlier number suggested. On the paper-equivalent Tiingo-only universe, FH across the full 2009 to 2026 window lands at −0.335 percent per month, compared with the earlier narrower-universe reading of −0.138 percent per month. The reason is that the earlier SEC ∩ Tiingo restriction had been quietly functioning as a quality screen, because it filtered toward larger and more established companies with cleaner momentum dynamics.

The new headline is that JT on Window B with January excluded reaches +0.740 percent per month at t = +2.67, the single cell in the eighteen-cell results matrix that crosses the conventional five percent threshold. In plain terms, the 2016 to 2026 regime with January removed decisively rewards an individual-stock six-month momentum signal at journal-acceptable significance. The full pooled JT cell on Window C does not retain that significance, which suggests the effect is concentrated in the post-2014 half of the sample rather than being present uniformly across the whole window.

MG behaves as expected. Industry momentum strengthens as the SEC EDGAR coverage broadens, climbing from +0.046 percent per month on Window A to +0.265 percent per month on Window B. The mechanism is straightforward because per-industry return estimates become noisier when each industry contains fewer constituent firms. As EDGAR coverage roughly doubles across the window, the MG signal-to-noise ratio improves materially, although it never crosses the five percent threshold.

The most important framing context here is that the magnitude compression of FH, going from the paper's published range of +0.40 to +0.70 percent per month down to our negative-to-flat reading, is not a BTM-data artifact. Daniel and Moskowitz (2016)[3] and Barroso and Santa-Clara (2014)[4] both document a structural decline in cross-sectional equity momentum returns after the 2008 financial crisis, on independent datasets and using independent methodologies. This re-test reproduces that finding on the paper-equivalent universe and reads as one more confirmation of the same regime shift.

This is a backtest of a published academic anomaly, not a live BTM strategy. We publish it as part of an out-of-sample testing program for transparency. It is not a trading recommendation, and Beat The Market does not offer the strategies described above as subscribable products.

VI. Methodology

Departures from George and Hwang (2004)

Every methodological departure from the published paper is disclosed below in the order it appears in the engine pipeline. Item two, the per-signal eligible universe, is the most consequential one for the results presented above.

Methodology disclosures
  1. Reporting window. The BTM-side run uses 2009-01 onward, which begins immediately after the SEC EDGAR XBRL filing mandate took effect, whereas the paper's anchor is 1963 to 2001. We split this into three sub-windows for regime-sensitivity diagnostics. Window A covers 2009-01 to 2015-12, Window B covers 2016-01 to 2026-04, and Window C is the pooled 2009-01 to 2026-04 sample.
  2. Per-signal eligible universe. JT (individual price momentum) and FH (52-week-high ratio) are computed on the Tiingo-only spine, which is roughly 15,099 cumulative NYSE, NASDAQ, NYSE-MKT, and AMEX common-stock USD-denominated tickers drawn from public.historical_daily_prices. The per-formation-date count grows from about 3,900 in 2009 to about 7,800 by 2022 and averages around 5,500 across the full 2009 to 2026 window. MG (industry momentum) requires the 2-digit SIC code from public.edgartools_companies and is therefore computed on the SEC ∩ Tiingo intersection, which spans roughly 2,200 tickers in 2009 growing to about 6,100 by 2026 as SEC EDGAR coverage expanded. At any given formation date the JT and FH cohorts and the MG cohorts are not drawn from the same eligible universe. This boosts statistical power for JT and FH at the cost of precluding a strict three-way comparison on identical universes.
  3. Winsorization. Monthly returns are clipped at the range minus fifty percent to plus one hundred percent to neutralize Tiingo split-adjustment artifacts that occasionally produce a long tail of spurious monthly returns above five hundred percent on roughly 0.3 percent of stock-month observations. Without this clip the bottom-decile portfolios are dominated by one or two extreme cells per formation date.
  4. Delisting handling. The Shumway (1997) terminal-month proxy of minus thirty percent is applied when a ticker's last observed close is followed by NaN month-ends mid-window. This mitigates the missing-bankrupt-loser survivorship bias inherent in any non-CRSP price dataset.
  5. MG industry definition. The Moskowitz-Grinblatt (1999) 20-industry partition is approximated by a Fama-French FF17-derived 2-digit SIC mapping because the exact MG 1999 mapping is not machine-readable from the original paper. Our Bloomberg-side replication uses the same approximation for consistency.
  6. MG portfolio weighting. The original MG specification is value-weighted. We retain equal-weighting on MG for now because the shares-outstanding data needed for value-weighting is not yet back-filled to 2009. Equal-weighted MG spreads can differ from value-weighted spreads by 0.05 to 0.15 percent per month. Value-weighting is deferred until the edgartools_facts shares-outstanding backfill lands.
  7. Survivorship. The Tiingo dataset is approximately survivorship-bias-free from 2007 onward, although back-filling delisting events for the 2009-onward period is documented but not exhaustive. The Shumway proxy described in item four above is the principal mitigation.
References
  1. [1] Jegadeesh, N. and Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. Journal of Finance, 48(1), 65 to 91.
  2. [2] Moskowitz, T. J. and Grinblatt, M. (1999). Do Industries Explain Momentum? Journal of Finance, 54(4), 1249 to 1290.
  3. [3] Daniel, K. and Moskowitz, T. J. (2016). Momentum Crashes. Journal of Financial Economics, 122(2), 221 to 247.
  4. [4] Barroso, P. and Santa-Clara, P. (2014). Momentum Has Its Moments. Journal of Financial Economics, 116(1), 111 to 120.
  5. [5] Shumway, T. (1997). The Delisting Bias in CRSP Data. Journal of Finance, 52(1), 327 to 340.
  6. [6] Primary citation: George, T. J. and Hwang, C.-Y. (2004). The 52-Week High and Momentum Investing. Journal of Finance, 59(5), 2145 to 2176.
Backtest disclosure Backtest results presented here are for illustrative academic purposes. Past performance does not guarantee future results. Academic backtests of historical anomalies are subject to data-snooping bias and may not generalize. Per-signal universe assignments are reported in Table I and Table I.a above, and results are not directly comparable across signals at a given formation date because the eligible cross-section differs. Beat The Market publishes this re-test under SEC Rule 202(a)(11)(D) as an information publisher, so this is not personal investment advice, and BTM does not offer the strategies described above as subscribable products.
Companion re-test
Jegadeesh and Titman (1993) on the BTM universe
Thirty-three-year out-of-sample re-test of the original individual-stock momentum paper, with the full J × K grid, KaTeX-rendered methodology, and the post-2012 selection-fraction series.
Read JT 1993  →