QuanterLab produced this study: it wasn’t written up afterwards. Registered hypothesis and search record in Appendix A2.

A note on AI. QuanterLab is a quantitative finance research platform, and every number in this study comes from a run on the platform. The hypothesis, the parameter choices, the validation design and the conclusions belong to the author. Runs execute on point-in-time data with walk-forward validation, and each study ships with its methodology and logs, so a reader can reconstruct the result instead of trusting it. I use AI to edit and structure the prose; it does not generate results, produce numbers, or decide what a study concludes.

As seen on Quantocracy
All research
QuanterLab · Research

The number on every brokerage screen mostly tells you where the market is

Universe · S&P 500 (point-in-time constituents)
Method · Comparative: 52-week high vs 12-1 momentum
Manipulated variable · The ranking primitive, and nothing else. Both arms take the twenty HIGHEST ranked names from the same point-in-time S&P 500, equal weighted, long only, re-selected semi-annually, against the same RSP benchmark. Arm A ranks on nearness to the 52-week high (close divided by the highest close of the trailing 252 bars) - the number on every brokerage screen. Arm B ranks on 12-1 momentum with the one-month skip, the Jegadeesh-Titman convention George & Hwang test against. Their claim is that nearness to the 52-week high predicts returns BETTER than past return does; this asks whether that survives
Step size · 1 year per forward window
In-sample · 2 years before each anchor
Out-of-sample span · 2006-01-03 → 2025-12-31
Compiled · August 11, 2026
Abstract

Nearly every trading platform shows how close a stock sits to its 52-week high, and George and Hwang (2004) reported that the number predicts returns. This is a Paper to Portfolio study, so the question is not whether the effect exists in a journal but what a private investor would actually have held, and what it would have paid them.

The good news first: this one is holdable. The original construction overlaps six monthly cohorts, so replicating it literally means running six books at once and touching the portfolio every month. Held the way the paper actually specifies, at six months, it comes to roughly one re-selection per window and about forty distinct names across a year. A person can run that.

What they would have got is the harder answer. In the typical year the book edged past the equal-weight index, by a median of 1.96 points in the windows from 2010 onward, and 1.4 points across all 120 windows. Compounded across the full twenty years it finished behind, in five of the six runs we walked, by between 0.9 and 2.6 points a year. Both are true because the losses are rare and enormous: in the year after the 2008 bottom it returned 6.3% while the index returned 37.5%.

The reason sits in the ranking. Proximity to a 52-week high is capped at one, so in a rising market almost everything crowds the ceiling: the median anchor has fifty names sitting within one percent of the twentieth-place cutoff, against three for twelve-month momentum (Figure 6). Fifty candidates for twenty places is close to a draw, and after a crash the few names still near their highs are precisely the ones that will not lead the recovery.

Author’s note

This study exists because the earlier quarterly version of it was not the paper it claimed to replicate. George and Hwang hold for six months; we had been holding for three. Correcting that one parameter moved the headline from a five-point annual gap to nothing distinguishable, which is a fair measure of how much of a result can live inside a choice nobody registered as a choice.

I insisted the tie density be measured during the walks rather than reconstructed afterwards, on the grounds that recovering it later would mean running all 120 windows again. It turned out to be the number that explains the study.

An earlier draft of this paper led with the claim that the book simply is the market, on the strength of its average window. Its own compound curve contradicted that, and the contradiction is the more interesting result.

A note on the search record. The compiler first marked this design's search as unrecorded, and the masthead said so. That was wrong in a way worth explaining, because it is the one claim this platform is built on. The search behind the design is eighteen registered walks over two axes, holding period and start month. The compiler could not see them because it counts trials within a project, and those eighteen are eighteen separate projects. The record has been corrected by hand to eighteen and the amendment is stamped in the artifact rather than made silently. What remains genuinely unknown is whatever thinking preceded the first registered walk, which no counter can reach.

1  Methodology

Two books, one difference between them. Arm A holds the twenty S&P 500 members closest to their 52-week high. Arm B holds the twenty with the highest twelve-month momentum skipping the most recent month, which is the benchmark George and Hwang measured themselves against. Both are equal-weighted, long only, re-selected semi-annually from point-in-time index membership, and compared against the equal-weight S&P 500.

The semi-annual holding period is the point of this study. The original paper holds for six months. An earlier build of ours held for three, which is neither the paper nor anything a private investor would run, and that single parameter turned out to carry much of the earlier result.

Each run walks twenty sealed windows of one year. The universe, the ranking, the holding period and the number of windows are registered before the first window opens, and each window sees only what was knowable on its anchor date.

The design was then run from six start months, January through June. Six is not an abbreviation of twelve: with a six-month rebalance cycle a July start sits at the same point in that cycle as a January start, so January through June exhausts the distinct phases.

The search behind this paper is eighteen registered walks, and they are the reason it says what it says. Twelve of them are the same two books rebalanced quarterly, one per calendar month; six are the semi-annual runs reported here. The circuit was not otherwise modified. What was searched was the holding period and where in the year the walk begins, which is exactly the pair of choices a reader should suspect, so both are on the record rather than reconstructed after the fact.

This page carries the walk beginning in January, and the masthead figures describe that walk. Every aggregate in the text is computed across all six and identified by start month where a single figure is quoted.

Transaction costs are not modelled in this study; all results are gross of costs.

2  Results

2.1  Headline

52-week high, pooled Sharpe
0.34
5012 OOS bars
12-1 momentum, pooled Sharpe
0.31
5012 OOS bars
P(52-week high beats 12-1 momentum)
25.6%
5011 paired bars · CAGR gap (52-week high − 12-1 momentum) -0.1 pp
Out-of-sample equity: normalised growth (1.00x = break even)0.05x2.35x4.64x2006200920122015201820212024
Figure 1. Both arms stitched through the identical windows,  52-week high (+158.6%),  12-1 momentum (+162.1%), benchmark grey (+325.6%). Dotted verticals mark the step boundaries; the dashed horizontal is break-even. These figures compound each arm's own stitched daily series; the pooled statistics in the text inner-join both arms' trading days, one session apart, both are printed from the frozen record.
Out-of-sample equity: normalised growth (1.00x = break even)0.49x3.24x6.00x20102012201420162018202020222024
Figure 2. The same walk, re-based to 1.00x at the first window starting in 2010, 16 of the 20 windows above.  52-week high (+308.1%),  12-1 momentum (+443.0%), benchmark grey (+362.5%). This is a subset of Figure 1, not a correction to it. The study is anchored before the 2007–09 crisis on purpose: a method that only works in calm markets should be caught doing it. But one crisis window and its equally singular recovery set the vertical scale for the whole of Figure 1, and everything after 2010 is compressed into the bottom of it. This figure shows the same windows, same method, same data, with that period outside the frame, so the post-crisis years can be read at their own scale. Neither figure stands on its own; the full record is what the study claims, and the era rows below put a number on how much of the gap came from which period.

