←  Academic re-test index
Paper 02  of  02
Academic Re-test  ·  Per-Signal Universe

The 52-Week High and Momentum Investing

A post-publication walk-forward 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 present the paper's four results tables on the BTM Tiingo and EDGAR universe. Tables I and II report the stand-alone long-short spread for each signal. Tables III and IV report the pairwise nested comparisons that gave the original paper its headline ranking. The stand-alone headline 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 stand-alone matrix that clears the five percent threshold. The nested tables tell a richer story. In Table III the 52-week-high and individual stock momentum behave as complementary signals on the post-2014 window, with each adding significant value inside the loser bucket of the other, contrary to the paper's "FH dominates JT" ranking from 1963 to 2001. In Table IV the paper's "FH dominates MG outside January" finding does not replicate on any window, and on the early window the direction reverses. 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, and the nested tables suggest that even where momentum survives in the modern era, the signals relate to each other in more complex ways than the paper described.
Key findings

Five observations from the re-test

Finding 01
Individual stock momentum is the only headline 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 headline matrix where the post-2014 regime decisively rewards a stand-alone momentum signal at journal-acceptable significance.
Finding 02
The 52-week-high and individual stock momentum behave as complementary signals.
Inside Table III the two signals each add value where the other does not. On the 2016 to 2026 window, JT delivers +1.10 percent per month with January excluded inside the FH-loser bucket (t = +3.88), while FH delivers +1.22 percent per month with January excluded inside the JT-loser bucket (t = +2.33). Neither signal dominates the other, and the paper's clean "FH dominates JT" ranking from 1963 to 2001 does not replicate on the modern universe.
Finding 03
The 52-week-high does not dominate industry momentum on any window.
Inside Table IV the paper's "FH dominates MG outside January" finding does not replicate. On the 2009 to 2015 window the direction even reverses, with industry momentum delivering +0.86 percent per month with January excluded inside the FH-loser bucket (t = +2.73). On the later and pooled windows the cross-bucket spreads collapse to weakly positive or insignificant. No window shows the 52-week-high dominating industry momentum.
Finding 04
Industry momentum strengthens as the eligible 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 05
Post-2008 momentum compression is real and consistent with the published literature.
Even on the paper-equivalent Tiingo-only universe, FH on the full 2009 to 2026 window comes in at minus 0.335 percent per month with a t-statistic of minus 0.95. This is consistent with the post-2008 compression of cross-sectional momentum returns documented by Daniel and Moskowitz (2016) and Barroso and Santa-Clara (2014) on independent datasets, which suggests the result reflects a documented regime shift rather than a BTM-specific artifact.
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. Our re-test runs the same three signals across three time windows. One design choice is consequential up front: each signal runs on the broadest universe its inputs allow, so the three are not held to a single common cross-section. We describe the trade-off below.

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? In addition to the stand-alone signal comparison, we run the two pairwise nested comparisons the paper used to argue for FH dominance. Table III sets FH against JT on the Tiingo-only universe and Table IV sets FH against industry momentum on the SEC  Tiingo intersection. Tables V and VI of the original paper, which cover Fama-MacBeth regressions and post-formation persistence, remain out of scope for this run because they require shares-outstanding history that is not yet back-filled to 2009.

II. Results

Tables I through IV · the paper's four results tables on the BTM universe

This section walks through the four results tables in the order George and Hwang published them. Tables I and II report the stand-alone long-short spread for each signal, first on the full window and then with the January observations removed. Tables III and IV ask the pairwise question that gave the original paper its headline finding. Inside each bucket of one signal, does the other signal still produce a winner-minus-loser spread? We present each table as a peer of the others, with the same row banding, column treatment, and significance marking, so the reader can hold all four tables in a single results narrative rather than treating Tables III and IV as a follow-up section.

Each cell 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. A double asterisk marks cells where |t| ≥ 1.96, the standard five percent two-tailed cutoff. Significant cells are tinted with a soft green fill so the reader can scan for them at a glance. The single deepest-significance result, JT on Window B with January excluded, is highlighted in the bright signal-green to mark it as the headline cell.

