QuanterLab produced this study — it wasn’t written up afterwards. Sealed hypothesis and search record in Appendix A2.
Open the Lab
QuanterLab · Research

Index-membership look-ahead vs. PIT Constituents Factor Portfolio Study

Universe · S&P 500 (point-in-time vs current constituents — see §1)
Method · Comparative — Point-in-time vs Current members
Manipulated variable · Survivorship Bias vs. PIT Constituents
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 01, 2026
Search record · none (size unknown — see §2.3)
Abstract

A backtest that returns +6,601% over twenty years is the kind of chart that circulates without its method attached. This paper produces one, and then explains it.

Two arms run the same factor portfolio over the same twenty one-year out-of-sample windows, 2006 to 2025, identical in every respect but one. The point-in-time arm resolves S&P 500 membership as it stood on each anchor date, reconstructed from the index change-log. The current-members arm uses today's list throughout. The current-members arm returns +6,601.2%, or 23.7% a year. The point-in-time arm returns +159.4%, or 4.9% a year. The index itself returned +402.8% across the same windows. The whole of that difference, 18.8 percentage points of annual return, is the constituent list.

Across 5,011 paired trading days a seeded block bootstrap puts the probability that the point-in-time arm genuinely beats the biased one at 0.0%. The biased arm wins 17 of the 20 years. The rule set is ordinary and defensible either way: equal weight across value, quality, growth and momentum, 22 metrics, winsorized z-scores, the top 10 names, quarterly re-selection, fundamentals gated by SEC acceptance date. That is the point. A sound rule set is no protection against a universe that already knows the answer.

One distinction matters for reading the size of the gap. This is not only survivorship, whose published estimates sit in the low single digits a year. Today's index members did not merely survive: they grew enough to earn and hold a seat in the S&P 500. Selecting from that list in 2006 is survival, size and momentum selection at once, which is why the cost measured here is an order above the survivorship figure alone.

Author’s note

The cost of look-ahead in a constituent list is usually argued rather than measured. Everyone agrees it matters; few people have a number for it on their own rules. This is the number for mine. The circuit that produced it is in §3 — fork it and get yours.

Motivation

Astonishing equity curves circulate constantly, detached from the method that produced them. The chart is the artefact; how the universe was assembled, when the fundamentals became knowable, and what happened to the companies that failed are all off-screen. A reader has no way to tell an edge from an accounting error, because the only thing shared is the outcome.

Index-membership look-ahead is the most common of these errors and the least often quantified. Its familiar name is survivorship bias, which understates it: a company in today's S&P 500 did not only avoid failing, it grew enough to hold a seat, so a list of today's members carries survival, size and momentum information about the future all at once. It is easy to state — do not select from a list of companies that survived — and easy to underrate, because building a screen from a current index membership file feels like a data-handling detail rather than a research decision. Over one year it very nearly is. Over twenty it is the difference between a portfolio that lagged the market and one that appears to have beaten it thirteen times over.

So rather than argue the point, this study runs it. Both arms use the same rules, the same windows and the same point-in-time fundamentals; one resolves index membership as it stood, the other does not. The result is a measurement of what the shortcut is worth, on a specific, disclosed, reproducible rule set — and an example of the kind of chart that should not be trusted without the method attached, produced deliberately, with the method attached.

1  Methodology

The study is comparative. Two arms are registered as a single sealed hypothesis, run over the same walk, and differ in exactly one declared parameter: the universe primitive's membership setting: point_in_time in the arm labelled Point-in-time, current in the arm labelled Current members. Every other node, parameter and window is identical, so any difference in outcome is attributable to that setting alone. The frozen circuit in §3 is the whole specification; the diagram's "show only what differs" control isolates the single node that separates the arms.

The walk is twenty one-year out-of-sample windows anchored on 1 January of each year from 2006 to 2025, each preceded by two years of in-sample preparation. Each window's hypothesis is registered before its out-of-sample period is scored, and the anchor advances only forward. No parameter is changed between windows.

Selection runs on a composite of four factor classes weighted equally at 25% each: value, quality, growth and momentum, built from 22 active metrics — six value, nine quality, four growth and three momentum. Metric scores are winsorized and converted to z-scores before compositing, so a single extreme reading cannot dominate the rank. The top 10 names by composite score are held at equal weight and re-selected quarterly, giving 95 rebalances across the walk.

Fundamentals are point-in-time throughout both arms. A quarterly statement becomes visible to the ranking only once its SEC acceptance date is on or before the anchor; ratios, key metrics and growth figures inherit visibility from the income statement they derive from, since they carry no acceptance date of their own. Where an acceptance date is missing the engine falls back to the filing date, then to period end plus 45 days, and never earlier. This matters for the comparison: both arms rank on identically-gated fundamentals, so the difference between them cannot be an accounting-data artefact.

What differs is only which companies are eligible to be ranked. The point-in-time arm reconstructs the S&P 500 as it stood on each anchor by replaying the index's dated add and drop log backwards from today's list, so a company that was in the index in 2008 and left in 2011 competes for selection in 2008, 2009 and 2010 and then stops. The current-members arm skips that reconstruction and offers today's 500 members at every anchor, which means a company that joined the index in 2019 is available for selection in 2006, and a company that failed in 2008 is never available at all.

Both arms are benchmarked against SPY over the same windows and start each window fully invested with no regime gating. Returns are chained across windows to produce the stitched curve in §2. The arm comparison pairs the two return series date by date within each window and resamples the paired differences with a seeded stationary block bootstrap, 2,000 paths at block length 10, which preserves autocorrelation the daily pairing would otherwise ignore.

Two bases are reported and they are not interchangeable. Total returns are chained across the full stitched walk; the annualized rates and the gap between the arms are computed on the 5,011 dates the two arms have in common, which is the only basis on which a paired test is meaningful. Compounding the annualized rate therefore does not reproduce the total exactly, and neither figure is the other's approximation.

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

2  Results

2.1  Headline

Point-in-time — pooled Sharpe
0.31
5012 OOS bars
Current members — pooled Sharpe
0.88
5012 OOS bars
P(Point-in-time beats Current members)
0.0%
5011 paired bars · CAGR gap (Point-in-time − Current members) -18.8 pp
Out-of-sample equity — normalised growth (1.00x = break even)-5.21x35.23x75.66x2006200920122015201820212024
Figure 1. Both arms stitched through the identical windows —  Point-in-time (+159.4%),  Current members (+6601.2%), benchmark grey (+402.8%). Dotted verticals mark the step boundaries; the dashed horizontal is break-even.

