The number on every brokerage screen mostly tells you where the market is
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.
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
2.2 Per-step results
| # | 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 |
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.
| # | Window | Paired bars | 52-week high | 12-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.
| Period | Windows | 52-week high | 12-1 momentum | Mean gap | 52-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 |
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).
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.
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.
The objective and the search
52-week high
| Universe | S&P 500 index constituents. |
|---|---|
| Selection | metric across 52-week-high proximity → highest 20 kept by 52-week-high proximity. |
| Validation & out-of-sample | portfolio forward test (buy-and-hold book) (1y horizon from the anchor, semi_annual rebalance). |
12-1 momentum
| Universe | S&P 500 index constituents. |
|---|---|
| Selection | metric across Momentum (12-1) → highest 20 kept by Momentum (12-1). |
| Validation & out-of-sample | portfolio 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.
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\}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.
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 } t3.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).
\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.
\text{Top-}N = \{\, i : \operatorname{rank}(\text{score}_i) \le N \,\}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.
E_t = E_{t-1}\big(1 + \mathbf w_{t}^{\top}\mathbf r_t - \text{costs}_t\big)\text{DD}_t = \frac{E_t}{\max_{\tau\le t}E_\tau} - 1, \qquad \text{MaxDD} = \min_t \text{DD}_t\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}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.
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.
m_{12\text{–}1} = \frac{P_{t-21}}{P_{t-252}} - 14 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 | 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.
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
- 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.
- 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
- Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal, 58(4), 36–52. doi:10.2469/faj.v58.n4.2453
- George, T. J., & Hwang, C.-Y. (2004). The 52-Week High and Momentum Investing. The Journal of Finance, 59(5), 2145-2176.
- 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.
| # | Commit | Report | Anchor | OOS 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:
| # | Anchor | Registered at (UTC) | Run completed (UTC) |
|---|---|---|---|
| 1 | 2006-01-01 | 2026-08-11 17:45:48 | 2026-08-11 17:47:47 |
| 2 | 2007-01-01 | 2026-08-11 17:47:52 | 2026-08-11 17:48:52 |
| 3 | 2008-01-01 | 2026-08-11 17:48:57 | 2026-08-11 17:49:37 |
| 4 | 2009-01-01 | 2026-08-11 17:49:42 | 2026-08-11 17:51:03 |
| 5 | 2010-01-01 | 2026-08-11 17:51:08 | 2026-08-11 17:52:09 |
| 6 | 2011-01-01 | 2026-08-11 17:52:14 | 2026-08-11 17:53:14 |
| 7 | 2012-01-01 | 2026-08-11 17:53:19 | 2026-08-11 17:53:59 |
| 8 | 2013-01-01 | 2026-08-11 17:54:04 | 2026-08-11 17:54:45 |
| 9 | 2014-01-01 | 2026-08-11 17:54:50 | 2026-08-11 17:55:31 |
| 10 | 2015-01-01 | 2026-08-11 17:55:36 | 2026-08-11 17:56:16 |
| 11 | 2016-01-01 | 2026-08-11 17:56:21 | 2026-08-11 17:57:22 |
| 12 | 2017-01-01 | 2026-08-11 17:57:27 | 2026-08-11 17:59:02 |
| 13 | 2018-01-01 | 2026-08-11 17:58:14 | 2026-08-11 17:59:15 |
| 14 | 2019-01-01 | 2026-08-11 17:59:20 | 2026-08-11 18:00:22 |
| 15 | 2020-01-01 | 2026-08-11 18:00:26 | 2026-08-11 18:01:52 |
| 16 | 2021-01-01 | 2026-08-11 18:01:12 | 2026-08-11 18:01:53 |
| 17 | 2022-01-01 | 2026-08-11 18:01:58 | 2026-08-11 18:03:32 |
| 18 | 2023-01-01 | 2026-08-11 18:02:45 | 2026-08-11 18:03:45 |
| 19 | 2024-01-01 | 2026-08-11 18:03:51 | 2026-08-11 18:04:51 |
| 20 | 2025-01-01 | 2026-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 | ||||||