2.2  Per-step results

Table 1. One row per registered step.
#Out-of-sample window 52-week high SR 12-1 momentum SR
1 2006-01-03 → 2006-12-29 1.18 0.21
2 2007-01-03 → 2007-12-31 0.41 0.30
3 2008-01-02 → 2008-12-31 -1.25 -1.03
4 2009-01-02 → 2009-12-31 0.44 0.33
5 2010-01-04 → 2010-12-31 0.37 0.66
6 2011-01-03 → 2011-12-30 0.27 -0.28
7 2012-01-03 → 2012-12-31 1.25 0.67
8 2013-01-02 → 2013-12-31 1.85 2.24
9 2014-01-02 → 2014-12-31 0.81 0.66
10 2015-01-02 → 2015-12-31 -0.22 -0.06
11 2016-01-04 → 2016-12-30 0.14 0.49
12 2017-01-03 → 2017-12-29 2.68 0.67
13 2018-01-02 → 2018-12-31 -0.25 -0.55
14 2019-01-02 → 2019-12-31 1.39 1.59
15 2020-01-02 → 2020-12-31 0.34 0.54
16 2021-01-04 → 2021-12-31 1.44 1.01
17 2022-01-03 → 2022-12-30 -0.58 -0.10
18 2023-01-03 → 2023-12-29 0.33 0.66
19 2024-01-02 → 2024-12-31 1.63 1.33
20 2025-01-02 → 2025-12-31 0.96 0.94
Out-of-sample equity: normalised growth (1.00x = break even)0.35x0.87x1.40xbars into the window →
Figure 3. 52-week high: every step's out-of-sample curve overlaid, each rebased to 1× at its own start. Read alongside Table 1: consistent shape across steps is the walk-forward's evidence; a single lucky leg is not.
Out-of-sample equity: normalised growth (1.00x = break even)0.26x0.91x1.57xbars into the window →
Figure 4. 12-1 momentum: the same windows, the other arm. Compare shape-for-shape with the previous figure: the two arms trade the identical out-of-sample legs.

2.3  Search accounting

This study is its own recorded search: 18 circuits were registered (pruned candidates included) and 18 runs were logged; the count used is the larger of the two, N = 18. The count is the primary artifact, every candidate is on the record, timestamped before its window was scored, so the number is auditable rather than asserted. the per-step deflated track in Table 1 is illustrative, since near-identical variants are correlated and per-step deflation over-penalises.

2.4  The comparison

Both arms trade the same registered windows, so their returns can be PAIRED: inside each window the two return series are inner-joined date by date and the difference r52-week high − r12-1 momentum is the object under test. Because this is ONE pre-declared contrast, frozen at registration before any window was scored, the paired statistic needs no multiple-testing deflation; the per-arm pooled numbers above are still deflated by the trial count as usual.

Table 2. Window-by-window paired comparison. Δ is the growth gap (52-week high − 12-1 momentum) over the window's paired dates.
#WindowPaired bars 52-week high12-1 momentum ΔLeader
1 2006-01-04 → 2006-12-29 250 +16.2% +2.2% +14.0 pp 52-week high
2 2007-01-04 → 2007-12-31 250 +5.3% +4.5% +0.8 pp 52-week high
3 2008-01-03 → 2008-12-31 252 -51.3% -56.9% +5.6 pp 52-week high
4 2009-01-05 → 2009-12-31 251 +6.3% +4.8% +1.6 pp 52-week high
5 2010-01-05 → 2010-12-31 251 +5.2% +16.1% -10.9 pp 12-1 momentum
6 2011-01-04 → 2011-12-30 251 +3.7% -14.4% +18.1 pp 52-week high
7 2012-01-04 → 2012-12-31 249 +12.3% +9.7% +2.6 pp 52-week high
8 2013-01-03 → 2013-12-31 251 +32.4% +47.8% -15.4 pp 12-1 momentum
9 2014-01-03 → 2014-12-31 251 +11.2% +11.1% +0.1 pp 52-week high
10 2015-01-05 → 2015-12-31 251 -4.8% -2.5% -2.3 pp 12-1 momentum
11 2016-01-05 → 2016-12-30 251 +1.0% +7.2% -6.2 pp 12-1 momentum
12 2017-01-04 → 2017-12-29 250 +20.9% +9.3% +11.6 pp 52-week high
13 2018-01-03 → 2018-12-31 250 -4.8% -15.2% +10.5 pp 52-week high
14 2019-01-03 → 2019-12-31 251 +17.5% +26.9% -9.3 pp 12-1 momentum
15 2020-01-03 → 2020-12-31 252 +6.0% +14.8% -8.7 pp 12-1 momentum
16 2021-01-05 → 2021-12-31 251 +24.6% +25.0% -0.5 pp 12-1 momentum
17 2022-01-04 → 2022-12-30 250 -10.9% -9.5% -1.5 pp 12-1 momentum
18 2023-01-04 → 2023-12-29 249 +3.4% +12.5% -9.0 pp 12-1 momentum
19 2024-01-03 → 2024-12-31 251 +21.7% +33.1% -11.4 pp 12-1 momentum
20 2025-01-03 → 2025-12-31 249 +17.4% +27.0% -9.6 pp 12-1 momentum

Paired Sharpe of the difference track: -0.13 · block bootstrap (2000 paths, block 10, seed 1234): P(52-week high beats 12-1 momentum) = 25.6%.

Window win-rate. 52-week high led 9 of 20 windows (45.0%), 12-1 momentum led 11 , and the mean window gap of -1.01 pp points the same way. Widest single window: 2011 at +18.1 pp.