2.2  Per-step results

Table 1. One row per step — raw out-of-sample results.
#Out-of-sample window Point-in-time SR Current members SR
1 2006-01-03 → 2006-12-29 -0.28 0.89
2 2007-01-03 → 2007-12-31 0.56 2.08
3 2008-01-02 → 2008-12-31 -1.04 -1.01
4 2009-01-02 → 2009-12-31 0.56 0.56
5 2010-01-04 → 2010-12-31 0.31 1.23
6 2011-01-03 → 2011-12-30 -0.14 0.81
7 2012-01-03 → 2012-12-31 0.74 0.65
8 2013-01-02 → 2013-12-31 1.09 2.15
9 2014-01-02 → 2014-12-31 1.65 1.75
10 2015-01-02 → 2015-12-31 -0.05 0.42
11 2016-01-04 → 2016-12-30 0.43 1.43
12 2017-01-03 → 2017-12-29 1.42 1.90
13 2018-01-02 → 2018-12-31 -0.82 -0.14
14 2019-01-02 → 2019-12-31 0.91 1.45
15 2020-01-02 → 2020-12-31 0.08 0.77
16 2021-01-04 → 2021-12-31 1.25 1.02
17 2022-01-03 → 2022-12-30 0.30 -0.06
18 2023-01-03 → 2023-12-29 1.18 1.70
19 2024-01-02 → 2024-12-31 1.21 2.06
20 2025-01-02 → 2025-12-31 0.39 1.43
Out-of-sample equity — normalised growth (1.00x = break even)0.28x0.90x1.53xbars into the window →
Figure 2. Point-in-time — 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.31x1.31x2.30xbars into the window →
Figure 3. Current members — 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

No search record exists for this design. It was not promoted from a recorded evolving search, so the number of alternatives tried before it — on paper, in another tool, or in the author's head — is unknown. Unknown is a different fact from one: a study with no lineage is not a strategy with one trial, it is a strategy with an unrecorded number of them. Accordingly this paper claims no deflated Sharpe and no trial count; the honest statement is the raw out-of-sample result plus this disclosure. The registered per-step record below (§4) still guarantees each window's hypothesis was sealed before that window was scored.

2.4  The comparison

Both arms trade the same sealed windows, so their returns can be PAIRED: inside each window the two return series are inner-joined date by date and the difference rPoint-in-time − rCurrent members is the object under test. Because this is ONE pre-declared contrast — sealed before any window was scored — the paired statistic needs no multiple-testing deflation, and the per-arm pooled numbers above carry no deflated Sharpe either — this design has no recorded search to deflate against (§2.3). The paired contrast is the one statistic here that a missing search record does not weaken: it was declared in advance, and it is scored on the difference rather than on either arm's level.

Table 2. Window-by-window paired comparison. Δ is the growth gap (Point-in-time − Current members) over the window's paired dates.
#WindowPaired bars Point-in-timeCurrent members ΔLeader
1 2006-01-04 → 2006-12-29 250 -8.5% +19.5% -28.0 pp Current members
2 2007-01-04 → 2007-12-31 250 +11.4% +79.0% -67.6 pp Current members
3 2008-01-03 → 2008-12-31 252 -53.1% -45.3% -7.8 pp Current members
4 2009-01-05 → 2009-12-31 251 +12.5% +12.8% -0.3 pp Current members
5 2010-01-05 → 2010-12-31 251 +4.7% +36.4% -31.7 pp Current members
6 2011-01-04 → 2011-12-30 251 -7.5% +20.6% -28.2 pp Current members
7 2012-01-04 → 2012-12-31 249 +12.3% +11.0% +1.3 pp Point-in-time
8 2013-01-03 → 2013-12-31 251 +19.4% +40.5% -21.1 pp Current members
9 2014-01-03 → 2014-12-31 251 +32.0% +38.5% -6.5 pp Current members
10 2015-01-05 → 2015-12-31 251 -2.6% +6.6% -9.2 pp Current members
11 2016-01-05 → 2016-12-30 251 +5.9% +29.8% -24.0 pp Current members
12 2017-01-04 → 2017-12-29 250 +22.4% +34.1% -11.7 pp Current members
13 2018-01-03 → 2018-12-31 250 -18.7% -7.2% -11.5 pp Current members
14 2019-01-03 → 2019-12-31 251 +13.3% +23.0% -9.6 pp Current members
15 2020-01-03 → 2020-12-31 252 -4.4% +27.2% -31.5 pp Current members
16 2021-01-05 → 2021-12-31 251 +34.2% +26.7% +7.5 pp Point-in-time
17 2022-01-04 → 2022-12-30 250 +4.3% -7.7% +12.0 pp Point-in-time
18 2023-01-04 → 2023-12-29 249 +27.3% +46.9% -19.7 pp Current members
19 2024-01-03 → 2024-12-31 251 +32.1% +87.4% -55.3 pp Current members
20 2025-01-03 → 2025-12-31 249 +7.4% +64.7% -57.3 pp Current members

Paired Sharpe of the difference track: -1.25 · block bootstrap (2000 paths, block 10, seed 1234): P(Point-in-time beats Current members) = 0.0%.

Window win-rate. Point-in-time led 3 of 20 windows (15.0%), Current members led 17 , and the mean window gap of -20.01 pp points the same way. Widest single window: 2007 at -67.6 pp.

Table 3. The same comparison split at 2010. Averaging across a crisis and a decade of calm hides which one the difference came from.
PeriodWindows Point-in-timeCurrent members Mean gapPoint-in-time led
All windows 20 +7.22% +27.23% -20.01 pp 3/20
Before 2010 4 -9.43% +16.50% -25.93 pp 0/4
2010 onward 16 +11.38% +29.91% -18.52 pp 3/16
All windowsn=20 · Point-in-time led 3+7.2%+27.2%-20.01 ppBefore 2010n=4 · Point-in-time led 0-9.4%+16.5%-25.93 pp2010 onwardn=16 · Point-in-time led 3+11.4%+29.9%-18.52 ppgap
Figure A1 — mean window return per period. Point-in-time above, Current members 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 7.41 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 — Arm A vs Arm B, walked on the same sealed out-of-sample windows. Arm A: S&P 500, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor — with no in-sample parameters to optimize, a walk-forward does not apply; its disposition is the realized forward path versus the benchmark. Arm B: S&P 500, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor — with no in-sample parameters to optimize, a walk-forward does not apply; its disposition is the realized forward path versus the benchmark. The arms differ in: Universe — membership: point_in_time → current. The contrast under test: whether Arm A generates better risk-adjusted returns than Arm B over the identical out-of-sample windows.

