As seen on Quantocracy
All research
QuanterLab · Research

Rotate or Retreat: When the VIX Rises, Change Which Stocks You Hold or How Much You Hold? Twenty Years on the S&P 500

How this study was run: the companies, the method, the dates
Universe · S&P 500 (point-in-time constituents)
Method · Comparative: Rotate vs Retreat
Manipulated variable ·
The response to the weather, not the weather itself. Both arms read the SAME thermometer - the platform VIX classifier at its house-default bands, calm below sixteen and stressed at twenty-five and above, thresholds fixed before this study existed - and rank the SAME point-in-time S&P 500 on the SAM… (full registered statement)The response to the weather, not the weather itself. Both arms read the SAME thermometer - the platform VIX classifier at its house-default bands, calm below sixteen and stressed at twenty-five and above, thresholds fixed before this study existed - and rank the SAME point-in-time S&P 500 on the SAME three families, earnings yield, gross profitability and 12-1 momentum with the skip, blended byte-identically at 34/33/33. Thirty highest-ranked names, equal weight, long only, quarterly re-selection, twenty registered one-year windows, total returns with ex-date dividends and ten basis points of cost
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 20, 2026
Search record · none (size unknown, see §2.3)
Abstract

When the market gets nervous, investors usually do one of two things. Some keep all of their money in stocks and swap into sturdier companies. Others keep the stocks they have and move part of the money to cash until things calm down. Both answers can be run on the VIX, the market's fear gauge.

We ran both answers for twenty years on one stock picker. Every quarter the picker ranks the S&P 500, as the index stood that day, by a score made of three parts: how much the price has risen over the past year, how profitable the company is, and how cheap it is. It holds the thirty best in equal amounts and swaps the ones that drop out at the next pick. Rotate reads the VIX at each pick and changes how much each part counts: when the VIX is low the rise counts most, when it is high profitability and cheapness count most, so it picks different stocks, and all of its money stays in stocks. Retreat never changes the score, so its picks never follow the VIX. It reads the VIX every day and changes how much of its money is in its thirty stocks: less as the VIX rises, the rest in cash.

Rotate ended with the most money. It trailed the equal-weight index for most of the twenty years, pulled ahead in the last two, and for each unit of risk earned about what the index did. Retreat fell least in the financial crisis and then gave it back: the VIX stays high for months after a bottom, and Retreat waited mostly in cash while the market recovered. The rest of its shortfall came in ordinary years, when a middling VIX kept part of its money in cash while the market rose. It ended with less than half the money of Rotate, and the cash, not its stocks, was most of the difference.

How the two versions work. Both rank the S&P 500 by the same three parts and hold the top thirty. Rotate reads the VIX at each quarterly pick and changes how much each part counts, so it changes which stocks it holds, and all of its money stays in stocks. Retreat keeps the weights of the parts fixed and reads the VIX every day to set how much of its money is in stocks.
Figure 1. How the two versions work. Both rank the S&P 500 by the same three parts and hold the top thirty. Rotate reads the VIX at each quarterly pick and changes how much each part counts, so it changes which stocks it holds, and all of its money stays in stocks. Retreat keeps the weights of the parts fixed and reads the VIX every day to set how much of its money is in stocks.

What the study asks

Moving part of the money to cash when markets get scary is the most common risk rule there is. Many investors do it by feel: the news turns bad, the screen turns red, and some money goes to cash. It feels like cheap protection. The protection is real. The cost comes later, when the market recovers.

The other answer never leaves the market. It changes what it holds instead. In calm markets the stocks that have risen most tend to keep rising; in scared markets profitable and cheap companies tend to fall less. A portfolio that leans from one group to the other is always fully in stocks.

We have tested pieces of this before. The Radar and the Sliders ran Rotate against the same picker with its weights held fixed and all of its money in stocks: changing the weights with the VIX was worth nearly a point a year. A VIX Circuit Breaker on Momentum moved a whole momentum portfolio to cash whenever the VIX passed thirty: it averted one crisis and missed every recovery. Steering Wheel, Not Brake steered nine sector funds with a committee of ten market readings, never holding cash, and the steering paid. Here the two answers meet on one picker. Rotate is the radar of the earlier study; Retreat is its fixed twin with part of its money moved to cash as the VIX rises.

The rules, step by step

The two versions share everything except the last two rules.

• The stocks: the members of the S&P 500 on each date, including companies that later left the index.

• The score: three parts. Rise: the price change over the past twelve months, leaving out the last month. Profitable: gross profit over total assets. Cheap: earnings over price. Each part is scored across the index, and the three are blended with weights.

• The pick: every quarter, the 30 stocks with the best score, in equal amounts. Three months later the ranking is done again: a stock that dropped out of the top 30 is sold, a new one is bought in its place, and all 30 are set back to equal amounts. Each version always holds 30 stocks.

• The VIX reading: calm when the VIX closes below 16, middling from 16 to 25, scared above 25.

• Rotate: at each quarterly pick, the VIX of the day before sets the weights. Calm: rise 54%, profitable 23%, cheap 23%. Middling: rise 20%, profitable 47%, cheap 33%. Scared: rise 7%, profitable 53%, cheap 40%. All of the money is always in stocks, and nothing changes between picks.

• Retreat: the weights are always cheap 34%, profitable 33%, rise 33%. Every day the VIX sets how much of the money is in its 30 stocks: 100% when calm, 70% when middling, 40% when scared. The rest is cash and earns nothing.

• Costs and dividends: every traded dollar pays 0.1%, and dividends are reinvested.

• The yardstick: the equal-weight S&P 500 fund (RSP) with its dividends.

Figure 1 shows the two rules side by side.

How Retreat differs from volatility targeting

Retreat can look like volatility targeting, which we tested in Two Kinds of Crash, Two Kinds of Protection, but the two work differently. Volatility targeting watches the fund's own daily moves over the last month and compares them with their usual size. It holds the whole position while the moves are usual, holds less only when they grow larger, and eases back in a little every day as they calm.

Retreat watches the VIX, what traders pay for protection on the S&P 500 over the next month, against two fixed lines, and moves in three fixed steps. On a typical day the VIX sits between its two lines, so Retreat keeps part of its money in cash on ordinary days, not only in a crash. And after a crash the VIX stays above its upper line for months, so Retreat comes back late, in steps. In that study volatility targeting kept the growth of the S&P 500 fund it was applied to. Here Retreat fell far behind.

What we found, in short

Did Rotate beat the index? Only at the end. It ran a little behind the equal-weight S&P 500 for most of the twenty years and pulled ahead in the last two, and for each unit of risk it earned about what the index did (Figure 3).

Did Retreat protect in the crash? Yes. In the financial crisis it cut its stocks to four tenths as the VIX jumped, and fell much less than Rotate and the index (Figure 2).

Then why did it end last? Two reasons, both from the VIX. After the bottom the VIX stayed above its upper line for months, and Retreat waited with four tenths in stocks while the index rose by more than half; over the crash and the recovery together it ended where Rotate did. And on ordinary days, about two in five, the VIX sat between its lines and Retreat kept three tenths in cash while the market rose.

Was it the cash or the stocks? The cash. Retreat's own picker with all of its money in stocks, the fixed twin of The Radar and the Sliders, made about what the index made. The cash cost Retreat about three of the four points a year between it and Rotate; Rotate's changing weights made the rest.

Was Retreat's ride smoother? Yes, with smaller swings and a much shallower worst fall. But for each unit of risk it earned less than the index, so a fixed share of the index with the rest in cash would have given the same smoother ride for a little more money.