Tables I and II combined
Stand-alone long-short spreads by window, signal, and universe (2009-01 to 2026-04)
Table I in George and Hwang reports the mean monthly long-short spread for each signal. Table II reports the same spread with January observations excluded. We display both as paired columns so the reader can see the January effect directly inside each row rather than flipping between two tables. n is the count of monthly observations within the window. Winner and loser per-portfolio columns are not reported here because the engine output we publish from is the spread series directly. 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 inside the stand-alone signal comparison is JT on Window B with January excluded (+0.740 percent per month, t = +2.67**, highlighted in bright green). 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
Table III
The 52-week-high against individual stock momentum, pairwise nested
Table III asks whether each signal still produces a winner-minus-loser spread after controlling for the other. Within Panel A we first sort the universe by the individual-stock-momentum score into top thirty percent (JT-Winner), middle, and bottom thirty percent (JT-Loser) buckets. Inside each bucket we then re-sort by the 52-week-high score and compute the FH winner-minus-loser spread. Panel B asks the reciprocal question by sorting first on the 52-week-high score and then re-sorting within each FH bucket on the individual-stock-momentum score. The paper's original argument was that the 52-week-high signal still works after controlling for individual stock momentum (so Panel A spreads should remain positive) while individual stock momentum collapses after controlling for the 52-week-high (so Panel B spreads should not). Both panels share the Tiingo-only universe for both signals so the comparison is apples-to-apples.
Panel A  ·  FH winner-minus-loser spread inside each JT bucket
A positive spread here means the 52-week-high signal still distinguishes winners from losers even after we hold the individual-stock-momentum bucket constant.
JT bucket n Spread %/mo t-stat ex-Jan Spread ex-Jan t
Window A  ·  2009-01 to 2015-12  n = 84
JT-Winner 84 −0.41 −1.54 −0.24 −0.89
JT-Middle 84 −0.49 −1.48 −0.36 −1.03
JT-Loser 84 −1.01 −1.76 −0.45 −0.78
Window B  ·  2016-01 to 2026-04  n = 124
JT-Winner 124 −0.36 −1.51 −0.20 −0.87
JT-Middle 124 −0.78 −2.21 −0.62 −1.76
JT-Loser 124 +0.76 +1.41 +1.22 +2.33
Window C  ·  2009-01 to 2026-04  n = 208 (pooled)
JT-Winner 208 −0.37 −2.10 −0.22 −1.24
JT-Middle 208 −0.66 −2.63 −0.51 −2.03
JT-Loser 208 +0.06 +0.15 +0.56 +1.42
Panel B  ·  JT winner-minus-loser spread inside each FH bucket
A positive spread here means the individual-stock-momentum signal still distinguishes winners from losers even after we hold the 52-week-high bucket constant.
FH bucket n Spread %/mo t-stat ex-Jan Spread ex-Jan t
Window A  ·  2009-01 to 2015-12  n = 84
FH-Winner 84 +0.06 +0.20 +0.18 +0.63
FH-Middle 84 −0.07 −0.34 +0.07 +0.32
FH-Loser 84 −0.62 −1.69 −0.27 −0.74
Window B  ·  2016-01 to 2026-04  n = 124
FH-Winner 124 +0.95 +2.73 +0.83 +2.36
FH-Middle 124 +0.42 +2.57 +0.37 +2.25
FH-Loser 124 +0.87 +2.99 +1.10 +3.88
Window C  ·  2009-01 to 2026-04  n = 208 (pooled)
FH-Winner 208 +0.58 +2.44 +0.57 +2.38
FH-Middle 208 +0.21 +1.55 +0.24 +1.85
FH-Loser 208 +0.26 +1.13 +0.54 +2.37
aTiingo-only universe for both signals at every formation date, so the FH and JT cohorts inside Table III are drawn from the same eligible cross-section. bSoft-green fill marks |t| ≥ 2.0. The two strongest results are JT inside the FH-loser bucket on the 2016 to 2026 window with January excluded (+1.10 percent per month, t = +3.88) and JT inside the FH-winner bucket on the same window full-sample (+0.95 percent per month, t = +2.73). cReading Panel A and Panel B together, neither signal cleanly dominates the other on Window B. Each adds value where the other is weakest, which is a meaningful departure from the paper's "FH dominates JT" ranking from 1963 to 2001.
Table IV
The 52-week-high against industry momentum, pairwise nested
Table IV asks the same pairwise question as Table III, this time between the 52-week-high signal and the industry-momentum signal. Panel A holds the industry-momentum bucket constant and asks whether the 52-week-high spread still works inside it. Panel B holds the 52-week-high bucket constant and asks the reciprocal. The paper's headline argument was that the 52-week-high signal dominates industry momentum outside January.
Methodology note  ·  Table IV universe departure
For Table IV the 52-week-high signal is recomputed on the SEC  Tiingo intersection (roughly 2,200 tickers in 2009 growing to about 5,700 by 2026) rather than the broader Tiingo-only universe used in Tables I, II, and III. The switch is required because industry momentum needs the SIC code from SEC EDGAR, so the only way to make the 52-week-high signal apples-to-apples against industry momentum is to recompute it on the smaller intersection universe. At every formation date in Table IV the 52-week-high cohorts and the industry-momentum cohorts are drawn from the same eligible cross-section. The consequence is that the 52-week-high numbers in Table IV are not directly comparable to the 52-week-high numbers in Tables I, II, and III. A reader comparing the headline 52-week-high spread across tables must hold the universe constant.
Panel A  ·  FH winner-minus-loser spread inside each MG bucket
A positive spread here means the 52-week-high signal still distinguishes winners from losers even after we hold the industry-momentum bucket constant.
MG bucket n Spread %/mo t-stat ex-Jan Spread ex-Jan t
Window A  ·  2009-01 to 2015-12  n = 84
MG-Winner 84 −1.15 −2.32 −0.71 −1.45
MG-Middle 84 −0.91 −1.77 −0.59 −1.12
MG-Loser 84 −0.55 −0.88 −0.06 −0.09
Window B  ·  2016-01 to 2026-04  n = 124
MG-Winner 124 +0.30 +0.74 +0.54 +1.44
MG-Middle 124 +0.53 +1.34 +0.86 +2.39
MG-Loser 124 +0.15 +0.29 +0.43 +0.85
Window C  ·  2009-01 to 2026-04  n = 208 (pooled)
MG-Winner 208 −0.29 −0.91 +0.03 +0.10
MG-Middle 208 −0.05 −0.16 +0.27 +0.89
MG-Loser 208 −0.14 −0.35 +0.24 +0.60
Panel B  ·  MG winner-minus-loser spread inside each FH bucket
A positive spread here means the industry-momentum signal still distinguishes winners from losers even after we hold the 52-week-high bucket constant.
FH bucket n Spread %/mo t-stat ex-Jan Spread ex-Jan t
Window A  ·  2009-01 to 2015-12  n = 84
FH-Winner 84 −0.13 −0.70 −0.04 −0.22
FH-Middle 84 +0.09 +0.58 +0.13 +0.85
FH-Loser 84 +0.74 +2.34 +0.86 +2.73
Window B  ·  2016-01 to 2026-04  n = 124
FH-Winner 124 +0.31 +1.95 +0.19 +1.26
FH-Middle 124 +0.23 +1.42 +0.16 +1.02
FH-Loser 124 +0.02 +0.09 −0.07 −0.25
Window C  ·  2009-01 to 2026-04  n = 208 (pooled)
FH-Winner 208 +0.13 +1.11 +0.10 +0.86
FH-Middle 208 +0.18 +1.60 +0.15 +1.40
FH-Loser 208 +0.31 +1.46 +0.30 +1.45
aSEC  Tiingo universe for both signals at every formation date. The 52-week-high signal here is the recomputed-on-intersection variant described in the inset note above and is not directly comparable to the FH numbers reported in Tables I, II, and III. bSoft-green fill marks |t| ≥ 2.0. cReading the panels together, the paper's "FH dominates MG outside January" finding does not replicate on any window. On Window A the direction even reverses, with industry momentum delivering a significant positive spread inside the FH-loser bucket (+0.86 percent per month, t = +2.73) while the 52-week-high spreads inside the MG buckets are uniformly negative. On Window B the cross-bucket spreads collapse to weakly positive or insignificant for both directions.
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 original George and Hwang paper, working on CRSP from 1963 to 2001, established a clear ranking. The 52-week-high signal dominated individual stock momentum, which in turn dominated industry momentum. The nested tables in the paper formalized that ranking by showing that the 52-week-high spread remained positive after controlling for individual stock momentum or industry momentum, while the reciprocal individual-stock and industry spreads collapsed after controlling for the 52-week-high.