Table 3. The same comparison split at 2010. Pooling the whole walk into one row hides which side of the split the difference came from.
PeriodWindows 52-week high12-1 momentum Mean gap52-week high led
All windows 20 +6.66% +7.67% -1.01 pp 9/20
Before 2010 4 -5.87% -11.35% +5.48 pp 4/4
2010 onward 16 +9.80% +12.43% -2.63 pp 5/16
All windowsn=20 · 52-week high led 9+6.7%+7.7%-1.01 ppBefore 2010n=4 · 52-week high led 4-5.9%-11.3%+5.48 pp2010 onwardn=16 · 52-week high led 5+9.8%+12.4%-2.63 ppgap
Figure A1, mean window return per period. 52-week high above, 12-1 momentum below, with the gap at right. The pooled bar and the post-2010 bar are the same comparison over different periods.

The two eras disagree by 8.11 pp. The pooled figure is therefore not a standing property of either method, it is dominated by the earlier period. Read the two rows, not the average.

3  The circuit

The strategy is a circuit of platform primitives, frozen when the study is registered. Below is the circuit as wired on the canvas, the objective it encodes and how the search runs through it, followed by the mathematics each primitive actually computes, the same formulas the execution engine runs. The complete parameterisation is preserved in the study ledger (Appendix A).

The hypothesis under test

A COMPARATIVE study, 52-week high vs 12-1 momentum, walked on the same registered out-of-sample windows. 52-week high: S&P 500, selected by statistical / factor criteria, rebalanced semi_annual across the selected basket, and run out-of-sample from the anchor, whatever the design estimates from history is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. 12-1 momentum: S&P 500, selected by statistical / factor criteria, rebalanced semi_annual across the selected basket, and run out-of-sample from the anchor, whatever the design estimates from history is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. The arms differ in: 52-Week High → Momentum 12-1, substituted (its parameters change with the swap). The contrast under test: whether 52-week high generates better risk-adjusted returns than 12-1 momentum over the identical out-of-sample windows.

The frozen circuit, data flows left to rightuniverse: click for detailsuniverseprice loader: click for detailsprice loaderfilter high 52w: click for detailsfilter high 52wtop n: click for detailstop nportfolio backtest: click for detailsportfolio backtestportfolio forward autopsy: click for detailsportfolio forward autopsyuniverse: click for detailsuniverseprice loader: click for detailsprice loaderfilter mom 12 1: click for detailsfilter mom 12 1top n: click for detailstop nportfolio backtest: click for detailsportfolio backtestportfolio forward autopsy: click for detailsportfolio forward autopsy52-week high12-1 momentumshared
Figure 5. The frozen circuit, every node a primitive, every wire a typed data-flow; the two arms are colour-coded (52-week high green, 12-1 momentum blue, shared feeds neutral). Each box is one step of the strategy; data flows along the wires left to right, and no box can see data dated later than the box feeding it. The whole diagram was frozen when the hypothesis was registered. Click any node to open what that step ran with and what it produced.

Envelopes show counts, ratios, dates, and the parameters the author chose. Full price and per-name data series are not republished: the underlying market data is licensed to QuanterLab. Point figures quoted in the prose, a named holding's return over a stated span, are summary facts derived from public market prices, not redistributed series.

What each part does
Universe, The starting set of tickers, resolved point-in-time from the index change-log, so names delisted or removed later still compete on the dates they traded.
Price Loader, Bulk OHLCV fetch for the whole universe, point-in-time, no future bars.
Filter High 52W, Proximity to the 52-week high, a breakout proxy.
Filter Mom 12 1, Classic 12–1 momentum, last year's return, skipping the most recent month.
Top N, Keep the best N, rank, then cut.
Portfolio Backtest, Replay the portfolio forward, rebalanced, point-in-time. No transaction-cost overlay is wired in this circuit, so these results are gross of costs.
Portfolio Forward Autopsy, The post-mortem, where the forward test’s return actually came from.

The objective and the search

52-week high

UniverseS&P 500 index constituents.
Selectionmetric across 52-week-high proximity → highest 20 kept by 52-week-high proximity.
Validation & out-of-sampleportfolio forward test (buy-and-hold book) (1y horizon from the anchor, semi_annual rebalance).

12-1 momentum

UniverseS&P 500 index constituents.
Selectionmetric across Momentum (12-1) → highest 20 kept by Momentum (12-1).
Validation & out-of-sampleportfolio forward test (buy-and-hold book) (1y horizon from the anchor, semi_annual rebalance).

What differs between the arms, one difference; the comparison is clean:

  • substituted52-Week High → Momentum 12-1, substituted (its parameters change with the swap)

Everything else is held identical, so an out-of-sample gap between the arms is attributable to this one change.

No transaction-cost elements are wired into this circuit; results are gross of costs.

Show the mathematics, 7 primitives, formulas and parity notes

3.1  Universe

The starting set of tickers, resolved point-in-time from the index change-log, so names delisted or removed later still compete on the dates they traded.

Before any math, you need a list of stocks. An index preset (S&P 500, Nasdaq-100, Dow 30) is reconstructed as it stood ON your anchor date by replaying the historical add/drop change-log backwards, so a 2018 backtest sees the 2018 membership, not today's winners.

Point-in-time membership

Start from today's constituents and un-apply every membership change after the anchor t:

\mathcal{U}(t) = \mathcal{U}_{\text{now}} \;\ominus\; \{\text{adds after } t\} \;\oplus\; \{\text{drops after } t\}
Constituents resolved from the index change-log; the same point-in-time set the factor + screening modules use.

3.2  Price Loader

Bulk OHLCV fetch for the whole universe, point-in-time, no future bars.

Momentum, volatility, trend, every price-based metric needs history. This loads open/high/low/close/volume for all names in parallel, clipped so nothing after the anchor can leak in. The lookback window is derived automatically from the deepest metric you wired.

The window is derived, not guessed

It loads exactly enough history for the hungriest downstream metric plus a warm-up buffer:

W = \max_k(\text{lookback}_k) + \text{buffer}, \qquad \text{bars} \le \text{anchor } t

3.3  Filter High 52W

Proximity to the 52-week high, a breakout proxy.

How close today's price is to its highest point over the past year. Stocks near their highs tend to keep working (the "52-week-high" anomaly).

Fraction of the yearly high
\text{prox} = \frac{P_t}{\max_{\tau \in [t-252,\,t]} P_\tau} \in (0,1]

3.4  Top N

Keep the best N, rank, then cut.

Sort the survivors by the Composite Σ (or, if none is wired, the last metric in the chain) and keep the top (or bottom) N. The final narrowing from a scored list to a committed basket.