The frozen circuit — data flows left to rightuniverse — click for detailsuniverseprice loader — click for detailsprice loaderfactor loader — click for detailsfactor loaderfactor value — click for detailsfactor valuefactor quality — click for detailsfactor qualityfactor momentum — click for detailsfactor momentumfactor growth — click for detailsfactor growthfactor composite — click for detailsfactor compositefactor top tier — click for detailsfactor top tierportfolio backtest — click for detailsportfolio backtestuniverse — click for detailsuniverseprice loader — click for detailsprice loaderfactor loader — click for detailsfactor loaderfactor value — click for detailsfactor valuefactor quality — click for detailsfactor qualityfactor momentum — click for detailsfactor momentumfactor growth — click for detailsfactor growthfactor composite — click for detailsfactor compositefactor top tier — click for detailsfactor top tierportfolio backtest — click for detailsportfolio backtestArm AArm Bshared
Figure 4. The frozen circuit — every node a primitive, every wire a typed data-flow; the two arms are colour-coded (Point-in-time green, Current members 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. Price series and per-name figures are not published: the underlying market data is licensed to QuanterLab, and redistributing it isn't ours to do.

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. In this study one arm overrides this by design: its universe is today’s members applied across the whole window — the survivorship-biased configuration under test.
Price Loader — Bulk OHLCV fetch for the whole universe — point-in-time, no future bars.
Factor Loader — Point-in-time fundamentals — never let the user see a number before the SEC did.
Factor Value — Value — how cheap is the stock, cross-sectionally?
Factor Quality — Quality — is this a strong, profitable, well-financed business?
Factor Momentum — Momentum — recent price strength, no filing required.
Factor Growth — Growth — is the business getting bigger, by the numbers it has filed?
Factor Composite — The weighting console — blend Value, Quality, Momentum, Growth into one 0–100 score.
Factor Top Tier — The cut out of the factor lane — keep the top-ranked names.
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.

The objective and the search

Arm A — S&P 500, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor — with no in-sample parameters to optimize, a walk-forward does not apply; its disposition is the realized forward path versus the benchmark.

UniverseS&P 500 index constituents.
Validation & out-of-sampleportfolio forward test (buy-and-hold book) (1y horizon from the anchor, quarterly rebalance).
Other componentsFactor models: Factor Composite, Factor Select, Fundamentals Loader (PIT), Growth Factor, Momentum Factor, Quality Factor, Value Factor.

Arm B — S&P 500, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor — with no in-sample parameters to optimize, a walk-forward does not apply; its disposition is the realized forward path versus the benchmark.

UniverseS&P 500 index constituents.
Validation & out-of-sampleportfolio forward test (buy-and-hold book) (1y horizon from the anchor, quarterly rebalance).
Other componentsFactor models: Factor Composite, Factor Select, Fundamentals Loader (PIT), Growth Factor, Momentum Factor, Quality Factor, Value Factor.

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

  • paramUniverse — membership: point_in_time → current

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 — 10 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  Factor Loader

Point-in-time fundamentals — never let the user see a number before the SEC did.

Loads ~23 fundamental metrics (valuation, quality, growth) per name, but with one inviolable rule: a financial statement becomes visible only on or after its SEC acceptedDate. A 2020 backtest sees only what was actually filed by 2020 — no look-ahead, ever.

The PIT gate
\text{visible}(f, t) \iff \text{acceptedDate}(f) \le t
Missing acceptance dates fall back to filingDate, else statement date + 45 days.
Byte-identical to FM101FBKT (shared_libs/factor_core). US indexes only (SEC reliability).

3.4  Factor Value

Value — how cheap is the stock, cross-sectionally?

Blends cheapness metrics — P/E, P/B, P/S, EV/EBITDA (lower is better) plus free-cash-flow and earnings yields (higher is better). Each metric is z-scored across the universe, winsorized against outliers, weighted by the importance you set (Off/Low/Med/High), and averaged.

Cross-sectional z-score per metric
z_{i,k} = \pm\,\frac{x_{i,k} - \bar x_k}{s_k}
Sign encodes direction (cheap = good). Winsorized at 1% / 99%.
Importance-weighted family score
\text{Value}_i = \frac{\sum_k \omega_k\,z_{i,k}}{\sum_k \omega_k}, \quad \omega \in \{0,\,0.5,\,1,\,2\}
Off / Low / Medium / High = 0 / 0.5 / 1 / 2. Binding rank happens in Factor Composite.
Byte-identical to FM101FBKT (shared_libs/factor_core).

3.5  Factor Quality

Quality — is this a strong, profitable, well-financed business?

Blends profitability (ROE, ROA, ROIC, margins) and balance-sheet strength (debt-to-equity inverted, current ratio, interest coverage). Same z-score, winsorize, importance-weight recipe as every factor family.

Family score
\text{Quality}_i = \frac{\sum_k \omega_k\,z_{i,k}}{\sum_k \omega_k}
Debt metrics enter inverted (less leverage = higher quality).
Byte-identical to FM101FBKT (shared_libs/factor_core).

3.6  Factor Momentum

Momentum — recent price strength, no filing required.

Pure price-based: 1/3/6/12-month returns measured at the anchor. Because it needs no financial statement, it is always available — even for names with thin fundamentals.

Multi-horizon return, z-scored
\text{Mom}_i = \frac{\sum_k \omega_k\, z\!\big(R_{i}^{(k)}\big)}{\sum_k \omega_k}, \quad R^{(k)} = \frac{P_t}{P_{t-k}}-1
Horizons k ∈ {1, 3, 6, 12} months, measured point-in-time at t.
Byte-identical to FM101FBKT (shared_libs/factor_core).

3.7  Factor Growth

Growth — is the business getting bigger, by the numbers it has filed?

Revenue growth, EPS growth, free-cash-flow growth and book-value-per-share growth, taken from the latest SEC-accepted filings (so growth is honest as-of the anchor). Same family recipe.

Family score
\text{Growth}_i = \frac{\sum_k \omega_k\,z_{i,k}}{\sum_k \omega_k}
Growth rates from PIT-visible filings only.
Byte-identical to FM101FBKT (shared_libs/factor_core).

3.8  Factor Composite

The weighting console — blend Value, Quality, Momentum, Growth into one 0–100 score.

Where the four factor families become a single ranking. Each family score is standardized across the universe, blended with your slider weights (or the radar's suggested tilt), and min-max scaled to 0–100. Winsorizing tames outliers; z-score or percentile normalization is your choice.

Cross-sectional standardize + winsorize
z_{i,f} = \frac{x_{i,f} - \bar x_f}{s_f}\quad(\text{clipped at the 1st / 99th percentile})
Weighted blend, scaled to 0–100
C_i = \sum_f W_f\,z_{i,f}, \qquad \text{score}_i = 100\cdot\frac{C_i - \min_j C_j}{\max_j C_j - \min_j C_j}
W = your four slider weights (total 100) OR the Regime Tilt radar's suggestion. Needs ≥ 10 names, ≥ 3 valid metrics each.
Byte-identical to FM101FBKT ranking (shared_libs/factor_core.rank_stocks_at_date).

3.9  Factor Top Tier

The cut out of the factor lane — keep the top-ranked names.

Takes the composite-ranked factor set and keeps the best N, carrying the composite score, the four family scores and the point-in-time market cap for each survivor. Feed 10–20 to a direct portfolio, or 30–100 as an optimizer pool.

Rank cut
\{\, i : \operatorname{rank}(C_i) \le N\,\}, \quad C_i = \text{composite score}
Byte-identical to FM101FBKT ranking (shared_libs/factor_core).

3.10  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

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 B71 of 80 inside the 90% band-53%+18%+90%in band20062007200820092010201120122013201420152016201720182019202020212022202320242025Arm A71 of 80 inside the 90% band-53%+18%+90%in band20062007200820092010201120122013201420152016201720182019202020212022202320242025
Figure A2 — projected range versus what occurred, at each of 160 rebalances. 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
Arm B 20 95 71 / 80 88.8% ±3.53 90.0% 4951 6.44% ±0.349 5.0%
Arm A 20 95 71 / 80 88.8% ±3.53 90.0% 4951 6.32% ±0.346 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

The current-members arm returned +6,601.2% over the twenty windows, a compound 23.7% a year, at a pooled Sharpe of 0.879. The point-in-time arm returned +159.4%, a compound 4.9% a year, at a pooled Sharpe of 0.313. The SPY benchmark returned +402.8% over the same windows, about 8.4% a year.

The annual gap between the arms is 18.8 percentage points. The current-members arm outperformed the point-in-time arm in 17 of the 20 windows; the widest single-year gap was 67.6 points, the widest in the point-in-time arm's favour 12.0 points. The point-in-time arm had six losing years, the current-members arm three. Across 5,011 paired daily observations the seeded block bootstrap returned a 0.0% probability that the point-in-time arm genuinely outperforms the current-members arm, at a paired Sharpe of −1.25 on the difference series.

The run also produced a projection calibration record for both arms, reported in §4. Of 95 rebalances, 80 carried a scoreable forward segment. Both arms' Monte Carlo bands contained the realized outcome 88.8% of the time against a nominal 90% (±3.53). The point-in-time arm's 95% VaR was breached on 6.32% of 4,951 days and the current-members arm's on 6.44%, against a nominal 5% (±0.35). Band coverage is therefore close to honest while the VaR is mildly over-confident in both arms by the same margin — a property of the risk model rather than of the membership setting, which is what one would expect, since the two arms differ in which companies they may hold and not in how risk is estimated.

One correction is on the record. The 2007 step's calibration rows were recomputed after a defect was found in the projection fitter: two of that step's four rebalances had been fitted on an estimation window containing a corrupt historical price series, which produced a degenerate band that then scored as a forecast failure. The strategy result is unaffected — the step was re-run on the same sealed circuit at the same anchor and reproduced to the cent, equity series identical — and only those two projection rows changed.

Only three names across the whole walk were dropped for insufficient forward data, two in the point-in-time arm and one in the current-members arm. Membership resolution is recorded per arm in the study metadata, and is what the arm labels are taken from.

5.2  Interpretation

Read the point-in-time arm, and only that one. On this evidence a concentrated ten-name portfolio selected on a balanced four-factor composite returned 4.9% a year against the index's 8.4% over the same twenty windows, so the rule set did not beat buying the index and there is no result here to defend. The current-members arm's 23.7% is not a competing finding to be weighed against it — it is the size of the error, and any backtest built on a current membership file carries an error of that order whether or not its author knows it.

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 deflated Sharpe is claimed; the honest statement is the raw out-of-sample result plus this disclosure. The out-of-sample windows are historical.

QuanterLab Circuit Diagram
QuanterLab Circuit Diagram

5.3  Limitations

Returns are price returns. The platform's price data is split-adjusted but not dividend-adjusted, for the book and for the benchmark alike, so the comparison between them is on a consistent basis. It is not neutral in level: a value-tilted book of large-cap names yields more than the index, so the omission costs the point-in-time arm roughly 1 to 1.5 percentage points a year that it would have earned and is not credited with. Neither arm's absolute return should be read as an achievable total return.

The book holds ten names. That is a deliberate concentration and it makes single-name outcomes visible in the aggregate result; a twenty-five or fifty-name version of the same rules would produce a smoother curve and a different, probably smaller, gap. The concentration is a property of this study, not a recommendation.

No transaction costs, commissions, slippage or taxes are modelled. Quarterly re-selection of a ten-name book turns over a substantial fraction of the portfolio four times a year, and a realistic cost model would reduce both arms — it would not close a gap of this size, but it would move the levels.

The universe is US large-cap throughout. Point-in-time reconstruction depends on the index publishing a dated change log, and the conclusion is not transferable as measured to markets where that record is thinner or where index turnover differs.

There is no search record for this study. It was not promoted from a recorded evolving search, so the number of alternative designs tried before this one is unknown, which is a different fact from one. No deflated Sharpe is claimed anywhere in this paper for that reason.

The factor weighting is one choice among many. Equal 25% across value, quality, growth and momentum is defensible and arbitrary in equal measure; the 22 metrics inside those classes and their individual weights are likewise one configuration. A different composite would produce a different point-in-time result. Whether it would produce a materially different gap between the arms is exactly the kind of question this circuit exists to answer, and is not answered here.

References

As provided by QuanterLab
  1. Bailey, D. H., & López de Prado, M. (2014). The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality. Journal of Portfolio Management, 40(5), 94–107. doi:10.3905/jpm.2014.40.5.094
  2. 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.
  3. 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
  4. Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal, 58(4), 36–52. doi:10.2469/faj.v58.n4.2453
Added by the author?
  1. Brown, S. J., Goetzmann, W., Ibbotson, R. G., & Ross, S. A. (1992). Survivorship Bias in Performance Studies. Review of Financial Studies, 5(4), 553–580. doi:10.1093/rfs/5.4.553
  2. Elton, E. J., Gruber, M. J., & Blake, C. R. (1996). Survivor Bias and Mutual Fund Performance. Review of Financial Studies, 9(4), 1097–1120. doi:10.1093/rfs/9.4.1097
  3. Banz, R. W., & Breen, W. J. (1986). Sample-Dependent Results Using Accounting and Market Data: Some Evidence. The Journal of Finance, 41(4), 779–793. doi:10.1111/j.1540-6261.1986.tb04548.x
  4. Chan, L. K. C., Jegadeesh, N., & Lakonishok, J. (1995). Evaluating the performance of value versus glamour stocks: The impact of selection bias. Journal of Financial Economics, 38(3), 269–296. doi:10.1016/0304-405X(94)00818-L
  5. Shumway, T., & Warther, V. A. (1999). The Delisting Bias in CRSP's Nasdaq Data and Its Implications for the Size Effect. The Journal of Finance, 54(6), 2361–2379. doi:10.1111/0022-1082.00192
  6. Politis, D. N., & Romano, J. P. (1994). The Stationary Bootstrap. Journal of the American Statistical Association, 89(428), 1303–1313. doi:10.1080/01621459.1994.10476870

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 aadecb8cc4d1 396 2006-01-01 2006-01-03 → 2006-12-29
2 5b713b660969 418 2007-01-01 2007-01-03 → 2007-12-31
3 c8252875ddef 398 2008-01-01 2008-01-02 → 2008-12-31
4 7a7b11756293 399 2009-01-01 2009-01-02 → 2009-12-31
5 e26add18fde3 400 2010-01-01 2010-01-04 → 2010-12-31
6 40718a80c572 401 2011-01-01 2011-01-03 → 2011-12-30
7 3fdd058d0476 403 2012-01-01 2012-01-03 → 2012-12-31
8 7a30836b1508 404 2013-01-01 2013-01-02 → 2013-12-31
9 f1ca72fa1d80 405 2014-01-01 2014-01-02 → 2014-12-31
10 cb023a8f4480 406 2015-01-01 2015-01-02 → 2015-12-31
11 a345ad94231c 407 2016-01-01 2016-01-04 → 2016-12-30
12 ac8640ddfa91 408 2017-01-01 2017-01-03 → 2017-12-29
13 9eb63a0c3614 409 2018-01-01 2018-01-02 → 2018-12-31
14 e6c70b56f33d 410 2019-01-01 2019-01-02 → 2019-12-31
15 b854b879c2e1 411 2020-01-01 2020-01-02 → 2020-12-31
16 1184aaf94d3d 412 2021-01-01 2021-01-04 → 2021-12-31
17 955eb0035052 413 2022-01-01 2022-01-03 → 2022-12-30
18 635faa05dee4 414 2023-01-01 2023-01-03 → 2023-12-29
19 dea1264470d3 415 2024-01-01 2024-01-02 → 2024-12-31
20 19fc2eb0e029 417 2025-01-01 2025-01-02 → 2025-12-31

Appendix A2  Sealed-hypothesis record

The integrity of a walk-forward rests on registering each hypothesis before its out-of-sample window is scored — the windows themselves are historical. The order below is the order in which the hypotheses were sealed.

“A COMPARATIVE study — Arm A vs Arm B, walked on the same sealed out-of-sample windows. Arm A: S&P 500, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor — with no in-sample parameters to optimize, a walk-forward does not apply; its disposition is the realized forward path versus the benchmark. Arm B: S&P 500, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor — with no in-sample parameters to optimize, a walk-forward does not apply; its disposition is the realized forward path versus the benchmark. The arms differ in: Universe — membership: point_in_time → current. The contrast under test: whether Arm A generates better risk-adjusted returns than Arm B over the identical out-of-sample windows.”

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

Table 4. Registration audit — one row per sealed step. The hypothesis is identical on every row by design: it was sealed once and re-sealed unchanged at each anchor. Rows that differ would mean the specification moved mid-walk, which is the thing this record exists to rule out.
#AnchorRegistered at
1 2006-01-01 2026-07-30
2 2007-01-01 2026-07-30
3 2008-01-01 2026-07-30
4 2009-01-01 2026-07-30
5 2010-01-01 2026-07-30
6 2011-01-01 2026-07-30
7 2012-01-01 2026-07-30
8 2013-01-01 2026-07-31
9 2014-01-01 2026-07-31
10 2015-01-01 2026-07-31
11 2016-01-01 2026-07-31
12 2017-01-01 2026-07-31
13 2018-01-01 2026-07-31
14 2019-01-01 2026-07-31
15 2020-01-01 2026-07-31
16 2021-01-01 2026-07-31
17 2022-01-01 2026-07-31
18 2023-01-01 2026-07-31
19 2024-01-01 2026-07-31
20 2025-01-01 2026-07-31

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 8.5% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2006-01-01 -1.5662% 14.3136% 34.5848% 9.6193%yes 1.8376% 4 / 61
2006-04-01 -9.462% 8.9924% 31.3499% -11.7437%no 2.2509% 8 / 62
2006-07-01 -7.3476% 9.8425% 30.3509% -6.1697%yes 2.2284% 3 / 62
2006-10-01 -6.1276% 6.7052% 21.3826% -0.1889%yes 1.5597% 6 / 62
2007-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 9.31% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2006-01-01 -1.3314% 17.0261% 40.9837% 15.8714%yes 1.9989% 4 / 61
2006-04-01 -4.9499% 15.2251% 39.8387% -4.2242%yes 2.1413% 10 / 62
2006-07-01 -3.2732% 13.2042% 32.6098% -8.0363%no 1.8903% 7 / 62
2006-10-01 -6.9562% 7.1936% 23.5968% 14.8464%yes 1.4951% 2 / 62
2007-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0.0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100.0% of 4 scored rebalances (an honest 90% band would contain ~90.0%) · 95% VaR breached on 11.34% of 247 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2007-01-01 -5.173% 10.1207% 26.1437% 3.3214%yes 1.605% 6 / 60
2007-04-01 -8.2281% 9.2333% 30.1486% 8.0153%yes 1.9519% 1 / 62
2007-07-01 -5.5275% 8.2692% 24.1792% 1.3388%yes 1.5911% 11 / 62
2007-10-01 -8.3742% 11.3401% 32.9985% -5.8804%yes 2.0583% 10 / 63
2008-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · 1 name dropped from the held union of 26 (weights renormalised onto the rest)

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100.0% of 4 scored rebalances (an honest 90% band would contain ~90.0%) · 95% VaR breached on 10.93% of 247 days (expected ~5.0%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2007-01-01 -9.9662% 8.6757% 28.9387% 6.0919%yes 2.1543% 6 / 60
2007-04-01 -8.4517% 8.7511% 29.3158% 19.5613%yes 1.9252% 4 / 62
2007-07-01 -4.9627% 11.8357% 31.7279% 6.5745%yes 1.7267% 9 / 62
2007-10-01 -4.8192% 17.9724% 43.4885% 26.4518%yes 2.3141% 8 / 63
2008-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 4 constructions · 9 names held · selection: reselect · 0% in cash · 1 name dropped from the held union of 34 (weights renormalised onto the rest)

Projection accuracy — realized outcome fell inside the P5–P95 cone in 25% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 20.48% of 249 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2008-01-01 -10.0756% 7.6184% 26.695% -13.8721%no 2.0142% 15 / 60
2008-04-01 -12.4149% 7.2311% 28.9692% 9.1291%yes 2.3066% 2 / 63
2008-07-01 -14.4576% 8.7917% 35.4668% -25.9287%no 2.7698% 12 / 63
2008-10-01 -22.6269% 1.6364% 30.3457% -34.5142%no 3.1994% 22 / 63

Current members

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 50% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 18.07% of 249 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2008-01-01 -12.4699% 24.0298% 70.2349% -7.3279%yes 2.5069% 11 / 60
2008-04-01 -14.5226% 16.1012% 53.5089% 6.1843%yes 2.4377% 2 / 63
2008-07-01 -9.597% 12.2478% 36.745% -27.5347%no 2.4205% 11 / 63
2008-10-01 -17.3995% 2.751% 25.3882% -24.3841%no 2.4465% 21 / 63

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash · 1 name dropped from the held union of 34 (weights renormalised onto the rest)

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.82% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2009-01-01 -22.6797% 1.8632% 30.8547% -9.1227%yes 2.9279% 6 / 60
2009-04-01 -28.7764% -1.3283% 36.9568% 4.2436%yes 3.5061% 1 / 62
2009-07-01 -31.2138% -0.4796% 39.3876% 18.6552%yes 4.0431% 0 / 63
2009-10-01 -43.4041% -2.2565% 60.8917% 4.3185%yes 6.5677% 0 / 63
2010-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 3.23% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2009-01-01 -24.1057% -0.2206% 27.9388% -14.8165%yes 2.7591% 8 / 60
2009-04-01 -21.7383% 3.7975% 37.8914% 2.4516%yes 3.1947% 0 / 62
2009-07-01 -40.0773% -2.1506% 53.0406% 23.1926%yes 5.0544% 0 / 63
2009-10-01 -40.34% 0.3518% 61.2565% 7.3177%yes 6.0456% 0 / 63
2010-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 0% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2010-01-01 -32.4588% 4.5202% 55.4122% 1.4638%yes 5.1994% 0 / 60
2010-04-01 -39.3486% 4.2894% 79.8904% -18.4935%yes 6.6406% 0 / 62
2010-07-01 -35.3031% 0.8627% 51.2264% 6.2897%yes 4.6205% 0 / 63
2010-10-01 -28.5761% 6.2036% 52.5077% 15.6078%yes 4.636% 0 / 63
2011-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 0.4% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2010-01-01 -35.3922% 3.0714% 57.5563% 7.4615%yes 5.5358% 1 / 60
2010-04-01 -34.6262% 5.3477% 70.2358% -13.175%yes 6.1673% 0 / 62
2010-07-01 -29.4763% 3.9834% 48.1739% 16.6127%yes 4.5403% 0 / 63
2010-10-01 -22.7017% 13.7199% 61.7209% 23.8529%yes 4.3901% 0 / 63
2011-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 7.66% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2011-01-01 -18.4778% 13.9879% 64.3487% 2.9589%yes 4.2996% 0 / 61
2011-04-01 -17.2436% 13.7691% 56.6935% -3.0662%yes 3.9663% 0 / 62
2011-07-01 -7.9444% 9.824% 29.0054% -15.8887%no 1.9653% 14 / 63
2011-10-01 -12.6189% 3.4772% 22.6589% 11.564%yes 1.9775% 5 / 62
2012-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 7.26% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2011-01-01 -19.0235% 17.796% 77.3373% 11.7088%yes 4.6192% 0 / 61
2011-04-01 -10.0334% 21.589% 64.6145% 3.308%yes 3.476% 0 / 62
2011-07-01 -6.1027% 11.0129% 29.331% -9.0611%no 1.833% 13 / 63
2011-10-01 -10.9974% 6.61% 27.8348% 16.8453%yes 2.1886% 5 / 62
2012-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.85% of 246 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2012-01-01 -11.5313% 5.073% 26.7739% 5.1386%yes 2.2629% 0 / 61
2012-04-01 -9.4747% 9.1177% 31.6716% -3.4587%yes 2.1595% 5 / 62
2012-07-01 -14.2674% 4.8189% 28.3041% 6.4436%yes 2.2986% 1 / 62
2012-10-01 -13.4027% 7.9951% 37.4299% 2.9631%yes 2.5409% 1 / 61

Current members

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.03% of 246 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2012-01-01 -10.4989% 6.807% 29.5381% 6.9323%yes 2.2011% 0 / 61
2012-04-01 -8.149% 14.5706% 43.0936% -5.5882%yes 2.5272% 4 / 62
2012-07-01 -10.2751% 7.9135% 29.9286% 5.4651%yes 2.098% 0 / 62
2012-10-01 -14.0315% 9.5164% 42.6402% 2.4218%yes 2.5446% 1 / 61

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.82% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2013-01-01 -16.162% 6.3617% 30.443% 9.7934%yes 2.7592% 1 / 59
2013-04-01 -12.3939% 9.5265% 34.2701% -3.1616%yes 2.5093% 3 / 63
2013-07-01 -13.7554% 6.5162% 29.134% 0.5735%yes 2.3421% 1 / 63
2013-10-01 -4.5528% 15.9072% 38.3707% 8.9522%yes 1.9811% 2 / 63
2014-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 1.61% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2013-01-01 -12.7266% 9.3675% 32.7229% 12.7514%yes 2.4706% 0 / 59
2013-04-01 -11.6903% 8.3618% 30.5969% 0.195%yes 2.0303% 4 / 63
2013-07-01 -16.6176% 5.4967% 30.7445% 9.0068%yes 2.5109% 0 / 63
2013-10-01 -11.9424% 11.6491% 38.6382% 12.0331%yes 2.4075% 0 / 63
2014-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 5.65% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2014-01-01 -9.8816% 10.0221% 31.892% 7.5241%yes 2.2138% 2 / 60
2014-04-01 -8.9524% 9.4679% 31.756% 9.9748%yes 2.2098% 3 / 62
2014-07-01 -5.733% 9.7241% 26.0226% 0.5351%yes 1.6975% 3 / 63
2014-10-01 -3.5002% 11.1949% 26.5414% 8.6039%yes 1.4535% 6 / 63
2015-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 6.05% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2014-01-01 -7.0038% 13.7426% 36.578% 14.3695%yes 2.1238% 2 / 60
2014-04-01 -2.7261% 12.6378% 30.5397% 2.0322%yes 1.705% 5 / 62
2014-07-01 -5.0236% 10.4435% 26.7375% 8.553%yes 1.7338% 2 / 63
2014-10-01 -4.2029% 13.0721% 31.5317% 8.8655%yes 1.4407% 6 / 63
2015-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 8.06% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2015-01-01 -6.0529% 5.4502% 17.1178% 3.1346%yes 1.3075% 4 / 60
2015-04-01 -3.0119% 11.191% 27.5751% 1.9387%yes 1.5768% 3 / 62
2015-07-01 -4.6638% 9.7913% 24.879% -9.7897%no 1.5216% 8 / 63
2015-10-01 -6.3982% 7.6793% 22.3579% 2.3155%yes 1.493% 5 / 63
2016-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 8.87% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2015-01-01 -5.1052% 16.7744% 40.9972% 9.1223%yes 1.5117% 4 / 60
2015-04-01 -2.8347% 11.7484% 28.6247% 5.1628%yes 1.71% 1 / 62
2015-07-01 0.185% 18.1966% 37.4347% -12.1532%no 1.4779% 10 / 63
2015-10-01 -4.3084% 10.355% 25.6806% 4.1533%yes 1.5505% 7 / 63
2016-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 6.05% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2016-01-01 -9.7496% 4.157% 18.6409% 4.3024%yes 1.7028% 4 / 60
2016-04-01 -8.8345% 4.2626% 17.8427% -6.2602%yes 1.4122% 7 / 63
2016-07-01 -9.4409% 4.4865% 19.0496% 0.8648%yes 1.5574% 3 / 63
2016-10-01 -10.5545% 4.2528% 21.6197% 6.2102%yes 1.9843% 1 / 62

Current members

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 6.05% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2016-01-01 -9.1894% 7.5572% 25.4351% 0.793%yes 1.948% 7 / 60
2016-04-01 -7.6109% 6.0138% 20.1857% 2.5972%yes 1.5562% 3 / 63
2016-07-01 -9.1014% 7.0205% 24.2064% 8.1015%yes 1.6782% 3 / 63
2016-10-01 -11.1311% 5.7308% 25.919% 16.2959%yes 2.3144% 2 / 62

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.83% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2017-01-01 -10.8693% 4.8889% 25.2861% 1.9496%yes 2.1664% 2 / 61
2017-04-01 -11.6658% 5.7355% 26.697% 6.9352%yes 2.2234% 2 / 62
2017-07-01 -11.3287% 3.2176% 20.2563% 3.7942%yes 1.8827% 1 / 62
2017-10-01 -7.24% 10.3988% 31.5247% 8.9239%yes 1.9538% 2 / 62
2018-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.83% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2017-01-01 -12.1841% 4.7022% 26.8612% 0.0577%yes 2.3098% 1 / 61
2017-04-01 -10.3882% 6.6966% 27.1675% 7.6343%yes 2.0766% 2 / 62
2017-07-01 -10.214% 5.2175% 23.415% 16.5336%yes 2.0148% 2 / 62
2017-10-01 -5.9305% 12.5262% 34.7445% 7.7756%yes 2.1338% 2 / 62
2018-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 11.74% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2018-01-01 -8.7927% 6.3456% 22.267% -1.7306%yes 1.786% 6 / 60
2018-04-01 -4.7285% 11.6283% 28.9845% 6.7081%yes 1.6787% 6 / 63
2018-07-01 -4.1458% 11.9283% 30.8158% 2.3341%yes 1.8021% 4 / 62
2018-10-01 -5.4496% 9.2672% 26.3808% -22.8564%no 1.7329% 13 / 62
2019-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 12.96% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2018-01-01 -5.9041% 10.5053% 27.8819% -0.1066%yes 1.8337% 7 / 60
2018-04-01 -2.2821% 14.2913% 31.8476% 12.8354%yes 1.5834% 3 / 63
2018-07-01 -1.1962% 15.3977% 34.9003% 10.6489%yes 1.8655% 4 / 62
2018-10-01 0.0323% 16.4811% 35.7547% -24.9758%no 1.7609% 18 / 62
2019-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 4.84% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2019-01-01 -4.7132% 6.585% 18.0071% 9.0681%yes 1.1459% 2 / 60
2019-04-01 -8.2463% 5.3749% 21.1157% 0.4633%yes 1.6863% 6 / 62
2019-07-01 -8.1332% 4.6643% 17.8854% -3.3835%yes 1.4775% 3 / 63
2019-10-01 -7.5598% 3.7976% 15.3694% 6.1156%yes 1.3134% 1 / 63
2020-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 5.65% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2019-01-01 -4.9797% 6.1268% 17.3388% 14.4042%yes 1.0553% 2 / 60
2019-04-01 -6.4168% 9.1557% 27.4336% 4.2432%yes 1.6635% 4 / 62
2019-07-01 -6.851% 6.8649% 21.129% -3.4163%yes 1.6164% 6 / 63
2019-10-01 -8.639% 4.9432% 19.0849% 6.3294%yes 1.5607% 2 / 63
2020-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 8.84% of 249 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2020-01-01 -12.069% 5.3512% 28.328% -20.1239%no 2.3395% 15 / 61
2020-04-01 -14.7249% 2.4391% 23.1892% 16.5853%yes 2.0315% 4 / 62
2020-07-01 -18.0631% 5.2002% 32.1337% 1.5951%yes 2.3502% 2 / 63
2020-10-01 -20.4615% 7.031% 40.3168% 6.8314%yes 2.7552% 1 / 63

Current members

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 50% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 7.63% of 249 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2020-01-01 -12.5431% 6.3362% 31.6247% -22.3837%no 2.6301% 15 / 61
2020-04-01 -16.0409% 3.7639% 28.3984% 37.1687%no 2.2583% 2 / 62
2020-07-01 -18.5812% 7.1588% 37.6719% 9.2181%yes 2.6635% 2 / 63
2020-10-01 -15.3715% 20.3144% 65.8397% 17.2626%yes 3.3998% 0 / 63

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.02% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2021-01-01 -24.6622% 6.565% 46.0293% 18.8391%yes 3.7342% 1 / 60
2021-04-01 -21.7991% 12.4291% 61.9803% 7.9996%yes 3.701% 1 / 62
2021-07-01 -27.9153% 10.1849% 62.2573% 2.14%yes 3.8287% 1 / 63
2021-10-01 -18.7408% 13.3112% 53.4551% -0.1081%yes 3.0629% 2 / 63
2022-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 4.44% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2021-01-01 -14.0601% 17.9638% 57.2968% 3.5764%yes 3.2012% 7 / 60
2021-04-01 -25.207% 7.5565% 54.9991% 7.8872%yes 3.3592% 1 / 62
2021-07-01 -22.736% 13.735% 61.8275% 10.1536%yes 3.493% 1 / 63
2021-10-01 -17.2445% 12.6137% 49.1508% 2.3727%yes 2.9502% 2 / 63
2022-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 4.05% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2022-01-01 -17.7702% 11.2057% 54.6051% 4.9446%yes 3.0172% 2 / 61
2022-04-01 -28.6368% 9.234% 73.8456% -12.0901%yes 4.4148% 4 / 61
2022-07-01 -17.9746% 11.3698% 47.2018% 1.8816%yes 3.1341% 1 / 63
2022-10-01 -19.7642% 13.2639% 60.2083% 3.6582%yes 3.8222% 3 / 62
2023-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 6.07% of 247 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2022-01-01 -13.0737% 13.2756% 51.2325% -4.4851%yes 2.7999% 4 / 61
2022-04-01 -24.7822% 11.4644% 71.2323% -12.7459%yes 4.149% 5 / 61
2022-07-01 -17.29% 12.5903% 49.1665% 3.4418%yes 3.1619% 2 / 63
2022-10-01 -17.5365% 12.273% 53.1327% 1.1282%yes 3.3417% 4 / 62
2023-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 1.63% of 246 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2023-01-01 -15.5628% 14.7403% 60.357% -1.6127%yes 3.7869% 2 / 61
2023-04-01 -11.922% 6.4015% 30.7796% 5.0355%yes 2.3931% 0 / 61
2023-07-01 -18.5384% 4.9058% 35.2959% -4.2064%yes 2.9688% 0 / 62
2023-10-01 -19.5468% 3.6963% 33.8517% 22.1475%yes 2.6863% 2 / 62
2024-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 2.44% of 246 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2023-01-01 -14.1624% 10.5203% 45.6306% 1.1364%yes 3.1262% 2 / 61
2023-04-01 -10.6135% 7.0223% 30.2669% 18.5078%yes 2.2298% 0 / 61
2023-07-01 -18.7823% 7.1787% 41.6662% 1.9687%yes 3.2324% 3 / 62
2023-10-01 -19.6413% 5.6109% 39.019% 13.868%yes 3.139% 1 / 62
2024-01-01 no segment follows this rebalance — not scored

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

Point-in-time

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 4.44% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2024-01-01 -22.95% 4.9108% 38.8691% 23.8086%yes 3.3131% 0 / 60
2024-04-01 -13.6912% 11.2137% 43.5163% -1.2775%yes 2.8937% 1 / 62
2024-07-01 -9.2994% 15.6261% 44.2891% 4.085%yes 2.4202% 9 / 63
2024-10-01 -9.5169% 11.8636% 35.7417% 5.9352%yes 2.3145% 1 / 63

Current members

Portfolio book — rebalanced quarterly · 4 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 100% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 3.23% of 248 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2024-01-01 -30.2415% 3.3958% 47.8342% 41.559%yes 4.5022% 0 / 60
2024-04-01 -17.782% 13.4868% 56.9414% 4.0158%yes 3.9428% 1 / 62
2024-07-01 -17.8648% 20.1897% 70.0879% 7.8802%yes 4.1904% 5 / 63
2024-10-01 -11.892% 20.8031% 61.0994% 19.027%yes 3.1501% 2 / 63

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

Point-in-time

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 9.76% of 246 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2025-01-01 -4.9925% 15.1183% 35.726% -15.8707%no 2.0683% 13 / 59
2025-04-01 -7.351% 4.272% 18.6293% 4.5562%yes 1.555% 5 / 61
2025-07-01 -4.4814% 13.7704% 33.443% 4.541%yes 1.5402% 0 / 63
2025-10-01 -9.4338% 19.1786% 53.0913% 15.6652%yes 2.4639% 6 / 63
2026-01-01 no segment follows this rebalance — not scored

Current members

Portfolio book — rebalanced quarterly · 5 constructions · 10 names held · selection: reselect · 0% in cash

Projection accuracy — realized outcome fell inside the P5–P95 cone in 75% of 4 scored rebalances (an honest 90% band would contain ~90%) · 95% VaR breached on 9.76% of 246 days (expected ~5%)

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2025-01-01 -6.8646% 22.7597% 55.5702% -11.9022%no 2.7442% 12 / 59
2025-04-01 -4.9617% 10.067% 29.1964% 18.5969%yes 1.8112% 6 / 61
2025-07-01 -5.4452% 21.1861% 51.9672% 13.3446%yes 2.1845% 0 / 63
2025-10-01 -11.5991% 22.0743% 63.8595% 36.1989%yes 2.9649% 6 / 63
2026-01-01 no segment follows this rebalance — not scored
QuanterLab · Study 43c95a9671ca · compiled August 01, 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 sealed 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 keeps you honest about 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.