On the BTM 2009 to 2026 windows the picture is different and worth describing carefully. Looking only at Tables I and II, the post-2014 regime with January excluded decisively rewards an individual-stock six-month momentum signal at journal-acceptable significance, with JT on Window B reaching +0.740 percent per month at t = +2.67. The 52-week-high signal, the paper's headline strategy, lands negative-to-flat on every window, and industry momentum strengthens with EDGAR coverage but does not cross the five percent threshold.

The pairwise nested tables sharpen the comparative picture. For the comparison between the 52-week-high and individual stock momentum in Table III, the 2016 to 2026 window shows the two signals as complementary rather than competing. Inside the 52-week-high loser bucket, individual stock momentum delivers a strong positive spread of about plus one percent per month with t-statistics around three. Inside the individual-stock-momentum loser bucket, the 52-week-high signal delivers an equally strong spread of +1.22 percent per month with January excluded, at t = +2.33. Neither signal dominates the other. Both add value, especially in the loser bucket of the other. This is a meaningful departure from the paper's ranking, and it suggests that in the modern era these two ways of measuring momentum capture different aspects of the same underlying phenomenon rather than competing for the same effect.

For the comparison between the 52-week-high and industry momentum in Table IV, the paper's "52-week-high dominates industry momentum outside January" result does not replicate. On the 2009 to 2015 window the direction even reverses, with industry momentum delivering a significant positive spread of +0.86 percent per month with January excluded inside the 52-week-high loser bucket, at t = +2.73. On the middle and full windows the cross-bucket spreads collapse to weakly positive or insignificant. No window in our data shows the 52-week-high dominating industry momentum.