Order statistic cut
\text{Top-}N = \{\, i : \operatorname{rank}(\text{score}_i) \le N \,\}
"Keep highest" for momentum; "keep lowest" for e.g. Hurst (mean reversion).

3.5  Portfolio Backtest

Replay the portfolio forward, rebalanced, point-in-time.

Holds the basket and rebalances on schedule, re-selecting and re-optimizing point-in-time at each rebalance (so it only ever uses information available then), and reports the equity curve, Sharpe, drawdown and trade stats, optionally net of cost and risk overlays.

Compounded equity
E_t = E_{t-1}\big(1 + \mathbf w_{t}^{\top}\mathbf r_t - \text{costs}_t\big)
Drawdown
\text{DD}_t = \frac{E_t}{\max_{\tau\le t}E_\tau} - 1, \qquad \text{MaxDD} = \min_t \text{DD}_t
Financing a levered book
\text{charge}_t \;=\; \text{loan}_t \cdot \frac{\text{spread}}{252}, \qquad \text{loan}_t = \begin{cases}\max(0,\,-\text{cash}_t) & \text{institutional (netted)}\\ \max(0,\,\text{long MV}_t - E_t) & \text{retail (no netting)}\end{cases}
A levered long/short book (the β-neutral Long/Short Select) borrows its excess notional. WHO you are decides the loan: a prime broker nets short-sale proceeds against the margin loan, a fully-netted BAB book carries almost none, while a retail margin account cannot net, so the same book borrows the long leg’s excess over equity. Profiles: institutional = 50 bps spread + 25 bps GC short borrow; retail = 350 bps + 150 bps (the BEST retail tier, so any verdict is conservative); custom = your own knobs, spread on negative cash. Charged daily, reported as financing_drag_pct, never silent.

3.6  Portfolio Forward Autopsy

The post-mortem, where the forward test’s return actually came from.

Runs after the Portfolio Forward Test and dissects its realized path: per-rebalance contributions, winners and losers, exposure and cash periods, and how the realized route compares to what the risk cones projected. It computes nothing new about the future, it explains the past the book just lived.

Reading it

Depth I–IV: headline attribution, per-segment breakdown, per-name contributions, and the calibration ledger (projected cone vs realized, segment by segment). In a study, this is the node that fills the appendices.

3.7  Filter Mom 12 1

Classic 12–1 momentum, last year's return, skipping the most recent month.

The workhorse of cross-sectional momentum. Measure the return from 12 months ago to 1 month ago; the 1-month skip avoids the well-known short-term reversal effect that would otherwise contaminate the signal.

Return with a one-month gap
m_{12\text{–}1} = \frac{P_{t-21}}{P_{t-252}} - 1
252 ≈ one trading year, 21 ≈ one trading month.

4  Projection calibration, pooled across the walk

Every rebalance carried a Monte Carlo cone and a 95% VaR estimated before the segment it is scored against. Two questions, pooled over the whole study: did realized outcomes land inside the band as often as the band claims, and were VaR breaches as frequent as 5%?

This section is produced by the forward tester itself: every portfolio backtest fits the cone and the VaR estimate at each rebalance and scores them against the segment that followed. It does not require, and this circuit does not contain, a Monte Carlo primitive; that primitive is a separate, standalone analysis.

Arm A36 of 40 inside the 90% band-67%+34%+134%in band20062007200820092010201120122013201420152016201720182019202020212022202320242025Arm B31 of 40 inside the 90% band-67%+34%+134%in band20062007200820092010201120122013201420152016201720182019202020212022202320242025
Figure A2, projected range versus what occurred, at each of 80 scored rebalance segments, pooled across both arms. The final rebalance of each step has no following segment to score, the ledger marks those rows “no segment follows this rebalance”, which is why this count sits below the raw rebalance totals in the table beneath. Each vertical bar is that rebalance's P5–P95 Monte Carlo cone with the median ticked; the dot is the realized return of the segment that followed. Filled green = the outcome landed inside its own cone; red = it did not. The strip beneath repeats that as one mark per rebalance, so a run of misses in one period is visible as a run. Every cone was fitted only on data prior to the segment it is scored against.
Arm Steps Rebalances In band Coverage Expected VaR days Breach rate Expected
52-week high 20 55 36 / 40 90.0% ±4.74 90.0% 4991 6.11% ±0.339 5.0%
12-1 momentum 20 55 31 / 40 77.5% ±6.6 90.0% 4991 7.29% ±0.368 5.0%

± values are binomial standard errors on the estimate. A coverage figure below the expected band means the projection was over-confident; a breach rate above 5% means the same of the risk model. Both forecasts used only data prior to the segment scored.

5  Discussion

5.1  Findings

It barely chooses anything. Proximity to the 52-week high is bounded above by one, so in a rising market almost everything crowds the ceiling. Pooled across all six walks the median anchor has fifty such names within one percent of the twentieth-place cutoff, with the per-walk medians ranging from 46 to 68; at the worst single anchor 193 do, more than a third of the index competing for twenty places on a difference too small to carry meaning. Twelve-month momentum has a median of three such ties and never more than ten. That single contrast, fifty against three, explains most of what follows and is the whole of Figure 6.

The typical year is fine. Across the windows beginning in 2010 or later, the 52-week-high book beat the equal-weight index by a median of 1.96 percentage points, with an average of 0.21 and a daily correlation of 0.83. Across all 120 windows, pre-2010 included, the median is 1.4 points and the average is minus 1.9 (Figure 7). Every median in this paper names the population it is drawn from, because the two differ in sign. On a year-by-year view it looks like a portfolio that mildly outperforms.

Compounding says otherwise. Chained across the full twenty windows, the book finishes behind the index in five of the six runs: January 4.87% a year against 7.51%, February 6.32% against 7.87%, March 7.08% against 8.01%, April 5.22% against 7.77%, June 6.60% against 8.26%. Only the May run finishes ahead, 8.81% against 7.83%. Five of six finished behind, by between 0.9 and 2.6 points a year; averaged across all six, including May, the shortfall is 1.4 points (Figure 8).

A positive average, a positive median and a negative compound result is the signature of a left-skewed return distribution. The book is usually a little ahead and occasionally very far behind, and compounding keeps the disasters while averaging discards them.

The disasters have a cause. Before 2010 the book lagged the index by an average of 10.3 points a year, and almost all of that sits in two adjacent windows. Through 2008 it fell 51.3% against the index's 40.2%. In the year that followed it returned 6.3% against the index's 37.5%, thirty-one points behind in the year the market ran off the bottom. That follows from the construction: after a decline the names near their 52-week high are the ones that did not fall, and the ones that did not fall are rarely the ones that lead the recovery.