Retreat through the financial crisis. Top: what a dollar became in the equal-weight S&P 500 and in Retreat. Middle: the VIX with its two lines. Bottom: how much of its money Retreat held in stocks. As the VIX jumped, Retreat cut its stocks to four tenths and fell less than the index. The shaded months run from the index's bottom to the first day the VIX closed under its upper line again: the index rose by more than half in them, while Retreat, still at four tenths in stocks, rose far less.
Figure 2. Retreat through the financial crisis. Top: what a dollar became in the equal-weight S&P 500 and in Retreat. Middle: the VIX with its two lines. Bottom: how much of its money Retreat held in stocks. As the VIX jumped, Retreat cut its stocks to four tenths and fell less than the index. The shaded months run from the index's bottom to the first day the VIX closed under its upper line again: the index rose by more than half in them, while Retreat, still at four tenths in stocks, rose far less.
1  Methodology, in detail (click to open)

1  Methodology

Both versions were registered on QuanterLab in August 2026 as one comparative study: twenty one-year windows anchored on the first of January from 2006 to 2025, walked with no change to the rules; each window buys its first thirty stocks at the close of its first day, and the next window starts where the last one ended. The universe is the S&P 500 point-in-time membership. The three parts of the score are twelve-minus-one-month momentum (rise), gross profitability, gross profit over total assets (profitable), and earnings yield (cheap), each turned into a z-score across the index, trimmed at the extremes and blended; the thirty stocks with the highest blend are held in equal weights and picked again every quarter, one basket of thirty at a time. The VIX reading is the platform's VIX classifier at its standard lines: calm below 16, stressed above 25, choppy in between. Rotate feeds the reading of the close before each pick into the regime tilt card, which sets the weights (calm: momentum 54%, quality 23%, value 23%; choppy: 20%, 47%, 33%; stressed: 7%, 53%, 40%) and keeps exposure at 100%. Retreat has no tilt: the weights stay at 34% value, 33% quality and 33% momentum, and the daily reading feeds the portfolio tester's regime port, which sets exposure at 100% in calm, 70% in choppy and 40% in stressed, traded at the same close; the uninvested share earns nothing. Returns are total returns with dividends credited on their ex-dates, every traded dollar pays 0.1%, and the yardstick is RSP rebuilt to total return by the same rule, with no trading costs. Retreat's fixed twin is the fixed arm of The Radar and the Sliders, registered with the same universe, picker, windows, costs and yardstick; that study's radar arm is Rotate, with the same twenty yearly returns. Every line, the index included, is chained from each window's first close, so the move into the first day of each year is in none of them. Sharpe ratios use daily returns with no cash rate. The Treasury bill figure applies each year's average three-month bill rate to that year's average cash share.

2  Results

Findings

Table 1 sets the two versions, Retreat's fixed twin and the index side by side over the twenty years.

2.1  Headline

Rotate, Sharpe
0.55
day by day, every year the test ran, 2006 to 2025
Retreat, Sharpe
0.50
day by day, every year the test ran, 2006 to 2025
The equal-weight S&P 500 (RSP), Sharpe
0.54
the same days, stitched across the windows
P(Rotate beats Retreat)
99.3%
5011 paired bars · CAGR gap (Rotate − Retreat) +4.0 pp, paired-bar basis
What one dollar became in each version and in the equal-weight S&P 500, day by day, each year starting where the last one ended. The lines: green, rotate: always fully in stocks, the weights of the score follow the VIX; grey, the equal-weight S&P 500 (RSP), dividends reinvested; amber, retreat: the same weights always, part of the money in cash as the VIX rises.
Figure 3. What one dollar became in each version and in the equal-weight S&P 500, day by day, each year starting where the last one ended. The lines: green, rotate: always fully in stocks, the weights of the score follow the VIX; grey, the equal-weight S&P 500 (RSP), dividends reinvested; amber, retreat: the same weights always, part of the money in cash as the VIX rises.

Table 1. Twenty years, 2006 to 2025, with dividends. The versions pay 0.1% of every traded dollar; the index pays no trading costs. Retreat's fixed twin is the fixed portfolio of The Radar and the Sliders: Retreat's picker, registered with the same stocks, years and costs, with all of its money always in stocks. Swings a year: how much the daily returns swing, scaled to a year. Sharpe: the return for each unit of those swings.

What $1 becameA yearWorst fallSwings a yearSharpeYears ahead of RSPIn stocks on average
Rotate$7.2810.4%−55%23%0.5510 of 20100%
Retreat$3.456.4%−37%14%0.508 of 2078%
Retreat's fixed twin$6.229.6%−57%22%0.5213 of 20100%
Equal-weight S&P 500 (RSP)$6.159.5%−61%21%0.54100%
Sections 2.2 to 4, the full record: every year, every test, and how each one was run (click to open)

The registration names the two groups compared Radar rotate and Exposure retreat; this paper calls them Rotate and Retreat.

2.2  Per-step results

Table 2. One row per step, raw out-of-sample results. A short window can pair a negative return with a positive annualised Sharpe: at high daily volatility the arithmetic mean of daily returns sits above the compounded window return, and the Sharpe reads the former. Volatility drag, printed rather than smoothed.
#Out-of-sample window Rotate SR Retreat SR
1 2006-01-03 → 2006-12-29 0.60 0.88
2 2007-01-03 → 2007-12-31 0.17 0.50
3 2008-01-02 → 2008-12-31 -0.68 -1.27
4 2009-01-02 → 2009-12-31 0.77 0.77
5 2010-01-04 → 2010-12-31 0.55 0.70
6 2011-01-03 → 2011-12-30 0.09 -0.24
7 2012-01-03 → 2012-12-31 1.10 1.15
8 2013-01-02 → 2013-12-31 2.29 2.21
9 2014-01-02 → 2014-12-31 1.47 0.95
10 2015-01-02 → 2015-12-31 -0.11 -0.18
11 2016-01-04 → 2016-12-30 0.88 0.01
12 2017-01-03 → 2017-12-29 1.45 1.99
13 2018-01-02 → 2018-12-31 -0.08 -0.39
14 2019-01-02 → 2019-12-31 1.83 0.98
15 2020-01-02 → 2020-12-31 0.59 0.26
16 2021-01-04 → 2021-12-31 1.42 0.82
17 2022-01-03 → 2022-12-30 -0.38 -0.65
18 2023-01-03 → 2023-12-29 1.18 1.36
19 2024-01-02 → 2024-12-31 1.33 1.16
20 2025-01-02 → 2025-12-31 0.79 0.58
Out-of-sample equity: normalised growth (1.00x = break even)0.50x0.98x1.46xbars into the window →
Figure 4. Rotate: every step's out-of-sample curve overlaid, each rebased to 1× at its own start. Read alongside the per-step table: 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.68x1.04x1.41xbars into the window →
Figure 5. Retreat: the same windows, the other arm. Compare shape-for-shape with the previous figure: the two arms trade the identical out-of-sample windows.

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 no count of alternatives tried is claimed, and nothing in this paper is corrected for a search that was never recorded; the number that stands is the raw out-of-sample result plus this disclosure. The registered per-step record below (§4) still guarantees each window's hypothesis was hashed and registered before that window was scored.

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 rRotate − rRetreat 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, and the per-arm pooled numbers above are likewise uncorrected, because this design has no recorded search to correct against (§2.3). The paired contrast carries that gap differently from the arm levels: it was declared before each window ran and it is scored on the difference, so no window could be read first and scored after. What the timestamps cannot speak to is how this contrast came to be the declared one, which is the limit §2.3 states.