The honest reading is that the paper's clean three-signal ranking from the 1963 to 2001 CRSP era does not hold on the 2009 to 2026 modern universe. The signals appear to relate to each other in more complex ways than the paper's framing suggested.

The compression context still matters. 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. The fact that the 52-week-high signal lands negative on the full 2009 to 2026 window even on the paper-equivalent universe is consistent with that documented compression. It is not a BTM-data artifact. What Tables III and IV add to that compression story is the observation that even where momentum survives in the modern era, it survives in a different shape than the paper described. Individual stock momentum and the 52-week-high reward different parts of the cross-section, and the 52-week-high no longer absorbs the other two signals the way it did in the original sample.

This is a backtest of a published academic anomaly, not a live BTM strategy. We publish it as part of a walk-forward 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. Items two and three, which together describe how the eligible universe is assigned per signal and per table, are the most consequential ones for the results presented above. Item two covers Tables I, II, and III. Item three covers the recomputation of the 52-week-high signal on the intersection universe that Table IV requires for apples-to-apples comparison against industry momentum.

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 for Tables I, II, and III. 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. Inside Table III the comparison is between JT and FH only, both of which run on the Tiingo-only spine, so the pairwise nested comparison is apples-to-apples on that table.
  3. Recomputed FH on the intersection universe for Table IV. For Table IV the 52-week-high signal is recomputed on the SEC  Tiingo intersection (approximately 2,200 tickers in 2009 growing to 5,700 in 2026) rather than the broader Tiingo-only universe used in Tables I, II, and III. This is required so the 52-week-high signal can be compared apples-to-apples against industry momentum, which requires SIC codes from SEC EDGAR. At every formation date in Table IV the 52-week-high cohorts and industry-momentum cohorts are drawn from the same eligible cross-section. The consequence is that the 52-week-high numbers in Table IV are not directly comparable to the 52-week-high numbers in Tables I, II, and III. A reader comparing the headline 52-week-high spread across tables must hold the universe constant.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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. Tables I, II, and III place the 52-week-high signal on the broader Tiingo-only universe, while Table IV recomputes the 52-week-high signal on the smaller SEC  Tiingo intersection so it can be compared apples-to-apples against industry momentum, and the 52-week-high numbers in Table IV are therefore not directly comparable to the 52-week-high numbers in the other three tables. 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 walk-forward 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  →