Against real momentum there is no distinguishable difference. In none of the six start months does the probability that one arm beats the other approach significance. Measured as a compound annual gap, run by run: January minus 0.1, February minus 0.5, March plus 0.6, April minus 1.6, May plus 0.3, June minus 3.0. Two of the six finish ahead, and the median is minus 0.3. Measured instead as the average of the twenty individual window differences, the same six runs span minus 5.2 to minus 0.4 with a median of minus 1.4, and none finish ahead. Those two measures answer different questions and are reported separately throughout; the compound figure is what an investor would have earned, the window average is what a typical year looked like.

Rebalancing more often made it worse. The twelve quarterly walks produced a median compound gap against momentum of minus 5.4 points a year, with eight of twelve start months significant. Moving to the six-month holding period the original paper used takes that to minus 0.3 and none of six. No trading costs are modelled in either build, so this is not a cost effect. Following a ranking that barely discriminates more closely simply tracks its noise more closely.

5.2  Interpretation

One year carries most of what remains. The final window, which ends in mid-2026 in the June run and at the corresponding month in each of the others, is between three and twenty-four times the size of the average window in every one of the six runs. In the June run the momentum book returned 84.7% against the 52-week-high book's entirely ordinary 16.9%.

That window is not a data error. Both books held their full twenty names, nothing was dropped and no cash was held. It was an extraordinary year for momentum.

It also decides the answer, and it is a closed, fully scored window in every run: no walk here ends on a partial year (Figure 9). Averaged across the six start months, the mean window difference is minus 2.1 points including that window and minus 1.1 without it. Run by run, over all twenty windows and then over the first nineteen: January minus 0.99 then minus 0.54; February minus 1.49 then minus 1.31; March minus 0.45 then plus 0.09; April minus 3.25 then minus 2.68; May minus 1.24 then minus 0.44; June minus 5.21 then minus 1.91. March changes sign. June loses two thirds of its gap.

Both numbers are reported for every run, not because the final year is suspect but because the conclusion sits one exceptional year away from reversing and a reader is entitled to see that.

You could actually hold this one. George and Hwang overlap six monthly cohorts, so an investor replicating the paper literally would run six books at once and touch the portfolio every month. This build does not: a median of one re-selection per window and roughly forty distinct names across a year. That is a portfolio a person can hold. It is also, on this evidence, a portfolio that is modestly ahead of the index in the typical year and very far behind it in the rare one.

What this is worth to a reader. The 52-week high is not useless and it is not what the screen implies. It selects from a pool so tightly bunched that the choice is close to arbitrary, it is a point or two ahead of the index in an ordinary year, and it has one repeatable failure at the point where markets turn up. If the aim is to hold the market, the index does it more cheaply and does not miss recoveries.

No search record exists for this study: the design was not promoted from a recorded evolving search, so the number of alternatives tried before it is UNKNOWN, which is a different fact from one. No count of alternatives tried is claimed, and nothing is corrected for a search that was never recorded; the number that stands is the raw out-of-sample result plus this disclosure. The out-of-sample windows are historical.

Figure 6. Names tied within 1% of the twentieth-place cutoff, at every anchor across all six walks. Momentum concentrates at three; the 52-week high spreads from four to 193, median fifty.
Figure 6. Names tied within 1% of the twentieth-place cutoff, at every anchor across all six walks. Momentum concentrates at three; the 52-week high spreads from four to 193, median fifty.
Figure 7. All 120 windows: the 52-week-high book minus the equal-weight index over one year. Median 1.4 points ahead, tail reaching 64 points behind.
Figure 7. All 120 windows: the 52-week-high book minus the equal-weight index over one year. Median 1.4 points ahead, tail reaching 64 points behind.
Figure 8. Ahead in the median year in five of six runs, behind on compounding in five of six. The disagreement is the left tail.
Figure 8. Ahead in the median year in five of six runs, behind on compounding in five of six. The disagreement is the left tail.
Figure 9. Each run over all twenty windows, then over the first nineteen. March changes sign; June loses two thirds of its gap.
Figure 9. Each run over all twenty windows, then over the first nineteen. March changes sign; June loses two thirds of its gap.

5.3  Limitations

No trading costs are modelled. Turnover and cost drag are zero in every window of both arms. This matters most for the comparison against our quarterly build, which differs only in rebalance frequency: since neither charges for trading, the difference between them cannot be read as a cost effect. Realistic costs would penalise the more frequent build further, so the direction holds while the size is unmeasured here.

Prices are raw closes and exclude dividends. Both arms are treated identically so the comparison between them is unaffected, and the book and its benchmark are measured on the same basis so the market comparison stands, but no figure here is a total return.

The windows are not independent. Six start months of the same calendar year overlap by up to eleven months, and consecutive windows within a run are contiguous. One hundred and twenty windows are not one hundred and twenty separate experiments, and no significance claim in this paper rests on treating them as such.

The vendor's history is not frozen. Two independent runs of the identical January specification a day apart agreed to the digit on nineteen of twenty windows and differed on one, the 2008 window on the momentum arm, by 1.7 points. The vendor revised that year between the runs. Our method is sealed; the prices underneath it are not.

Six start months exhaust the phases of a six-month rebalance cycle, but they remain six samples of a single twenty-year path in one universe. Nothing here speaks to small caps, to other markets, or to the decades George and Hwang originally studied.

References

QuanterLab reference architecture
  1. Gelman, A., & Loken, E. (2013). The garden of forking paths: Why multiple comparisons can be a problem, even when there is no “fishing expedition.” Working paper, Columbia University.
  2. Harvey, C. R., Liu, Y., & Zhu, H. (2016). … and the Cross-Section of Expected Returns. Review of Financial Studies, 29(1), 5–68. doi:10.1093/rfs/hhv059
  3. Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal, 58(4), 36–52. doi:10.2469/faj.v58.n4.2453
Author’s references?
  1. George, T. J., & Hwang, C.-Y. (2004). The 52-Week High and Momentum Investing. The Journal of Finance, 59(5), 2145-2176.
  2. Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers. The Journal of Finance, 48(1), 65-91.

Appendix A  Reproducibility in QuanterLab

Each step is backed by a frozen run report. The study is re-derivable from the ledger below.