Table 3. Window-by-window paired comparison. Δ is the growth gap (Rotate − Retreat) over the window's paired dates.
#WindowPaired bars RotateRetreat ΔLeader
1 2006-01-04 → 2006-12-29 250 +9.6% +13.1% -3.4 pp Retreat
2 2007-01-04 → 2007-12-31 250 +1.5% +6.7% -5.2 pp Retreat
3 2008-01-03 → 2008-12-31 252 -30.3% -22.5% -7.8 pp Retreat
4 2009-01-05 → 2009-12-31 251 +20.6% +8.5% +12.1 pp Rotate
5 2010-01-05 → 2010-12-31 251 +9.7% +9.0% +0.7 pp Rotate
6 2011-01-04 → 2011-12-30 251 -1.3% -4.4% +3.1 pp Rotate
7 2012-01-04 → 2012-12-31 249 +16.6% +13.7% +2.8 pp Rotate
8 2013-01-03 → 2013-12-31 251 +39.1% +35.2% +3.9 pp Rotate
9 2014-01-03 → 2014-12-31 251 +25.6% +13.9% +11.7 pp Rotate
10 2015-01-05 → 2015-12-31 251 -3.1% -3.5% +0.4 pp Rotate
11 2016-01-05 → 2016-12-30 251 +11.9% -0.6% +12.5 pp Rotate
12 2017-01-04 → 2017-12-29 250 +19.1% +23.0% -3.9 pp Retreat
13 2018-01-03 → 2018-12-31 250 -4.0% -7.7% +3.7 pp Rotate
14 2019-01-03 → 2019-12-31 251 +26.7% +11.3% +15.4 pp Rotate
15 2020-01-03 → 2020-12-31 252 +16.6% +3.0% +13.5 pp Rotate
16 2021-01-05 → 2021-12-31 251 +26.7% +10.5% +16.2 pp Rotate
17 2022-01-04 → 2022-12-30 250 -12.4% -9.9% -2.5 pp Retreat
18 2023-01-04 → 2023-12-29 249 +19.7% +19.9% -0.2 pp Retreat
19 2024-01-03 → 2024-12-31 251 +27.7% +17.0% +10.7 pp Rotate
20 2025-01-03 → 2025-12-31 249 +15.7% +8.4% +7.3 pp Rotate

Paired Sharpe of the difference track: 0.46 · block bootstrap (2000 paths, block 10, seed 1234): P(Rotate beats Retreat) = 99.3%.

Window win-rate. Rotate led 14 of 20 windows (70.0%), Retreat led 6, and the mean window gap of +4.55 pp points the same way. Widest single window: 2021 at +16.2 pp.

Table 4. The same comparison split at 2010. Pooling the whole walk into one row hides which side of the split the difference came from.
PeriodWindows RotateRetreat Mean gapRotate led
All windows 20 +11.79% +7.24% +4.55 pp 14/20
Before 2010 4 +0.36% +1.44% -1.08 pp 1/4
2010 onward 16 +14.65% +8.69% +5.96 pp 13/16
All windowsn=20 · Radar rotate led 14 · Exposure retreat led 6 · ties 0+11.8%+7.2%+4.55 ppBefore 2010n=4 · Radar rotate led 1 · Exposure retreat led 3 · ties 0+0.4%+1.4%-1.08 pp2010 onwardn=16 · Radar rotate led 13 · Exposure retreat led 3 · ties 0+14.7%+8.7%+5.96 ppgap
Figure 6. Mean window return per period. Rotate above, Retreat 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.04 pp. The pooled figure is therefore not a standing property of either method, it is dominated by the later 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

The sentence below is the registration record, generated when the circuit was registered and printed verbatim; the authored description of the design is Section 1.

A COMPARATIVE study: Radar rotate vs Exposure retreat, walked on the same registered out-of-sample windows. Radar rotate: S&P 500, rebalanced quarterly across the selected basket, conditioned on the wired regime classifier, 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. Exposure retreat: S&P 500, rebalanced quarterly across the selected basket, conditioned on the wired regime classifier, 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: 2 nodes across 3 recorded settings: Portfolio Forward Test, choppy_exposure: 100 → 70; Portfolio Forward Test, stressed_exposure: 100 → 40; Regime Tilt (radar), removed in Exposure retreat. NOTE: with more than one difference, an out-of-sample gap cannot be attributed to any single change. The contrast under test: whether Radar rotate generates better risk-adjusted returns than Exposure retreat over the identical out-of-sample windows.

Every block in this study is a card from the platform's catalog: the S&P 500 as it stood, the price and fundamentals loaders, the three score cards and their blend, the top thirty, the VIX reading, the regime tilt card in Rotate, the portfolio tester with its cost card and its autopsy.

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 composite: click for detailsfactor compositefactor top tier: click for detailsfactor top tierportfolio backtest: click for detailsportfolio backtestportfolio forward autopsy: click for detailsportfolio forward autopsyvix regime: click for detailsvix regimetransaction cost: click for detailstransaction costfactor regime tilt: click for detailsfactor regime tiltuniverse: 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 composite: click for detailsfactor compositefactor top tier: click for detailsfactor top tierportfolio backtest: click for detailsportfolio backtestportfolio forward autopsy: click for detailsportfolio forward autopsyvix regime: click for detailsvix regimetransaction cost: click for detailstransaction costRadar rotateExposure retreatshared
Figure 7. The frozen circuit, every node a primitive, every wire a typed data-flow; the two arms are colour-coded (Rotate green, Retreat blue, shared feeds neutral). Each box is one step of the strategy; data flows along the wires left to right, and no box can see data dated later than the box feeding it. The whole diagram was frozen when the hypothesis was registered. Click any node to open what that step ran with and what it produced.

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

What each part does
Universe, The starting set of tickers, resolved point-in-time from the index change-log, so names delisted or removed later still compete on the dates they traded.
Price Loader, Bulk OHLCV fetch for the whole universe, point-in-time, no future bars.
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?
Vix Regime, VIX thresholds, the simplest fear gauge.
Factor Quality, Quality, is this a strong, profitable, well-financed business?
Factor Regime Tilt, The radar, read the market and suggest which factors to lean on.
Factor Momentum, Momentum, recent price strength, no filing required.
Factor Composite, The weighting console, blend Value, Quality, Momentum, Growth into one 0–100 score.
Transaction Cost, Charge for trading, slippage + commission on every turn.
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, with costs.
Portfolio Forward Autopsy, The post-mortem, where the forward test’s return actually came from.

The objective and the search

Radar rotate

UniverseS&P 500 index constituents.
Validation & out-of-sampleportfolio forward test (buy-and-hold book) (1y horizon from the anchor, quarterly rebalance); overlays: Transaction Cost.
Regime layermacro regime detected via live VIX threshold.
Other componentsFactor models: Factor Composite, Factor Select, Fundamentals Loader (PIT), Momentum Factor, Quality Factor, Regime Tilt (radar), Value Factor.

Exposure retreat

Other componentsFactor models: Factor Composite, Factor Select, Fundamentals Loader (PIT), Momentum Factor, Quality Factor, Value Factor.

Every other specification row is identical to Radar rotate's table above.

What differs between the arms, 2 differences; more than one thing changes at once:

  • paramPortfolio Forward Test, choppy_exposure: 100 → 70
  • paramPortfolio Forward Test, stressed_exposure: 100 → 40
  • removedRegime Tilt (radar), removed in Exposure retreat

Reader's note. With 3 settings changed at once across 2 nodes, an out-of-sample gap between the arms cannot be attributed to any single change, the arms are compared as whole packages, and any causal reading of one ingredient is unsupported by this design.

Cost elements are wired into the circuit, the realised drag is reported per step in Appendix B.

Show the mathematics, 13 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_{\mathrm{near}}}{P_{t-k}}-1
Horizons k ∈ {1, 3, 6, 12} months, measured point-in-time. The near leg follows the node’s "Most recent month" switch: include (the default) reads the anchor close, P_near = P_t, the classic J–0; skip reads one month back, P_near = P(t−21 bars), the Fama-French J–1, and the 1-month horizon is excluded, since its window is exactly the skipped month.
Byte-identical to FM101FBKT (shared_libs/factor_core) at the default include setting; the skip is a Primitives-side option FM101 does not run.

3.7  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.8  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.9  Portfolio Backtest

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

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