#CommitReportAnchorOOS window
1 dbcf209e5419 1024 2006-01-01 2006-01-03 → 2006-12-29
2 4c2e136f8630 1025 2007-01-01 2007-01-03 → 2007-12-31
3 5360d72c7e04 1026 2008-01-01 2008-01-02 → 2008-12-31
4 b3829df8e886 1027 2009-01-01 2009-01-02 → 2009-12-31
5 74118b9a481f 1028 2010-01-01 2010-01-04 → 2010-12-31
6 f881ae2cadb2 1029 2011-01-01 2011-01-03 → 2011-12-30
7 278edc2c8414 1030 2012-01-01 2012-01-03 → 2012-12-31
8 217b5b9bc95d 1031 2013-01-01 2013-01-02 → 2013-12-31
9 e4a9332422b2 1032 2014-01-01 2014-01-02 → 2014-12-31
10 44659902d322 1033 2015-01-01 2015-01-02 → 2015-12-31
11 55d9ec8f562c 1035 2016-01-01 2016-01-04 → 2016-12-30
12 0b6915a9c021 1037 2017-01-01 2017-01-03 → 2017-12-29
13 e30a0bd5912c 1038 2018-01-01 2018-01-02 → 2018-12-31
14 4c0b43581358 1040 2019-01-01 2019-01-02 → 2019-12-31
15 20afd343a745 1042 2020-01-01 2020-01-02 → 2020-12-31
16 d928dc171196 1043 2021-01-01 2021-01-04 → 2021-12-31
17 6c9548629665 1045 2022-01-01 2022-01-03 → 2022-12-30
18 35f542750a4f 1046 2023-01-01 2023-01-03 → 2023-12-29
19 9bb7fee62271 1048 2024-01-01 2024-01-02 → 2024-12-31
20 e5df1066ae9c 1050 2025-01-01 2025-01-02 → 2025-12-31

Appendix A2  Registration record

What this record does and does not establish. Every window in this study is historical: the data existed before the study began, so this is sequential sealing on past windows, not pre-registration in the clinical-trial sense, and no procedure could make it so. What the platform does enforce is order, each step's specification was frozen and hashed before that step was scored, and the walk cannot advance past a step that was never run or close one with a result registered for a different window. The two timestamp columns below are the evidence: read them together and each seal precedes its own run, and each run precedes the next seal. A study whose seals all post-date its runs would show it here. Wall-clock spacing between seals varies with the author's schedule and queue latency; the ordering, not the tempo, is the claim.

“A COMPARATIVE study, 52-week high vs 12-1 momentum, walked on the same registered out-of-sample windows. 52-week high: S&P 500, selected by statistical / factor criteria, rebalanced semi_annual across the selected basket, and run out-of-sample from the anchor, whatever the design estimates from history is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. 12-1 momentum: S&P 500, selected by statistical / factor criteria, rebalanced semi_annual across the selected basket, and run out-of-sample from the anchor, whatever the design estimates from history is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. The arms differ in: 52-Week High → Momentum 12-1, substituted (its parameters change with the swap). The contrast under test: whether 52-week high generates better risk-adjusted returns than 12-1 momentum over the identical out-of-sample windows.”

The same hypothesis was registered independently at every step, hashed before each step's out-of-sample window was scored:

Table 4. Registration audit, one row per registered step, with the time each specification was frozen and the time its window was scored. The hypothesis is identical on every row by design: it was registered once and re-registered unchanged at each anchor. Rows that differ would mean the specification moved mid-walk, which is the thing this record exists to rule out. The timestamps are the separate claim: each seal precedes its own run, and each run precedes the next seal.
#AnchorRegistered at (UTC)Run completed (UTC)
1 2006-01-012026-08-11 17:45:48 2026-08-11 17:47:47
2 2007-01-012026-08-11 17:47:52 2026-08-11 17:48:52
3 2008-01-012026-08-11 17:48:57 2026-08-11 17:49:37
4 2009-01-012026-08-11 17:49:42 2026-08-11 17:51:03
5 2010-01-012026-08-11 17:51:08 2026-08-11 17:52:09
6 2011-01-012026-08-11 17:52:14 2026-08-11 17:53:14
7 2012-01-012026-08-11 17:53:19 2026-08-11 17:53:59
8 2013-01-012026-08-11 17:54:04 2026-08-11 17:54:45
9 2014-01-012026-08-11 17:54:50 2026-08-11 17:55:31
10 2015-01-012026-08-11 17:55:36 2026-08-11 17:56:16
11 2016-01-012026-08-11 17:56:21 2026-08-11 17:57:22
12 2017-01-012026-08-11 17:57:27 2026-08-11 17:59:02
13 2018-01-012026-08-11 17:58:14 2026-08-11 17:59:15
14 2019-01-012026-08-11 17:59:20 2026-08-11 18:00:22
15 2020-01-012026-08-11 18:00:26 2026-08-11 18:01:52
16 2021-01-012026-08-11 18:01:12 2026-08-11 18:01:53
17 2022-01-012026-08-11 18:01:58 2026-08-11 18:03:32
18 2023-01-012026-08-11 18:02:45 2026-08-11 18:03:45
19 2024-01-012026-08-11 18:03:51 2026-08-11 18:04:51
20 2025-01-012026-08-11 18:04:56 2026-08-11 18:06:02

Appendix B  Per-step diagnostics

What each step's run actually did beyond its return: capital allocation across lanes and regimes, the portfolio book's rebalancing and cost drag, and how positions were sized. Harvested from the frozen run reports, present where the circuit produced them.

Step 1 · 2006-01-03 → 2006-12-29

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 4.02% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2006-01-01 -2.73% 14.3143% 34.4587% 8.3795%yes 1.4174% 8 / 124
2006-07-01 -4.2435% 10.0185% 25.267% 6.3959%yes 1.0739% 2 / 125
2007-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 6.43% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2006-01-01 4.1248% 29.7932% 61.976% 5.1881%yes 1.9377% 10 / 124
2006-07-01 -4.2119% 23.6543% 56.9952% -2.4894%yes 2.0553% 6 / 125
2007-01-01 no segment follows this rebalance, not scored

Step 2 · 2007-01-03 → 2007-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 12.85% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2007-01-01 -4.2046% 7.4822% 22.3434% 5.0045%yes 1.0296% 7 / 123
2007-07-01 -4.7945% 9.9753% 24.9072% -2.7384%yes 1.0645% 25 / 126
2008-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 50.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 15.26% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2007-01-01 0.131% 20.2773% 47.8277% 7.4719%yes 1.6189% 10 / 123
2007-07-01 0.5103% 24.3219% 49.9901% -6.2989%no 1.5152% 28 / 126
2008-01-01 no segment follows this rebalance, not scored

Step 3 · 2008-01-02 → 2008-12-31

52-week high

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 0.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 20.32% of 251 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2008-01-01 -4.0521% 15.6623% 39.5638% -10.5012%no 1.639% 16 / 124
2008-07-01 -10.2551% 16.5905% 45.8147% -46.2416%no 2.223% 35 / 127

12-1 momentum

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 0.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 20.72% of 251 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2008-01-01 -2.9298% 24.0286% 58.6771% -8.0219%no 2.1307% 16 / 124
2008-07-01 -12.7143% 23.3961% 65.8866% -53.0438%no 2.9282% 36 / 127

Step 4 · 2009-01-02 → 2009-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 3.2% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2009-01-01 -19.6582% 3.2402% 36.8913% -7.7873%yes 2.0338% 8 / 123
2009-07-01 -34.3184% 2.1697% 49.0455% 16.6857%yes 3.1069% 0 / 127
2010-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 4.0% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2009-01-01 -22.1468% 5.0297% 47.0992% -7.8811%yes 2.3771% 10 / 123
2009-07-01 -39.0359% -0.2649% 51.9002% 16.4547%yes 3.4362% 0 / 127
2010-01-01 no segment follows this rebalance, not scored

Step 5 · 2010-01-04 → 2010-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 0.8% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2010-01-01 -32.996% -0.3333% 55.7995% -8.2269%yes 3.5207% 2 / 123
2010-07-01 -22.4121% 6.8174% 40.3828% 14.9447%yes 2.4553% 0 / 127
2011-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 0.4% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2010-01-01 -38.4737% 6.2688% 96.5323% -9.8247%yes 5.0351% 1 / 123
2010-07-01 -48.0485% 4.5367% 90.0261% 29.0024%yes 5.6868% 0 / 127
2011-01-01 no segment follows this rebalance, not scored

Step 6 · 2011-01-03 → 2011-12-30

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 8.4% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2011-01-01 -24.7012% 15.9535% 78.9618% 9.0079%yes 3.6471% 0 / 124
2011-07-01 -6.2743% 18.2111% 45.0922% -5.399%yes 1.8842% 21 / 126
2012-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 50.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 10.4% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2011-01-01 -13.7476% 34.5679% 110.4372% 7.1476%yes 3.895% 0 / 124
2011-07-01 -7.5821% 29.4455% 74.288% -22.0597%no 2.6742% 26 / 126
2012-01-01 no segment follows this rebalance, not scored

Step 7 · 2012-01-03 → 2012-12-31

52-week high

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 0.81% of 248 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2012-01-01 -8.1632% 9.5158% 30.7184% 7.6199%yes 1.4215% 2 / 124
2012-07-01 -11.3347% 9.8718% 36.3032% 4.3981%yes 1.7885% 0 / 124

12-1 momentum

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 2.82% of 248 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2012-01-01 -8.0903% 18.9698% 54.2052% 6.8838%yes 2.1473% 4 / 124
2012-07-01 -9.1445% 17.2145% 51.4225% 2.4242%yes 1.9563% 3 / 124

Step 8 · 2013-01-02 → 2013-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 1.2% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2013-01-01 -17.492% 8.412% 47.3969% 11.312%yes 2.4759% 2 / 123
2013-07-01 -21.3491% 8.3346% 42.4371% 18.8953%yes 2.6687% 1 / 127
2014-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 2.0% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2013-01-01 -14.5461% 14.2906% 58.5194% 17.4669%yes 2.5035% 4 / 123
2013-07-01 -18.1622% 19.4874% 65.1223% 26.1972%yes 2.8509% 1 / 127
2014-01-01 no segment follows this rebalance, not scored

Step 9 · 2014-01-02 → 2014-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 5.2% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2014-01-01 -3.6591% 16.0024% 42.9586% 7.1102%yes 1.6811% 5 / 123
2014-07-01 -5.4862% 14.8864% 35.7449% 3.2993%yes 1.5156% 8 / 127
2015-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 50.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 6.8% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2014-01-01 1.6482% 26.1685% 60.8938% 10.5819%yes 1.9227% 7 / 123
2014-07-01 3.6817% 29.1859% 55.9012% -3.5314%no 1.7399% 10 / 127
2015-01-01 no segment follows this rebalance, not scored

Step 10 · 2015-01-02 → 2015-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 50.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 9.2% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2015-01-01 0.35% 16.8001% 38.5521% 0.5292%yes 1.3641% 11 / 123
2015-07-01 -3.3576% 13.7889% 30.8353% -5.4904%no 1.2692% 12 / 127
2016-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 19 names held · selection: reselect · 0.0% in cash · 1 name dropped at load (32 names actually held across the window), weights renormalised onto the rest

Projection accuracy, realized outcome fell inside the P5–P95 cone in 0.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 9.6% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2015-01-01 5.9849% 27.4237% 56.7698% -3.432%no 1.4935% 9 / 123
2015-07-01 2.5462% 22.4475% 42.4907% -1.2127%no 1.3294% 15 / 127
2016-01-01 no segment follows this rebalance, not scored

Step 11 · 2016-01-04 → 2016-12-30

52-week high

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 6.4% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2016-01-01 -5.034% 11.9102% 31.9911% 3.3243%yes 1.3331% 9 / 124
2016-07-01 -8.0176% 8.5037% 25.5383% -2.4502%yes 1.3662% 7 / 126

12-1 momentum

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 7.6% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2016-01-01 -2.1406% 20.6371% 48.8795% 4.5684%yes 1.6763% 11 / 124
2016-07-01 -1.9445% 17.4086% 37.6446% 0.8473%yes 1.4187% 8 / 126

Step 12 · 2017-01-03 → 2017-12-29

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 0.0% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2017-01-01 -8.711% 6.7852% 25.0145% 8.1219%yes 1.4809% 0 / 124
2017-07-01 -9.8699% 8.1504% 28.2427% 10.9473%yes 1.5876% 0 / 125
2018-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 1.2% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2017-01-01 -23.174% 5.6825% 45.6206% -5.6886%yes 2.8627% 0 / 124
2017-07-01 -11.315% 15.8693% 48.7738% 15.0541%yes 2.2719% 3 / 125
2018-01-01 no segment follows this rebalance, not scored