Compounded equity
E_t = E_{t-1}\big(1 + \mathbf w_{t}^{\top}\mathbf r_t - \text{costs}_t\big)
Drawdown
\text{DD}_t = \frac{E_t}{\max_{\tau\le t}E_\tau} - 1, \qquad \text{MaxDD} = \min_t \text{DD}_t
Financing a levered book
\text{charge}_t \;=\; \text{loan}_t \cdot \frac{\text{spread}}{252}, \qquad \text{loan}_t = \begin{cases}\max(0,\,-\text{cash}_t) & \text{institutional (netted)}\\ \max(0,\,\text{long MV}_t - E_t) & \text{retail (no netting)}\end{cases}
A levered long/short book (the β-neutral Long/Short Select) borrows its excess notional. WHO you are decides the loan: a prime broker nets short-sale proceeds against the margin loan, a fully-netted BAB book carries almost none, while a retail margin account cannot net, so the same book borrows the long leg’s excess over equity. Profiles: institutional = 50 bps spread + 25 bps GC short borrow; retail = 350 bps + 150 bps (the BEST retail tier, so any verdict is conservative); custom = your own knobs, spread on negative cash. Charged daily, reported as financing_drag_pct, never silent.
When the regime only decides the buys
\mathbf w_k = \{\, w_{k,i} : i \in \text{held} \,\}, \qquad \text{cash}_k = 1 - \textstyle\sum_{i \in \text{held}} w_{k,i}
Set "The regime decides" to "Only whether new names are bought": at a rebalance whose regime has an exposure of 0, the new selection keeps only the names already held, each at its weight in the new book; a name that left is sold and its money waits in cash until a rebalance in a regime that buys. Nothing is scaled day to day. Clenow buys only while the S&P 500 is above its 200-day average.

3.10  Portfolio Forward Autopsy

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

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

Reading it

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

3.11  Vix Regime

VIX thresholds, the simplest fear gauge.

Reads the VIX (or a wired series) and classifies by two cut-offs: low VIX is calm, high VIX is stressed, in between is choppy. Confidence scales with how far past the boundary you are.

Threshold rule
\text{regime} = \begin{cases}\text{calm} & \text{VIX} < c\\[2pt]\text{stressed} & \text{VIX} \ge s\\[2pt]\text{choppy} & \text{otherwise}\end{cases}
Defaults c = 16, s = 25.

3.12  Transaction Cost

Charge for trading, slippage + commission on every turn.

Real trading isn't free. This deducts a cost proportional to how much you trade (turnover), in basis points, so the backtest reflects net, not gross, performance.

Cost per rebalance
\text{cost}_t = \frac{\text{bps}}{10{,}000}\;\times\;\text{turnover}_t, \qquad \text{turnover}_t = \tfrac12\sum_i \lvert w_{i,t}-w_{i,t^-}\rvert

3.13  Factor Regime Tilt

The radar, read the market and suggest which factors to lean on.

Four market signals vote on a recommended Value/Quality/Momentum/Growth weighting: the trend regime (momentum & growth in bull markets, quality & value in bear), the valuation spread, factor momentum, and cross-sectional dispersion. Their importances normalize to 100 and produce a tilt the Composite applies.

Signal-importance blend
\mathbf{w} = 0.30\,\mathbf{R} + 0.25\,\mathbf{V} + 0.25\,\mathbf{M} + 0.20\,\mathbf{D}
R = regime (6-vote benchmark-trend ensemble, one month to one year), V = valuation spread, M = factor momentum, D = dispersion. Importances renormalize to 100.
Optional wired classifier
\text{calm}\to\text{bullish},\ \ \text{choppy}\to\text{sideways},\ \ \text{stressed}\to\text{bearish}
Wire any Regime Classifier to replace the built-in trend ensemble.
Byte-identical to FM099 signal-guided engine (shared_libs/regime_core/factor_signals).

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 A71 of 80 inside the 90% band-38%+13%+63%in band20062007200820092010201120122013201420152016201720182019202020212022202320242025Arm B76 of 80 inside the 90% band-38%+13%+63%in band20062007200820092010201120122013201420152016201720182019202020212022202320242025
Figure 8. Projected range versus what occurred, at each of 160 scored rebalance segments, pooled across both arms. The final rebalance of each step has no following segment to score, the ledger marks those rows “no segment follows this rebalance”, which is why this count sits below the raw rebalance totals in the table beneath. Each vertical bar is that rebalance's P5–P95 Monte Carlo cone with the median ticked; the dot is the realized return of the segment that followed. Filled green = the outcome landed inside its own cone; red = it did not. The strip beneath repeats that as one mark per rebalance, so a run of misses in one period is visible as a run. Every cone was fitted only on data prior to the segment it is scored against.
Arm Steps Rebalances In band Coverage Expected VaR days Breach rate Expected
Rotate 20 95 71 / 80 88.8% ±3.53 90.0% 4951 6.56% ±0.352 5.0%
Retreat 20 95 76 / 80 95.0% ±2.44 90.0% 4951 3.37% ±0.257 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  Interpretation

Retreat's case rests on the crash, and the crash is where it did its job. The rest of the record is where it paid for it. The VIX comes down slowly after a bottom, so a rule that steps back into stocks on the VIX steps back in after the strongest part of the recovery; and on ordinary days a middling VIX keeps part of the money out of a rising market.

Retreat suits the investor who would otherwise sell everything at the bottom of a crash and never come back. For that investor, a worst fall of a little more than a third instead of more than half is what keeps the plan alive. For everyone else the record puts a price on that calm: about three points a year against holding the same stocks with all of the money.

Steering Wheel, Not Brake found that steering nine sector funds with a committee of market readings paid. Here a single reading, the VIX, did both jobs on one picker: used as a steering wheel it ended a little ahead of the index, used as a brake it ended last.

5.2  Limitations

Stocks rose in fifteen of these twenty years, so the size of the cost belongs to this period; in a flat market holding cash would cost less, but the late return to stocks would be the same. The cash earned nothing here; at the Treasury bill rate it would have added about a quarter of a point a year, far from the three points the cash cost. Retreat trades at the close of the day it reads the VIX, a day sooner than a real account could. Only one way of moving to cash was tested, three fixed steps read every day; volatility targeting, which scales the stock share smoothly with the market's own moves, is a different rule. In the early years the data holds no prices for some companies that later left the index: about seven in ten of the 2006 members could be picked, and nearly all of today's. Each portfolio holds thirty stocks, costs are a flat rate, and dividends are counted before tax.

Try it yourself

Open the study in the lab and change one thing at a time: keep half instead of four tenths in stocks when the VIX is high, move the VIX lines, or change how much each part of the score counts. Each change runs on the same stocks and years, and the result shows what the change did.

The run produced the results below. The author chose not to feature them in this paper; they were computed all the same, are part of the frozen record, and are reproducible from the study's frozen circuit.

  • The measurement ladder, 20 windows. The forward tester, per window: the same walk chained price-only, with dividends and net of costs, against the benchmark measured both ways.

References

Author’s references?
  1. Moreira, A. and Muir, T. (2017). Volatility-Managed Portfolios. Journal of Finance 72(4).
  2. Faber, M. T. (2007). A Quantitative Approach to Tactical Asset Allocation. Journal of Wealth Management 9(4).
  3. Daniel, K. and Moskowitz, T. J. (2016). Momentum Crashes. Journal of Financial Economics 122(2).
  4. Whaley, R. E. (2009). Understanding the VIX. Journal of Portfolio Management 35(3).
  5. Asness, C. S. (2016). The Siren Song of Factor Timing. Journal of Portfolio Management 42(5).

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 851c6a327b71 1310 2006-01-01 2006-01-03 → 2006-12-29
2 25757e784c0c 1311 2007-01-01 2007-01-03 → 2007-12-31
3 25b701068534 1312 2008-01-01 2008-01-02 → 2008-12-31
4 6d3d15d23a5e 1313 2009-01-01 2009-01-02 → 2009-12-31
5 f12e031a77bd 1314 2010-01-01 2010-01-04 → 2010-12-31
6 fdabada7b515 1315 2011-01-01 2011-01-03 → 2011-12-30
7 7fb255d8aacf 1316 2012-01-01 2012-01-03 → 2012-12-31
8 dd4333296759 1317 2013-01-01 2013-01-02 → 2013-12-31
9 06a52fa5dd9c 1318 2014-01-01 2014-01-02 → 2014-12-31
10 b41aa9e52fb6 1319 2015-01-01 2015-01-02 → 2015-12-31
11 7c542773672a 1320 2016-01-01 2016-01-04 → 2016-12-30
12 ebc5b9118365 1321 2017-01-01 2017-01-03 → 2017-12-29
13 9f6fb9c9767c 1322 2018-01-01 2018-01-02 → 2018-12-31
14 24cc317a1d0e 1323 2019-01-01 2019-01-02 → 2019-12-31
15 88ea6fdcc714 1324 2020-01-01 2020-01-02 → 2020-12-31
16 56ce75f0652e 1325 2021-01-01 2021-01-04 → 2021-12-31
17 29d369ca707c 1326 2022-01-01 2022-01-03 → 2022-12-30
18 b925da9661b4 1327 2023-01-01 2023-01-03 → 2023-12-29
19 a84ee35b9320 1328 2024-01-01 2024-01-02 → 2024-12-31
20 70e40d89accb 1329 2025-01-01 2025-01-02 → 2025-12-31
QuanterLab reference architecture