Step 13 · 2018-01-02 → 2018-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 9.64% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2018-01-01 -3.7424% 9.9036% 25.5714% -0.7525%yes 1.1404% 12 / 124
2018-07-01 -4.8561% 8.0668% 21.7314% -4.1022%yes 0.9845% 12 / 125
2019-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 50.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 14.46% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2018-01-01 -0.4626% 21.4451% 48.329% 9.5867%yes 1.676% 13 / 124
2018-07-01 4.2225% 28.8941% 57.2161% -22.1317%no 1.5948% 23 / 125
2019-01-01 no segment follows this rebalance, not scored

Step 14 · 2019-01-02 → 2019-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 7.2% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2019-01-01 -2.8108% 8.3877% 22.5365% 11.1123%yes 0.8354% 9 / 123
2019-07-01 -4.9409% 13.6551% 32.4063% 6.0077%yes 1.4008% 9 / 127
2020-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 6.8% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2019-01-01 -6.0177% 13.7122% 40.9024% 20.4666%yes 1.7143% 7 / 123
2019-07-01 -2.3349% 15.9921% 34.3583% 4.6395%yes 1.333% 10 / 127
2020-01-01 no segment follows this rebalance, not scored

Step 15 · 2020-01-02 → 2020-12-31

52-week high

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 12.75% of 251 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2020-01-01 -9.5091% 7.5009% 27.8234% -7.6189%yes 1.7387% 27 / 124
2020-07-01 -15.1896% 16.1248% 51.904% 15.9044%yes 2.362% 5 / 127

12-1 momentum

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 12.75% of 251 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2020-01-01 -7.4515% 15.8494% 45.1873% -3.5377%yes 1.9858% 26 / 124
2020-07-01 -12.9471% 21.9756% 62.7332% 19.0736%yes 2.5215% 6 / 127

Step 16 · 2021-01-04 → 2021-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 0.8% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2021-01-01 -18.0972% 12.4234% 60.5528% 10.7757%yes 2.7114% 1 / 123
2021-07-01 -17.338% 18.5264% 61.2806% 13.5193%yes 2.5201% 1 / 127
2022-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 2.4% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2021-01-01 -12.1197% 25.6822% 87.9697% 19.6124%yes 3.226% 6 / 123
2021-07-01 -26.3258% 33.032% 120.447% 5.1623%yes 3.905% 0 / 127
2022-01-01 no segment follows this rebalance, not scored

Step 17 · 2022-01-03 → 2022-12-30

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 50.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 6.02% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2022-01-01 -14.6438% 10.5325% 47.837% -15.6566%no 1.9145% 8 / 123
2022-07-01 -9.2107% 9.7693% 29.7969% 4.2731%yes 1.469% 7 / 126
2023-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 50.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 7.63% of 249 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2022-01-01 -15.4904% 29.2846% 108.5833% -22.9192%no 3.08% 15 / 123
2022-07-01 -20.3286% 29.8657% 99.9018% 15.4536%yes 3.5123% 4 / 126
2023-01-01 no segment follows this rebalance, not scored

Step 18 · 2023-01-03 → 2023-12-29

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 3.23% of 248 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2023-01-01 -8.7093% 11.217% 38.88% -0.6662%yes 1.6907% 7 / 123
2023-07-01 -17.8352% 5.9769% 34.4437% 3.8981%yes 2.0032% 1 / 125
2024-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 0.81% of 248 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2023-01-01 -8.5179% 33.6151% 104.6211% -0.8464%yes 3.054% 2 / 123
2023-07-01 -19.547% 12.751% 54.5808% 14.3463%yes 2.7044% 0 / 125
2024-01-01 no segment follows this rebalance, not scored

Step 19 · 2024-01-02 → 2024-12-31

52-week high

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 1.6% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2024-01-01 -14.0001% 5.2542% 32.1155% 6.3485%yes 1.7197% 0 / 123
2024-07-01 -10.3746% 14.1442% 40.351% 14.5693%yes 1.8401% 4 / 127

12-1 momentum

Portfolio book, rebalanced semi_annual · 2 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 4.8% of 250 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2024-01-01 -24.454% 9.0% 64.6468% 22.3788%yes 3.2935% 0 / 123
2024-07-01 -4.3737% 29.2612% 67.2397% 7.1447%yes 2.0202% 12 / 127

Step 20 · 2025-01-02 → 2025-12-31

52-week high

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 8.47% of 248 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2025-01-01 -5.215% 12.0902% 29.4475% 14.8547%yes 1.2829% 14 / 121
2025-07-01 -8.2051% 15.362% 40.2444% 4.7812%yes 1.4465% 7 / 127
2026-01-01 no segment follows this rebalance, not scored

12-1 momentum

Portfolio book, rebalanced semi_annual · 3 constructions · 20 names held · selection: reselect · 0.0% in cash

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 2 scored rebalances (a well-calibrated 90% band contains ~90.0%) · 95% VaR breached on 8.87% of 248 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2025-01-01 3.7573% 33.3072% 65.3076% 21.0916%yes 1.855% 16 / 121
2025-07-01 -0.8443% 32.6589% 70.1317% 7.6278%yes 1.9567% 6 / 127
2026-01-01 no segment follows this rebalance, not scored
QuanterLab · Study bd948ec15f3c · compiled August 11, 2026. Point-in-time constituents and hypothesis-registration timestamps are enforced by the platform; transaction costs are not modelled in this study. This report is generated from the frozen study artifact and is reproducible from the ledger above. Educational research, not investment advice: every result on this page is simulated, and nothing here is a recommendation to buy or sell any security.

Run a study like this one

Everything above was produced inside QuanterLab, the registration, the walk, the statistics and the paper itself. Build the circuit on a canvas, register the hypothesis before you score it, and the platform enforces the rest.

The lab is in private beta and opens in September 2026. Reading the research needs no account, follow it and we'll tell you when the next study publishes.

As seen on Quantocracy

A note on AI. QuanterLab is a quantitative finance research platform, and every number in this study comes from a run on the platform. The hypothesis, the parameter choices, the validation design and the conclusions belong to the author. Runs execute on point-in-time data with walk-forward validation, and each study ships with its methodology and logs, so a reader can reconstruct the result instead of trusting it. I use AI to edit and structure the prose; it does not generate results, produce numbers, or decide what a study concludes.