The methods the platform implements, for every study made on it, rest on these works.

  1. Gelman, A., & Loken, E. (2013). The garden of forking paths: Why multiple comparisons can be a problem, even when there is no “fishing expedition.” Working paper, Columbia University.
  2. Harvey, C. R., Liu, Y., & Zhu, H. (2016). … and the Cross-Section of Expected Returns. Review of Financial Studies, 29(1), 5–68. doi:10.1093/rfs/hhv059
  3. Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal, 58(4), 36–52. doi:10.2469/faj.v58.n4.2453

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 registration 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 registration precedes its own run, and each run precedes the next registration. A study whose registrations all post-date its runs would show it here. Wall-clock spacing between registrations varies with the author's schedule and queue latency; the ordering, not the tempo, is the claim.

“A COMPARATIVE study, Radar rotate vs Exposure retreat, walked on the same registered out-of-sample windows. Radar rotate: S&P 500, rebalanced quarterly across the selected basket, conditioned on the wired regime classifier, 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. Exposure retreat: S&P 500, rebalanced quarterly across the selected basket, conditioned on the wired regime classifier, 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 2 nodes across 3 recorded settings: Portfolio Forward Test, choppy_exposure: 100 → 70; Portfolio Forward Test, stressed_exposure: 100 → 40; Regime Tilt (radar), removed in Exposure retreat. NOTE: with more than one difference, an out-of-sample gap cannot be attributed to any single change. The contrast under test: whether Radar rotate generates better risk-adjusted returns than Exposure retreat over the identical out-of-sample windows.”

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

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

Appendix B  Per-step diagnostics

Realized in the projection tables below is the risk engine scoring its own forecast: the buy-and-hold return of the segment that followed each rebalance, on the same gross basis the cone was projected on. It is deliberately not the charged, calendar-window total return the study’s tables print, so the two will not reconcile line by line; the cone and its outcome share one basis, which is what a calibration test requires. Each row names its segment’s span so a boundary session is visible.

Names held is the union across the window: the count of distinct instruments the book touched between the window’s first and last session, not the number it held at one time. A book that rotates monthly touches more names than it holds.

What each step's run actually did beyond its return: the portfolio book's rebalancing and cost drag. Harvested from the frozen run reports, present where the circuit produced them. Cost drag is the gap between the step's return before and after its trading costs, in percentage points of the step's starting capital, so on a book that trades every session and compounds it can exceed the step's own net return.

Open the full per-step grid (20 steps: every rebalance, per window)

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 68 names held · selection: reselect · 0.0% in cash · turnover 3.9× · cost drag 0.39% · 1 name dropped at load (69 selected, 68 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2006-01-01 → 2006-04-01 -3.0357% 10.5158% 27.4784% 9.6752%yes 1.6827% 2 / 61
2006-04-01 → 2006-07-01 -6.7421% 8.7898% 27.0222% -7.3114%no 1.8459% 6 / 62
2006-07-01 → 2006-10-01 -5.7458% 9.8073% 28.0404% -3.178%yes 1.8818% 4 / 62
2006-10-01 → 2007-01-01 -6.1385% 6.7579% 21.5173% 9.6669%yes 1.4809% 2 / 62
2007-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 67 names held · selection: reselect · 0.0% in cash · turnover 4.4× · cost drag 0.44% · regime gate active · 1 name dropped at load (68 selected, 67 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2006-01-01 → 2006-04-01 -3.3886% 10.0245% 26.7997% 6.007%yes 1.752% 2 / 61
2006-04-01 → 2006-07-01 -6.2739% 8.1594% 24.9192% -5.8304%yes 1.7141% 3 / 62
2006-07-01 → 2006-10-01 -5.7475% 7.3314% 22.3175% 1.0685%yes 1.5504% 5 / 62
2006-10-01 → 2007-01-01 -6.2902% 6.343% 20.7679% 9.6953%yes 1.577% 0 / 62
2007-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 65 names held · selection: reselect · 0.0% in cash · turnover 3.8× · cost drag 0.38%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2007-01-01 → 2007-04-01 -5.7292% 7.3203% 20.7357% 5.292%yes 1.5076% 5 / 60
2007-04-01 → 2007-07-01 -5.1155% 6.6799% 20.0234% -0.5082%yes 1.3519% 5 / 62
2007-07-01 → 2007-10-01 -5.5753% 5.2806% 17.4589% -1.9379%yes 1.3042% 13 / 62
2007-10-01 → 2008-01-01 -8.0228% 5.0336% 18.5523% -6.7135%yes 1.4999% 10 / 63
2008-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 61 names held · selection: reselect · 0.0% in cash · turnover 4.7× · cost drag 0.47% · regime gate active · 1 name dropped at load (62 selected, 61 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2007-01-01 → 2007-04-01 -6.0766% 7.6715% 21.8992% 8.1089%yes 1.579% 3 / 60
2007-04-01 → 2007-07-01 -5.9061% 6.7521% 21.202% 2.4898%yes 1.4433% 2 / 62
2007-07-01 → 2007-10-01 -4.3386% 7.9479% 21.8981% -3.3082%yes 1.3668% 9 / 62
2007-10-01 → 2008-01-01 -7.4591% 7.0603% 22.2812% -3.1749%yes 1.5894% 6 / 63
2008-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 4 constructions · 46 names held · selection: reselect · 0.0% in cash · turnover 2.7× · cost drag 0.27%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2008-01-01 → 2008-04-01 -9.5628% 3.4897% 16.9746% -5.0979%yes 1.5472% 13 / 60
2008-04-01 → 2008-07-01 -11.7252% 3.126% 18.8404% -3.7119%yes 1.8271% 7 / 63
2008-07-01 → 2008-10-01 -14.2945% 2.1724% 19.9362% -1.7792%yes 2.0457% 10 / 63
2008-10-01 → window end -18.6644% -0.6598% 19.2163% -22.5073%no 2.3654% 21 / 63

Retreat

Portfolio book, rebalanced quarterly · 4 constructions · 65 names held · selection: reselect · 0.0% in cash · turnover 3.8× · cost drag 0.38% · regime gate active · 2 names dropped at load (67 selected, 65 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2008-01-01 → 2008-04-01 -8.8547% 5.3743% 20.2186% -8.5351%yes 1.68% 7 / 60
2008-04-01 → 2008-07-01 -11.0487% 5.6595% 23.6216% 0.8373%yes 2.02% 1 / 63
2008-07-01 → 2008-10-01 -12.3531% 5.0278% 23.8701% -8.3812%yes 2.1141% 6 / 63
2008-10-01 → window end -14.5009% 2.8948% 21.8304% -9.1313%yes 2.2255% 8 / 63

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 45 names held · selection: reselect · 0.0% in cash · turnover 2.4× · cost drag 0.24%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2009-01-01 → 2009-04-01 -26.2933% -2.625% 25.408% -11.0473%yes 3.1312% 10 / 60
2009-04-01 → 2009-07-01 -27.4254% -4.119% 26.8772% 13.9453%yes 3.1073% 3 / 62
2009-07-01 → 2009-10-01 -27.9022% -2.3521% 28.7731% 14.5851%yes 3.1152% 0 / 63
2009-10-01 → 2010-01-01 -30.6414% -0.9263% 37.153% 4.6589%yes 4.0066% 0 / 63
2010-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 56 names held · selection: reselect · 0.0% in cash · turnover 3.7× · cost drag 0.37% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2009-01-01 → 2009-04-01 -23.1207% -0.5021% 25.7687% -4.6982%yes 2.6718% 0 / 60
2009-04-01 → 2009-07-01 -24.2792% -1.7703% 27.6226% 4.8876%yes 2.8933% 0 / 62
2009-07-01 → 2009-10-01 -28.1538% -1.1823% 32.1595% 6.9552%yes 3.428% 0 / 63
2009-10-01 → 2010-01-01 -29.1492% 0.7109% 38.7981% 1.4452%yes 3.8561% 0 / 63
2010-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 62 names held · selection: reselect · 0.0% in cash · turnover 3.7× · cost drag 0.37%

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 4 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
2010-01-01 → 2010-04-01 -28.138% 1.8465% 39.8105% 8.2259%yes 3.757% 0 / 60
2010-04-01 → 2010-07-01 -27.0807% 2.3899% 44.055% -17.6148%yes 3.9628% 2 / 62
2010-07-01 → 2010-10-01 -27.6446% 1.8757% 39.1904% 7.4647%yes 3.8% 0 / 63
2010-10-01 → 2011-01-01 -23.7944% 4.3136% 38.9026% 11.8906%yes 3.3158% 0 / 63
2011-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 68 names held · selection: reselect · 0.0% in cash · turnover 4.2× · cost drag 0.42% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2010-01-01 → 2010-04-01 -29.6699% 2.511% 44.3552% 5.0845%yes 4.0487% 0 / 60
2010-04-01 → 2010-07-01 -28.6304% 2.796% 48.3749% -9.3187%yes 4.553% 0 / 62
2010-07-01 → 2010-10-01 -29.0632% 4.0035% 47.4411% 2.5647%yes 4.176% 0 / 63
2010-10-01 → 2011-01-01 -26.5928% 5.7876% 47.6326% 9.5333%yes 4.202% 0 / 63
2011-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 71 names held · selection: reselect · 0.0% in cash · turnover 5.0× · cost drag 0.5%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2011-01-01 → 2011-04-01 -14.1345% 8.9027% 41.1581% 6.8767%yes 2.8106% 0 / 61
2011-04-01 → 2011-07-01 -9.5838% 12.7904% 40.8822% 2.0839%yes 2.6002% 0 / 62
2011-07-01 → 2011-10-01 -7.5353% 12.5633% 34.6821% -21.7819%no 2.1093% 13 / 63
2011-10-01 → 2012-01-01 -14.2601% 2.5749% 22.8434% 15.897%yes 2.2833% 3 / 62
2012-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 69 names held · selection: reselect · 0.0% in cash · turnover 4.0× · cost drag 0.4% · regime gate active · 1 name dropped at load (70 selected, 69 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2011-01-01 → 2011-04-01 -14.0781% 10.6854% 45.9294% 3.4715%yes 3.1305% 0 / 61
2011-04-01 → 2011-07-01 -9.7412% 14.971% 46.6553% -0.1492%yes 2.8994% 0 / 62
2011-07-01 → 2011-10-01 -6.8496% 9.9086% 27.8096% -11.4301%no 1.8687% 4 / 63
2011-10-01 → 2012-01-01 -12.5146% 4.9448% 26.0218% 5.3608%yes 2.2752% 0 / 62
2012-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 4 constructions · 63 names held · selection: reselect · 0.0% in cash · turnover 4.7× · cost drag 0.47% · 1 name dropped at load (64 selected, 63 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2012-01-01 → 2012-04-01 -11.2848% 4.4213% 24.7553% 13.0804%yes 2.1375% 0 / 61
2012-04-01 → 2012-07-01 -7.7251% 9.3425% 29.695% -3.5301%yes 1.9933% 5 / 62
2012-07-01 → 2012-10-01 -12.4177% 3.6459% 22.7759% 1.5097%yes 2.0655% 0 / 62
2012-10-01 → window end -10.6921% 5.6797% 26.9941% 1.1487%yes 2.1812% 0 / 61

Retreat

Portfolio book, rebalanced quarterly · 4 constructions · 63 names held · selection: reselect · 0.0% in cash · turnover 6.1× · cost drag 0.61% · regime gate active · 1 name dropped at load (64 selected, 63 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2012-01-01 → 2012-04-01 -10.5806% 5.9352% 27.4633% 9.9933%yes 2.1473% 0 / 61
2012-04-01 → 2012-07-01 -9.2089% 8.053% 28.7269% -2.812%yes 2.0798% 3 / 62
2012-07-01 → 2012-10-01 -11.58% 4.4764% 23.5682% 0.9099%yes 1.9894% 0 / 62
2012-10-01 → window end -11.917% 5.5365% 28.558% 1.2544%yes 2.1869% 0 / 61

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 78 names held · selection: reselect · 0.0% in cash · turnover 6.0× · cost drag 0.6%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2013-01-01 → 2013-04-01 -11.0583% 5.744% 22.6622% 10.4072%yes 1.8638% 1 / 59
2013-04-01 → 2013-07-01 -11.1743% 9.4839% 32.489% 5.2386%yes 2.3137% 2 / 63
2013-07-01 → 2013-10-01 -13.1901% 5.8302% 26.7908% 5.9745%yes 2.2509% 1 / 63
2013-10-01 → 2014-01-01 -4.1277% 11.6102% 28.2073% 9.715%yes 1.7719% 1 / 63
2014-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 68 names held · selection: reselect · 0.0% in cash · turnover 6.3× · cost drag 0.63% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2013-01-01 → 2013-04-01 -11.2335% 6.9035% 25.3843% 12.3021%yes 1.9903% 2 / 59
2013-04-01 → 2013-07-01 -10.6479% 8.4763% 29.4678% 5.4322%yes 2.2431% 2 / 63
2013-07-01 → 2013-10-01 -13.4074% 7.4316% 30.7833% 5.2433%yes 2.3491% 1 / 63
2013-10-01 → 2014-01-01 -4.6699% 10.6137% 26.6811% 6.7438%yes 1.7613% 1 / 63
2014-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 76 names held · selection: reselect · 0.0% in cash · turnover 4.7× · cost drag 0.47%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2014-01-01 → 2014-04-01 -3.4289% 12.4913% 29.2196% 4.8337%yes 1.7573% 3 / 60
2014-04-01 → 2014-07-01 -1.3729% 14.2764% 32.5221% 3.2082%yes 1.6972% 6 / 62
2014-07-01 → 2014-10-01 -2.8093% 11.8802% 27.2064% -0.6606%yes 1.5827% 4 / 63
2014-10-01 → 2015-01-01 -4.2609% 7.3032% 19.0647% 13.5873%yes 1.2887% 4 / 63
2015-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 71 names held · selection: reselect · 0.0% in cash · turnover 6.6× · cost drag 0.66% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2014-01-01 → 2014-04-01 -4.4316% 10.3907% 25.8412% 0.9247%yes 1.5668% 3 / 60
2014-04-01 → 2014-07-01 -6.0761% 7.5186% 23.1777% 1.0021%yes 1.6543% 3 / 62
2014-07-01 → 2014-10-01 -3.2626% 10.3168% 24.3583% 2.4426%yes 1.5664% 2 / 63
2014-10-01 → 2015-01-01 -3.1367% 9.7093% 22.9063% 6.3743%yes 1.4375% 6 / 63
2015-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 58 names held · selection: reselect · 0.0% in cash · turnover 3.7× · cost drag 0.37%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2015-01-01 → 2015-04-01 -5.8054% 5.5232% 16.9926% 1.9782%yes 1.2328% 5 / 60
2015-04-01 → 2015-07-01 -2.0696% 9.5816% 22.6993% -1.3543%yes 1.3653% 3 / 62
2015-07-01 → 2015-10-01 -5.8289% 5.8326% 17.7239% -5.9516%no 1.35% 7 / 63
2015-10-01 → 2016-01-01 -8.7054% 3.1291% 15.2564% 0.7176%yes 1.4411% 5 / 63
2016-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 64 names held · selection: reselect · 0.0% in cash · turnover 6.6× · cost drag 0.66% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2015-01-01 → 2015-04-01 -3.5917% 8.5489% 20.8996% 0.5875%yes 1.3142% 4 / 60
2015-04-01 → 2015-07-01 -2.6525% 9.3712% 22.9632% 0.3367%yes 1.4236% 2 / 62
2015-07-01 → 2015-10-01 -3.4867% 8.5902% 20.9187% -7.4402%no 1.3501% 6 / 63
2015-10-01 → 2016-01-01 -6.8306% 6.0168% 19.2738% 0.3195%yes 1.4722% 4 / 63
2016-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 4 constructions · 78 names held · selection: reselect · 0.0% in cash · turnover 5.1× · cost drag 0.51% · 1 name dropped at load (79 selected, 78 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2016-01-01 → 2016-04-01 -8.8288% 2.7181% 14.4719% 5.181%yes 1.3426% 8 / 60
2016-04-01 → 2016-07-01 -6.2578% 6.207% 19.0161% -0.3326%yes 1.401% 2 / 63
2016-07-01 → 2016-10-01 -6.1798% 6.6517% 19.8799% 3.7683%yes 1.4142% 3 / 63
2016-10-01 → window end -7.1637% 5.5383% 20.0676% 1.0677%yes 1.5325% 1 / 62

Retreat

Portfolio book, rebalanced quarterly · 4 constructions · 69 names held · selection: reselect · 0.0% in cash · turnover 5.3× · cost drag 0.53% · regime gate active · 1 name dropped at load (70 selected, 69 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2016-01-01 → 2016-04-01 -7.219% 5.5274% 18.6198% -0.8906%yes 1.4637% 5 / 60
2016-04-01 → 2016-07-01 -6.3565% 5.5714% 17.7711% -1.3553%yes 1.3194% 3 / 63
2016-07-01 → 2016-10-01 -7.6075% 4.7813% 17.5243% 0.3151%yes 1.3459% 1 / 63
2016-10-01 → window end -8.3922% 4.3131% 18.8702% -0.1828%yes 1.606% 1 / 62

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 75 names held · selection: reselect · 0.0% in cash · turnover 4.4× · cost drag 0.44%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2017-01-01 → 2017-04-01 -11.9267% 2.4733% 20.8916% 3.2926%yes 1.9414% 1 / 61
2017-04-01 → 2017-07-01 -10.3173% 6.1343% 25.7267% 3.998%yes 2.1087% 1 / 62
2017-07-01 → 2017-10-01 -10.4212% 5.543% 24.471% 7.532%yes 2.1459% 2 / 62
2017-10-01 → 2018-01-01 -7.3692% 7.6956% 25.3201% 3.4499%yes 1.9092% 2 / 62
2018-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 72 names held · selection: reselect · 0.0% in cash · turnover 4.5× · cost drag 0.45% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2017-01-01 → 2017-04-01 -11.2699% 1.4637% 17.4574% 4.3941%yes 1.7339% 0 / 61
2017-04-01 → 2017-07-01 -7.9718% 5.6622% 21.4135% 1.6775%yes 1.7366% 1 / 62
2017-07-01 → 2017-10-01 -9.9328% 3.5877% 19.2347% 8.6174%yes 1.8077% 1 / 62
2017-10-01 → 2018-01-01 -8.7043% 5.5549% 22.1442% 5.5559%yes 1.932% 0 / 62
2018-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 69 names held · selection: reselect · 0.0% in cash · turnover 4.2× · cost drag 0.42%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2018-01-01 → 2018-04-01 -5.7923% 8.0322% 22.3434% 3.931%yes 1.6118% 6 / 60
2018-04-01 → 2018-07-01 -6.392% 6.3477% 19.4736% 8.8275%yes 1.3967% 5 / 63
2018-07-01 → 2018-10-01 -5.7716% 6.3987% 20.2256% 10.3252%yes 1.4485% 1 / 62
2018-10-01 → 2019-01-01 -2.3905% 9.8027% 23.6036% -20.7487%no 1.282% 19 / 62
2019-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 66 names held · selection: reselect · 0.0% in cash · turnover 5.2× · cost drag 0.52% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2018-01-01 → 2018-04-01 -6.5966% 6.506% 19.9971% -2.5401%yes 1.5746% 5 / 60
2018-04-01 → 2018-07-01 -4.7496% 9.0763% 23.4299% 6.4053%yes 1.4057% 4 / 63
2018-07-01 → 2018-10-01 -5.2602% 6.9641% 20.851% 9.2537%yes 1.5395% 1 / 62
2018-10-01 → 2019-01-01 -3.8432% 8.3351% 22.1405% -18.1913%no 1.3566% 14 / 62
2019-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 74 names held · selection: reselect · 0.0% in cash · turnover 5.3× · cost drag 0.53%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2019-01-01 → 2019-04-01 -8.8875% 3.22% 15.6094% 16.5654%no 1.4158% 3 / 60
2019-04-01 → 2019-07-01 -6.2448% 5.7172% 19.2887% -0.9547%yes 1.4329% 4 / 62
2019-07-01 → 2019-10-01 -4.942% 6.1569% 17.4065% -1.2489%yes 1.3031% 5 / 63
2019-10-01 → 2020-01-01 -8.2993% 4.8339% 18.4464% 9.0434%yes 1.6363% 0 / 63
2020-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 71 names held · selection: reselect · 0.0% in cash · turnover 6.1× · cost drag 0.61% · regime gate active

Projection accuracy, realized outcome fell inside the P5–P95 cone in 100.0% of 4 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
2019-01-01 → 2019-04-01 -8.7711% 4.9234% 19.1396% 7.7017%yes 1.5611% 1 / 60
2019-04-01 → 2019-07-01 -6.9038% 5.6032% 19.8783% -2.6301%yes 1.4998% 3 / 62
2019-07-01 → 2019-10-01 -5.7261% 5.3349% 16.5517% -0.7963%yes 1.2797% 3 / 63
2019-10-01 → 2020-01-01 -7.6004% 5.2904% 18.6102% 6.5481%yes 1.7922% 0 / 63
2020-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 4 constructions · 67 names held · selection: reselect · 0.0% in cash · turnover 3.5× · cost drag 0.35%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2020-01-01 → 2020-04-01 -7.8417% 6.8416% 25.5518% -21.9946%no 2.0833% 16 / 61
2020-04-01 → 2020-07-01 -21.6003% -2.803% 20.6518% 29.9649%no 2.4671% 11 / 62
2020-07-01 → 2020-10-01 -15.2782% 5.7349% 29.415% 11.9773%yes 2.4724% 1 / 63
2020-10-01 → window end -15.2082% 5.5172% 28.8087% 9.7631%yes 2.4139% 2 / 63

Retreat

Portfolio book, rebalanced quarterly · 4 constructions · 68 names held · selection: reselect · 0.0% in cash · turnover 3.7× · cost drag 0.37% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2020-01-01 → 2020-04-01 -8.2222% 5.9811% 24.0048% -13.6174%no 1.9654% 10 / 61
2020-04-01 → 2020-07-01 -20.4457% -0.8872% 23.6376% 12.4927%yes 2.5813% 1 / 62
2020-07-01 → 2020-10-01 -13.4148% 8.2087% 32.6085% 4.3689%yes 2.4023% 1 / 63
2020-10-01 → window end -14.6111% 8.2284% 34.3488% 5.1353%yes 2.5935% 0 / 63

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 67 names held · selection: reselect · 0.0% in cash · turnover 4.9× · cost drag 0.49%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2021-01-01 → 2021-04-01 -13.8531% 7.3283% 31.0555% 4.9504%yes 2.4015% 2 / 60
2021-04-01 → 2021-07-01 -13.8245% 8.0636% 35.6895% 9.0672%yes 2.2824% 1 / 62
2021-07-01 → 2021-10-01 -20.5499% 12.9436% 55.6688% -0.8171%yes 3.2486% 1 / 63
2021-10-01 → 2022-01-01 -13.7486% 10.4728% 38.4513% 8.4484%yes 2.2558% 1 / 63
2022-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 74 names held · selection: reselect · 0.0% in cash · turnover 5.0× · cost drag 0.5% · regime gate active · 1 name dropped at load (75 selected, 74 held across the window), weights renormalised onto the rest

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2021-01-01 → 2021-04-01 -15.0938% 8.1922% 34.8418% 2.3754%yes 2.7168% 0 / 60
2021-04-01 → 2021-07-01 -18.579% 11.2499% 52.2828% 6.1668%yes 3.0315% 0 / 62
2021-07-01 → 2021-10-01 -20.5569% 10.3202% 48.8404% -2.6375%yes 3.29% 0 / 63
2021-10-01 → 2022-01-01 -16.2244% 11.8652% 45.6246% 2.3688%yes 2.9476% 0 / 63
2022-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 54 names held · selection: reselect · 0.0% in cash · turnover 2.9× · cost drag 0.29%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2022-01-01 → 2022-04-01 -11.3417% 9.386% 37.5799% -8.0768%yes 2.1168% 5 / 61
2022-04-01 → 2022-07-01 -15.2498% 8.6648% 42.5334% -16.8232%no 2.5126% 8 / 61
2022-07-01 → 2022-10-01 -10.7683% 8.6867% 30.1082% -4.1251%yes 2.1853% 2 / 63
2022-10-01 → 2023-01-01 -12.2675% 6.4574% 29.3241% 13.9142%yes 2.1015% 5 / 62
2023-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 61 names held · selection: reselect · 0.0% in cash · turnover 4.0× · cost drag 0.4% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2022-01-01 → 2022-04-01 -13.7728% 10.7338% 45.4986% -7.0472%yes 2.5518% 0 / 61
2022-04-01 → 2022-07-01 -16.7223% 10.1368% 49.4334% -8.422%yes 2.7459% 1 / 61
2022-07-01 → 2022-10-01 -12.6144% 11.9588% 40.3517% 2.3483%yes 2.4685% 0 / 63
2022-10-01 → 2023-01-01 -14.3638% 9.2688% 39.621% 0.9841%yes 2.8167% 0 / 62
2023-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 67 names held · selection: reselect · 0.0% in cash · turnover 4.6× · cost drag 0.46%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2023-01-01 → 2023-04-01 -9.6493% 10.6061% 37.9324% 3.4604%yes 2.3292% 2 / 61
2023-04-01 → 2023-07-01 -10.8833% 5.1177% 25.8799% 5.0227%yes 1.918% 1 / 61
2023-07-01 → 2023-10-01 -14.4228% 4.9692% 28.9085% -6.8122%yes 2.4304% 0 / 62
2023-10-01 → 2024-01-01 -15.4278% 1.3471% 21.577% 15.6605%yes 2.0082% 0 / 62
2024-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 71 names held · selection: reselect · 0.0% in cash · turnover 4.8× · cost drag 0.48% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2023-01-01 → 2023-04-01 -11.4722% 12.2435% 45.4378% 1.182%yes 2.7967% 1 / 61
2023-04-01 → 2023-07-01 -9.6983% 6.5899% 27.7402% 5.9574%yes 1.971% 0 / 61
2023-07-01 → 2023-10-01 -14.1406% 4.3781% 27.0351% -5.7533%yes 2.2566% 0 / 62
2023-10-01 → 2024-01-01 -17.0875% 2.4724% 26.8027% 16.6774%yes 2.3801% 0 / 62
2024-01-01 no segment follows this rebalance, not scored

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

Rotate

Portfolio book, rebalanced quarterly · 4 constructions · 69 names held · selection: reselect · 0.0% in cash · turnover 5.1× · cost drag 0.51%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2024-01-01 → 2024-04-01 -19.3769% 4.5256% 32.3337% 18.6613%yes 2.8493% 0 / 60
2024-04-01 → 2024-07-01 -13.1452% 9.178% 37.4214% 1.3522%yes 2.6944% 1 / 62
2024-07-01 → 2024-10-01 -7.6291% 11.7601% 32.9736% 5.1315%yes 1.7643% 7 / 63
2024-10-01 → window end -8.7702% 7.1844% 24.1578% 0.4954%yes 1.6517% 1 / 63

Retreat

Portfolio book, rebalanced quarterly · 4 constructions · 64 names held · selection: reselect · 0.0% in cash · turnover 5.4× · cost drag 0.54% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2024-01-01 → 2024-04-01 -17.8733% 3.6023% 27.9458% 16.332%yes 2.5804% 0 / 60
2024-04-01 → 2024-07-01 -12.4495% 6.6087% 29.9643% -3.4122%yes 2.1692% 0 / 62
2024-07-01 → 2024-10-01 -8.0621% 9.3473% 28.0861% 5.7485%yes 1.6795% 4 / 63
2024-10-01 → window end -8.293% 9.0928% 27.8094% -0.9273%yes 1.8591% 1 / 63

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

Rotate

Portfolio book, rebalanced quarterly · 5 constructions · 50 names held · selection: reselect · 0.0% in cash · turnover 3.1× · cost drag 0.31%

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2025-01-01 → 2025-04-01 -4.9237% 8.5672% 21.6531% -4.6048%yes 1.4355% 9 / 59
2025-04-01 → 2025-07-01 -6.6561% 4.8521% 19.0389% 9.5707%yes 1.5746% 7 / 61
2025-07-01 → 2025-10-01 -6.9659% 6.4157% 20.2927% 4.5435%yes 1.4167% 1 / 63
2025-10-01 → 2026-01-01 -9.3961% 6.4525% 23.3137% 5.1183%yes 1.643% 2 / 63
2026-01-01 no segment follows this rebalance, not scored

Retreat

Portfolio book, rebalanced quarterly · 5 constructions · 62 names held · selection: reselect · 0.0% in cash · turnover 6.2× · cost drag 0.62% · regime gate active

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

Rebalance P5 Median P95 Realized In band VaR 95 (1d) Breaches
2025-01-01 → 2025-04-01 -5.2786% 10.6763% 26.485% -4.1996%yes 1.624% 5 / 59
2025-04-01 → 2025-07-01 -4.5069% 7.4549% 22.2281% 4.2071%yes 1.4914% 4 / 61
2025-07-01 → 2025-10-01 -5.7366% 9.9677% 26.5626% 3.9987%yes 1.5624% 0 / 63
2025-10-01 → 2026-01-01 -8.3993% 10.5957% 31.3362% 3.2481%yes 1.7674% 1 / 63
2026-01-01 no segment follows this rebalance, not scored
QuanterLab · Study 5c12e880a550 · compiled August 20, 2026. Point-in-time constituents and hypothesis-registration timestamps are enforced by the platform. This report is generated from the frozen study artifact and is reproducible from the ledger above. Educational research, not investment advice: every result on this page is simulated, and nothing here is a recommendation to buy or sell any security.

Run a study like this one

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

Reading the research needs no account; creating one is free. Follow the research and we'll tell you when the next study publishes.

As seen on Quantocracy

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