Steering Wheel, Not Brake - nineteen years of regime investing
Regime calls are a steering wheel, not a brake.
We walked two strategies through the same registered one-year windows on the nine original Select Sector SPDRs. One holds all nine, equal weight, quarterly rebalance, always fully invested. The other holds three at a time, routed between a risk-on book of technology, discretionary and financials, a cyclical book of industrials, materials and energy, and a defensive book of staples, utilities and health care, by a committee of all ten QuanterLab regime classifiers voting at shipped defaults. Neither strategy ever holds cash.
The rotation compounded 11.0 percent a year against 9.8 over nineteen paired windows, pooled Sharpe 0.675 against 0.591, ahead in twelve, and on those same nineteen paired windows it cleared SPY's total-return 10.4, fully deployed on every bar. The edge concentrates where regime information lives: 12.8 points in 2008 in the defensive book and 12.7 in 2021, with quiet rent paid in whipsaw years between. Section 5 breaks the pattern down window by window.
Two registered companion studies set the stage. The committee earned the caller's chair by beating the best single classifier, the VIX at bands 16 and 25, by 7.3 to 5.9 percent a year on an identical gated book. And a registered five-ladder grid priced the conventional use of regime calls, stepping exposure down into cash: return tracked exposure almost monotonically, every de-risking setting taxed the result, and none beat staying deployed.
The strategies differ across twenty-six recorded settings, concentration among them, and are compared as complete designs; the itemized register sits in Appendix A2. The nearest reference for concentration alone, a momentum-picked three of the same nine funds without regime routing, compounded 9.3 percent under the dial grid's twenty-window protocol.
Every component here ships in QuanterLab today: the ten classifiers, the voting ensemble, the Strategy Router, the named sector books, and the walk-forward machinery that registered and scored all of it. This paper is that machinery, demonstrated.
1 Methodology
Both strategies walk the same nineteen one-year out-of-sample windows anchored each January from 2006, each window's hypothesis registered and hashed before it is scored. The control holds all nine Select Sector SPDRs at equal weight, rebalanced quarterly. The rotation runs three fixed lanes, one per book, behind QuanterLab's Strategy Router: each day the committee's label picks the active book, acted one bar after the close that produced it, with the router's shipped hysteresis and position-aware switch costs. The committee is the platform's regime ensemble node seating all ten classifiers at shipped defaults, majority vote; the four fitted members refit monthly on expanding windows that end at each refit date. Books are a fixed named preset, three funds each, equal weight inside the active book.
Returns are total returns with distributions credited on ex-dates, against SPY rebuilt to total return; every trade pays ten basis points per one-way traded dollar. Prices come from the platform's market-data layer, clipped at each window's anchor so nothing later than the anchor reaches any estimate. The paired comparison, window statistics, bootstrap and figures are produced by the platform's compiler from the frozen per-window records; Appendix A2 prints the registration audit, one row per window with registration and run timestamps. The two companion results quoted in Sections 6 and 7 come from their own frozen records under the same discipline: the committee walk pairs twenty windows, and the dial grid compounds twenty windows per ladder under its registered protocol.
2 Results
2.1 Headline
2.2 Per-step results
| # | Out-of-sample window | Hold all nine SR | The regime turn SR |
|---|---|---|---|
| 1 | 2006-01-03 → 2006-12-29 | 1.37 | 1.22 |
| 2 | 2007-01-03 → 2007-12-31 | 0.69 | 0.31 |
| 3 | 2008-01-02 → 2008-12-31 | -0.93 | -0.73 |
| 4 | 2009-01-02 → 2009-12-31 | 0.93 | 0.86 |
| 5 | 2010-01-04 → 2010-12-31 | 0.83 | 0.97 |
| 6 | 2011-01-03 → 2011-12-30 | 0.22 | -0.04 |
| 7 | 2012-01-03 → 2012-12-31 | 1.09 | 0.93 |
| 8 | 2013-01-02 → 2013-12-31 | 2.33 | 2.36 |
| 9 | 2014-01-02 → 2014-12-31 | 1.30 | 1.21 |
| 10 | 2015-01-02 → 2015-12-31 | -0.02 | -0.11 |
| 11 | 2016-01-04 → 2016-12-30 | 1.22 | 1.20 |
| 12 | 2017-01-03 → 2017-12-29 | 2.75 | 2.73 |
| 13 | 2018-01-02 → 2018-12-31 | -0.39 | 0.12 |
| 14 | 2019-01-02 → 2019-12-31 | 2.18 | 1.66 |
| 15 | 2020-01-02 → 2020-12-31 | 0.47 | 0.13 |
| 16 | 2021-01-04 → 2021-12-31 | 2.21 | 2.49 |
| 17 | 2022-01-03 → 2022-12-30 | -0.17 | -0.20 |
| 18 | 2023-01-03 → 2023-12-29 | 1.20 | 0.92 |
| 19 | 2024-01-02 → 2024-12-31 | 1.46 | 1.47 |
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 rHold all nine − rThe regime turn 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, this design has no recorded search to correct 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.
In the table: Arm A = Hold all nine · Arm B = The regime turn.
| # | Window | Paired bars | Arm A | Arm B | Δ | Leader |
|---|---|---|---|---|---|---|
| 1 | 2006-01-04 → 2006-12-29 | 250 | +14.0% | +16.2% | -2.2 pp | Arm B |
| 2 | 2007-01-04 → 2007-12-31 | 250 | +9.8% | +3.4% | +6.5 pp | Arm A |
| 3 | 2008-01-03 → 2008-12-31 | 252 | -34.2% | -21.4% | -12.8 pp | Arm B |
| 4 | 2009-01-05 → 2009-12-31 | 251 | +23.7% | +15.7% | +8.0 pp | Arm A |
| 5 | 2010-01-05 → 2010-12-31 | 251 | +14.1% | +20.4% | -6.3 pp | Arm B |
| 6 | 2011-01-04 → 2011-12-30 | 251 | +2.4% | -3.5% | +5.9 pp | Arm A |
| 7 | 2012-01-04 → 2012-12-31 | 249 | +13.2% | +13.6% | -0.4 pp | Arm B |
| 8 | 2013-01-03 → 2013-12-31 | 251 | +27.7% | +31.0% | -3.3 pp | Arm B |
| 9 | 2014-01-03 → 2014-12-31 | 251 | +14.5% | +14.8% | -0.3 pp | Arm B |
| 10 | 2015-01-05 → 2015-12-31 | 251 | -1.4% | -3.0% | +1.5 pp | Arm A |
| 11 | 2016-01-05 → 2016-12-30 | 251 | +15.7% | +15.9% | -0.2 pp | Arm B |
| 12 | 2017-01-04 → 2017-12-29 | 250 | +18.3% | +25.2% | -6.9 pp | Arm B |
| 13 | 2018-01-03 → 2018-12-31 | 250 | -6.8% | +0.6% | -7.4 pp | Arm B |
| 14 | 2019-01-03 → 2019-12-31 | 251 | +27.6% | +23.1% | +4.5 pp | Arm A |
| 15 | 2020-01-03 → 2020-12-31 | 252 | +10.7% | -1.0% | +11.7 pp | Arm A |
| 16 | 2021-01-05 → 2021-12-31 | 251 | +30.7% | +43.4% | -12.7 pp | Arm B |
| 17 | 2022-01-04 → 2022-12-30 | 250 | -5.5% | -5.3% | -0.2 pp | Arm B |
| 18 | 2023-01-04 → 2023-12-29 | 249 | +14.8% | +13.8% | +0.9 pp | Arm A |
| 19 | 2024-01-03 → 2024-12-31 | 251 | +15.7% | +23.3% | -7.6 pp | Arm B |
Paired Sharpe of the difference track: -0.12 · block bootstrap (2000 paths, block 10, seed 1234): P(Hold all nine beats The regime turn) = 28.4%.
Window win-rate. Hold all nine led 7 of 19 windows (36.8%), The regime turn led 12 , and the mean window gap of -1.12 pp points the same way. Widest single window: 2008 at -12.8 pp.
| Period | Windows | Hold all nine | The regime turn | Mean gap | Hold all nine led |
|---|---|---|---|---|---|
| All windows | 19 | +10.79% | +11.91% | -1.12 pp | 7/19 |
| Before 2016 | 10 | +8.38% | +8.72% | -0.34 pp | 4/10 |
| 2016 onward | 9 | +13.47% | +15.44% | -1.98 pp | 3/9 |
3 The circuit
The strategy is a circuit of platform primitives, frozen when the study is registered. Below is the circuit as wired on the canvas, the objective it encodes and how the search runs through it, followed by the mathematics each primitive actually computes, the same formulas the execution engine runs. The complete parameterisation is preserved in the study ledger (Appendix A).
A COMPARATIVE study: Hold all nine vs The regime turn, walked on the same registered out-of-sample windows. Hold all nine: Sector_spdrs, selected by statistical / factor criteria, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor: whatever the design estimates from history is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. The regime turn: A regime-routed strategy-of-strategies allocating one book across 3 lanes, (A) sector_spdrs · a re-selected ranked basket; (B) sector_spdrs · a re-selected ranked basket; (C) sector_spdrs · a re-selected ranked basket, routed by the wired regime classifiers, forward-tested out-of-sample from the anchor. The arms differ in: 26 places: Top-N #1, n: 9 → 3; Universe #1, sector_book: all → risk_on; HMM (returns), added in The regime turn; SPY DMA Regime, added in The regime turn; Universe, added in The regime turn; Universe, added in The regime turn; HMM (vol), added in The regime turn; Breadth Regime, added in The regime turn; Price Loader, added in The regime turn; Price Loader, added in The regime turn; Correlation Regime, added in The regime turn; GMM Regime, added in The regime turn; Momentum 12-1, added in The regime turn; Momentum 12-1, added in The regime turn; Transaction Cost, added in The regime turn; Transaction Cost, added in The regime turn; GARCH Vol Regime, added in The regime turn; Turbulence Regime, added in The regime turn; Top-N, added in The regime turn; Top-N, added in The regime turn; Macro / Rates Regime, added in The regime turn; VIX Regime, added in The regime turn; Portfolio Forward Test, added in The regime turn; Portfolio Forward Test, added in The regime turn; Regime Ensemble, added in The regime turn; Strategy Router, added in The regime turn. NOTE: with more than one difference, an out-of-sample gap cannot be attributed to any single change. The contrast under test: whether Hold all nine generates better risk-adjusted returns than The regime turn over the identical out-of-sample windows.
Envelopes show counts, ratios, dates, and the parameters the author chose. Full price and per-name data series are not republished: the underlying market data is licensed to QuanterLab. Point figures quoted in the prose, a named holding's return over a stated span, are summary facts derived from public market prices, not redistributed series.
The objective and the search
Hold all nine
| Universe | sector_spdrs index constituents. |
|---|---|
| Selection | metric across Momentum (12-1) → highest 9 kept by Momentum (12-1). |
| Validation & out-of-sample | portfolio forward test (buy-and-hold book) (1y horizon from the anchor, quarterly rebalance); overlays: Transaction Cost. |
The regime turn
| Universe | 3 strategy lanes over sector_spdrs (see Strategy lanes). |
|---|---|
| Selection | metric across Momentum (12-1), Momentum (12-1), Momentum (12-1) → highest 3 kept by Momentum (12-1). |
| Validation & out-of-sample | portfolio forward test (buy-and-hold book) (1y horizon from the anchor, quarterly rebalance); regime-routed allocation across the wired strategies; overlays: Transaction Cost. |
| Regime layer | macro regime detected via GARCH(1,1) conditional vol percentile, HMM on multi-window returns, HMM on realized vol, % of names above their 200-DMA, average cross-sectional correlation, Gaussian-mixture vol/return detector, macro credit + rates backdrop, Kritzman financial turbulence, SPY 200-DMA trend, live VIX threshold; combined via majority vote. |
| Router lanes | (A) sector_spdrs · a re-selected ranked basket; (B) sector_spdrs · a re-selected ranked basket; (C) sector_spdrs · a re-selected ranked basket. |
What differs between the arms, 26 differences; more than one thing changes at once:
- paramTop-N #1, n: 9 → 3
- paramUniverse #1, sector_book: all → risk_on
- addedHMM (returns), added in The regime turn
- and 23 more; the complete itemized list is preserved verbatim in the registration record, Appendix A2.
Reader's note. With 26 simultaneous differences, 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, 18 primitives, formulas and parity notes
3.1 Universe
The starting set of tickers, resolved point-in-time from the index change-log, so names delisted or removed later still compete on the dates they traded.
Before any math, you need a list of stocks. An index preset (S&P 500, Nasdaq-100, Dow 30) is reconstructed as it stood ON your anchor date by replaying the historical add/drop change-log backwards, so a 2018 backtest sees the 2018 membership, not today's winners.
Start from today's constituents and un-apply every membership change after the anchor t:
\mathcal{U}(t) = \mathcal{U}_{\text{now}} \;\ominus\; \{\text{adds after } t\} \;\oplus\; \{\text{drops after } t\}3.2 Price Loader
Bulk OHLCV fetch for the whole universe, point-in-time, no future bars.
Momentum, volatility, trend, every price-based metric needs history. This loads open/high/low/close/volume for all names in parallel, clipped so nothing after the anchor can leak in. The lookback window is derived automatically from the deepest metric you wired.
It loads exactly enough history for the hungriest downstream metric plus a warm-up buffer:
W = \max_k(\text{lookback}_k) + \text{buffer}, \qquad \text{bars} \le \text{anchor } t3.3 Filter Mom 12 1
Classic 12–1 momentum, last year's return, skipping the most recent month.
The workhorse of cross-sectional momentum. Measure the return from 12 months ago to 1 month ago; the 1-month skip avoids the well-known short-term reversal effect that would otherwise contaminate the signal.
m_{12\text{–}1} = \frac{P_{t-21}}{P_{t-252}} - 13.4 Top N
Keep the best N, rank, then cut.
Sort the survivors by the Composite Σ (or, if none is wired, the last metric in the chain) and keep the top (or bottom) N. The final narrowing from a scored list to a committed basket.
\text{Top-}N = \{\, i : \operatorname{rank}(\text{score}_i) \le N \,\}3.5 Portfolio Backtest
Replay the portfolio forward, rebalanced, point-in-time, 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.
E_t = E_{t-1}\big(1 + \mathbf w_{t}^{\top}\mathbf r_t - \text{costs}_t\big)\text{DD}_t = \frac{E_t}{\max_{\tau\le t}E_\tau} - 1, \qquad \text{MaxDD} = \min_t \text{DD}_t\text{charge}_t \;=\; \text{loan}_t \cdot \frac{\text{spread}}{252}, \qquad \text{loan}_t = \begin{cases}\max(0,\,-\text{cash}_t) & \text{institutional (netted)}\\ \max(0,\,\text{long MV}_t - E_t) & \text{retail (no netting)}\end{cases}3.6 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.
\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^-}\rvert3.7 Portfolio Forward Autopsy
The post-mortem, where the forward test’s return actually came from.
Runs after the Portfolio Forward Test and dissects its realized path: per-rebalance contributions, winners and losers, exposure and cash periods, and how the realized route compares to what the risk cones projected. It computes nothing new about the future, it explains the past the book just lived.
Depth I–IV: headline attribution, per-segment breakdown, per-name contributions, and the calibration ledger (projected cone vs realized, segment by segment). In a study, this is the node that fills the appendices.
3.8 Regime Ensemble
Combine several classifiers into one majority verdict.
Blends multiple regime classifiers into a single per-bar label by majority (equal vote) or explicit weights. Equal votes stay equal, a 3-way tie resolves to the middle severity, never to whichever was wired first.
\text{regime}_t = \operatorname{round}\!\Big(\frac{\sum_m \omega_m\,\text{sev}(c_{m,t})}{\sum_m \omega_m}\Big)3.9 Hmm Returns
Hidden Markov model on returns, let the data find the regimes.
A 3-state Gaussian HMM treats the regime as a hidden state that emits returns, learning the states and the transitions between them from multi-horizon returns. States are then labelled calm / choppy / stressed by their mean-vs-volatility profile.
r_t \mid (z_t=k) \sim \mathcal N(\mu_k,\,\sigma_k^2), \qquad P(z_t=j\mid z_{t-1}=i)=A_{ij}3.10 Hmm Vol
Hidden Markov model on volatility, regimes defined by turbulence.
Same HMM machinery, but the observed features are realized volatilities (short, long) and the VIX term-structure ratio. States are sorted by volatility: lowest = calm, highest = stressed.
\mathbf v_t = \big(\sigma_t^{\text{short}},\,\sigma_t^{\text{long}},\,\tfrac{\text{VIX}}{\text{VIX3M}}\big), \quad \mathbf v_t\mid(z_t=k)\sim\mathcal N(\boldsymbol\mu_k,\boldsymbol\Sigma_k)3.11 Regime Gmm
Gaussian mixture, cluster days into regimes, count chosen by BIC.
Treats each day as a point in (return, volatility) space and fits a Gaussian mixture; the Bayesian Information Criterion picks how many regimes the data actually support. States are vol-sorted and short runs de-noised. The rigorous detector the Per-Regime and Regression optimizers were designed around.
p(\mathbf x) = \sum_{k=1}^{K}\pi_k\,\mathcal N(\mathbf x\mid\boldsymbol\mu_k,\boldsymbol\Sigma_k), \qquad K^* = \arg\min_K \text{BIC}(K)3.12 Garch Regime
GARCH(1,1), model volatility clustering, classify by its level.
Volatility comes in bursts. A GARCH(1,1) model captures that clustering and produces a conditional volatility each day; the regime is set by where today's conditional vol sits in its own history, adaptive per asset (crypto's "calm" is noisier than the S&P's).
\sigma_t^2 = \omega + \alpha\,\varepsilon_{t-1}^2 + \beta\,\sigma_{t-1}^23.13 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.
\text{regime} = \begin{cases}\text{calm} & \text{VIX} < c\\[2pt]\text{stressed} & \text{VIX} \ge s\\[2pt]\text{choppy} & \text{otherwise}\end{cases}3.14 Spy Dma Regime
Price vs the 200-day average, the classic bull/bear line.
Looks at the benchmark relative to its 200-day moving average and the slope of that average. Above and rising is calm (bull); below and falling is stressed (bear); mixed is choppy.
P > \text{SMA}_{200}\ \wedge\ \tfrac{d}{dt}\text{SMA}_{200} > 0 \;\Rightarrow\; \text{calm}3.15 Regime Breadth
Market breadth, how many names are actually participating?
The fraction of stocks above their own moving average. Broad participation is healthy (calm); a rally carried by a handful of names with most below their average is fragile (stressed).
\text{breadth}_t = \frac{1}{N}\sum_{i=1}^{N}\mathbf 1\!\big[P_{i,t} > \text{MA}_i\big]3.16 Regime Correlation
Average pairwise correlation, diversification breaks in crises.
When markets panic, everything moves together. The mean pairwise correlation across the universe spikes in stress and relaxes in calm, a direct read on whether diversification is currently working.
\bar\rho_t = \frac{2}{N(N-1)}\sum_{i<j}\rho_{ij}(t)3.17 Regime Turbulence
Financial turbulence, today's returns vs their normal shape.
Kritzman–Li turbulence: the Mahalanobis distance of today's cross-section of returns from its historical mean, accounting for the normal correlation structure. Unusual magnitudes AND unusual correlations both light it up.
d_t = \sqrt{(\mathbf r_t - \boldsymbol\mu)^{\top}\,\boldsymbol\Sigma^{-1}\,(\mathbf r_t - \boldsymbol\mu)}3.18 Regime Macro
The macro backdrop, credit and rates, not equity vol.
A different lens: credit stress (high-yield vs investment-grade) and the rates curve (long vs short Treasuries). Widening credit and a flattening curve signal a risk-off macro regime, blended into a stress percentile.
\text{stress} = z\!\Big(\tfrac{\text{HYG}}{\text{LQD}}\Big)_{\downarrow} \;+\; z\big(\text{IEF}-\text{SHY slope}\big)_{\downarrow}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 | Steps | Rebalances | In band | Coverage | Expected | VaR days | Breach rate | Expected |
|---|---|---|---|---|---|---|---|---|
| Hold all nine | 19 | 90 | 69 / 76 | 90.8% ±3.32 | 90.0% | 4705 | 5.61% ±0.336 | 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
Rotation beat holding, and beat the index, at full deployment: 11.0 percent a year against 9.8 over the paired windows, pooled Sharpe 0.675 against 0.591, against SPY's 10.4 with dividends on the same nineteen windows, without a single bar out of the market.
The edge has a signature: it concentrates at turning points. Hold-all posts the higher Sharpe in thirteen of nineteen individual windows, while the rotation takes the compounded race on the strength of a few decisive years, 12.8 points in 2008, 12.7 in 2021, 7.4 in 2018, 7.6 in 2024, against 11.7 returned in the 2020 whipsaw. That profile, quietly close most years and decisively ahead when the market changes character, is what regime information buys, and it is why compounding rewards it.
The committee earned its chair in a registered companion walk: 7.3 against 5.9 percent a year over the best single classifier on an identical gated book, ahead in fourteen of twenty windows, with a 4.1 percent bootstrap probability for the single voice. Ten disagreeing opinions beat the best one opinion.
The dial grid closed the alternative: five exposure ladders, registered up front, and compounded return tracked mean exposure almost monotonically, 5.6 percent a year at 0.62 average exposure up to 9.3 ungated. The all-out ladder produced the record's sharpest single exhibit, a 2008 of exactly zero while the market lost 36, and still lost the twenty-year race to staying deployed.
One sentence carries the record: regime labels price risk and direction, not future return, so the winning use is re-aiming a fully deployed book. Steering cleared the index. Braking never did.
5.2 Interpretation
The arc behind this paper is four registered studies long, all on the record. The published Regime Atlas measured all ten classifiers over twenty years: their labels forecast volatility and drawdown, and their disagreements cluster exactly at turning points. The committee walk then settled who calls the regime, ten voices over the best single voice, because a lone gauge sits permanently half-worried while a majority stays deployed in ordinary weather and turns faster in genuine trouble. The dial grid priced the instinctive use of such calls, de-risking into cash, and found a tax at every setting. What remained was the design this paper registers: keep the deployment, spend the information on direction. The mechanism favors it structurally. A de-risked book must be right twice, on the exit and on the re-entry, and re-entry is what volatility-shaped signals systematically miss. A rotated book is never out, so it needs only the direction of its tilt to be right more often than not, and across nineteen windows of sector prints it was.
Everything above runs on shipped QuanterLab machinery. The ten regime classifiers, from hidden Markov models and GARCH to breadth, correlation and turbulence, are canvas nodes at the same defaults measured here. The voting ensemble seats all ten. The Strategy Router allocates across the three books per bar with position-aware switch costs and hysteresis. The sector books are a fixed, named preset, the street's business-cycle convention as it stands. And the registered walk-forward pipeline, hypotheses registered before each window is scored, twenty-six differences itemized at registration, is the platform's standard workflow, the same one a user gets for their own designs. Wire the same canvas, walk your own windows, and the paper you are reading is the workflow you would be using.
No search record exists for this study: the design was not promoted from a recorded evolving search, so the number of alternatives tried before it is UNKNOWN, which is a different fact from one. No count of alternatives tried is claimed, and nothing is corrected for a search that was never recorded; the number that stands is the raw out-of-sample result plus this disclosure. The out-of-sample windows are historical.
6 The committee earned its chair first
7 The dial, priced at five settings
| Setting | CAGR | Worst window | Worst drawdown | Mean Sharpe | Mean exposure | Windows > house |
|---|---|---|---|---|---|---|
| 100/70/40 house | 7.13 | -12.5 | -18.9 | 0.705 | 0.775 | 0 |
| 100/100/0 halt | 6.96 | -10.3 | -19.8 | 0.658 | 0.725 | 8 |
| 100/50/0 aggressive | 5.56 | -10.0 | -15.6 | 0.588 | 0.625 | 5 |
| 100/85/60 gentle | 7.93 | -18.4 | -26.9 | 0.755 | 0.86 | 13 |
| 90/70/50 never-full | 6.93 | -15.5 | -22.8 | 0.738 | 0.75 | 9 |
| Ungated momentum rotation | 9.32 | -29.5 | ||||
| SPY total return | 10.45 | -36.2 |
5.3 Limitations
Scope is sector-level: nine funds, one machine, one committee, and the conclusions claim nothing about stock-level books, other universes, or other decades. The two strategies differ across twenty-six recorded settings, itemized in Appendix A2, with concentration, nine names against three, the largest; no arm isolating a single ingredient was run. The rotation's edge is a 72 percent bootstrap lean. A twentieth window, 2025, sits outside the paired statistics under the compiler's daily-alignment rule and ran against the rotation; with it, the twenty-cell compounding reads 10.4 against 9.8. The projection-calibration section covers the hold-all arm only, as the router emits no per-rebalance cones. The committee runs all ten members at shipped defaults, including the macro classifier the Atlas measured weakest, since the seated committee is fixed at registration. Costs are ten basis points per one-way traded dollar; router switch costs and hysteresis are shipped defaults. A third chartered experiment, regime-triggered discretionary entries, was not run. Results are simulated, and nothing here is investment advice.
References
- Gelman, A., & Loken, E. (2013). The garden of forking paths: Why multiple comparisons can be a problem, even when there is no “fishing expedition.” Working paper, Columbia University.
- Harvey, C. R., Liu, Y., & Zhu, H. (2016). … and the Cross-Section of Expected Returns. Review of Financial Studies, 29(1), 5–68. doi:10.1093/rfs/hhv059
- Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal, 58(4), 36–52. doi:10.2469/faj.v58.n4.2453
Appendix A Reproducibility in QuanterLab
Each step is backed by a frozen run report. The study is re-derivable from the ledger below.
| # | Commit | Report | Anchor | OOS window |
|---|---|---|---|---|
| 1 | fbafdddcc0a3 | 1446 | 2006-01-01 | 2006-01-03 → 2006-12-29 |
| 2 | 9ab2f8fe5d44 | 1447 | 2007-01-01 | 2007-01-03 → 2007-12-31 |
| 3 | 9a328c34fb89 | 1448 | 2008-01-01 | 2008-01-02 → 2008-12-31 |
| 4 | 128f8b83eaa5 | 1449 | 2009-01-01 | 2009-01-02 → 2009-12-31 |
| 5 | f7d22bdf8d23 | 1450 | 2010-01-01 | 2010-01-04 → 2010-12-31 |
| 6 | 5c8ee033048c | 1451 | 2011-01-01 | 2011-01-03 → 2011-12-30 |
| 7 | 6a81a451d6ff | 1452 | 2012-01-01 | 2012-01-03 → 2012-12-31 |
| 8 | 2ac07d5d578b | 1453 | 2013-01-01 | 2013-01-02 → 2013-12-31 |
| 9 | a7255e39e198 | 1454 | 2014-01-01 | 2014-01-02 → 2014-12-31 |
| 10 | ade18ee7c65a | 1455 | 2015-01-01 | 2015-01-02 → 2015-12-31 |
| 11 | bf15a9acfbc9 | 1456 | 2016-01-01 | 2016-01-04 → 2016-12-30 |
| 12 | f72532589bef | 1457 | 2017-01-01 | 2017-01-03 → 2017-12-29 |
| 13 | cfd90cb463b0 | 1458 | 2018-01-01 | 2018-01-02 → 2018-12-31 |
| 14 | 966c2f8a4484 | 1459 | 2019-01-01 | 2019-01-02 → 2019-12-31 |
| 15 | d66a9a202c65 | 1461 | 2020-01-01 | 2020-01-02 → 2020-12-31 |
| 16 | c577625adb7b | 1462 | 2021-01-01 | 2021-01-04 → 2021-12-31 |
| 17 | d507671b856f | 1463 | 2022-01-01 | 2022-01-03 → 2022-12-30 |
| 18 | 2834bfefd243 | 1464 | 2023-01-01 | 2023-01-03 → 2023-12-29 |
| 19 | e01f1aea34ce | 1465 | 2024-01-01 | 2024-01-02 → 2024-12-31 |
Appendix A2 Registration record
What this record does and does not establish. Every window in this study is historical: the data existed before the study began, so this is sequential sealing on past windows, not pre-registration in the clinical-trial sense, and no procedure could make it so. What the platform does enforce is order, each step's specification was frozen and hashed before that step was scored, and the walk cannot advance past a step that was never run or close one with a result registered for a different window. The two timestamp columns below are the evidence: read them together and each seal precedes its own run, and each run precedes the next seal. A study whose seals all post-date its runs would show it here. Wall-clock spacing between seals varies with the author's schedule and queue latency; the ordering, not the tempo, is the claim.
“A COMPARATIVE study: Hold all nine vs The regime turn, walked on the same registered out-of-sample windows. Hold all nine: Sector_spdrs, selected by statistical / factor criteria, rebalanced quarterly across the selected basket, and run out-of-sample from the anchor: whatever the design estimates from history is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. The regime turn: A regime-routed strategy-of-strategies allocating one book across 3 lanes, (A) sector_spdrs · a re-selected ranked basket; (B) sector_spdrs · a re-selected ranked basket; (C) sector_spdrs · a re-selected ranked basket, routed by the wired regime classifiers, forward-tested out-of-sample from the anchor. The arms differ in: 26 places: Top-N #1, n: 9 → 3; Universe #1, sector_book: all → risk_on; HMM (returns), added in The regime turn; SPY DMA Regime, added in The regime turn; Universe, added in The regime turn; Universe, added in The regime turn; HMM (vol), added in The regime turn; Breadth Regime, added in The regime turn; Price Loader, added in The regime turn; Price Loader, added in The regime turn; Correlation Regime, added in The regime turn; GMM Regime, added in The regime turn; Momentum 12-1, added in The regime turn; Momentum 12-1, added in The regime turn; Transaction Cost, added in The regime turn; Transaction Cost, added in The regime turn; GARCH Vol Regime, added in The regime turn; Turbulence Regime, added in The regime turn; Top-N, added in The regime turn; Top-N, added in The regime turn; Macro / Rates Regime, added in The regime turn; VIX Regime, added in The regime turn; Portfolio Forward Test, added in The regime turn; Portfolio Forward Test, added in The regime turn; Regime Ensemble, added in The regime turn; Strategy Router, added in The regime turn. NOTE: with more than one difference, an out-of-sample gap cannot be attributed to any single change. The contrast under test: whether Hold all nine generates better risk-adjusted returns than The regime turn over the identical out-of-sample windows.”
The same hypothesis was registered independently at every step, hashed before each step's out-of-sample window was scored:
| # | Anchor | Registered at (UTC) | Run completed (UTC) |
|---|---|---|---|
| 1 | 2006-01-01 | 2026-08-21 20:02:40 | 2026-08-21 20:08:52 |
| 2 | 2007-01-01 | 2026-08-21 20:08:55 | 2026-08-21 20:14:26 |
| 3 | 2008-01-01 | 2026-08-21 20:14:29 | 2026-08-21 20:15:29 |
| 4 | 2009-01-01 | 2026-08-21 20:15:32 | 2026-08-21 20:20:18 |
| 5 | 2010-01-01 | 2026-08-21 20:20:21 | 2026-08-21 20:24:51 |
| 6 | 2011-01-01 | 2026-08-21 20:24:54 | 2026-08-21 20:29:25 |
| 7 | 2012-01-01 | 2026-08-21 20:29:28 | 2026-08-21 20:33:59 |
| 8 | 2013-01-01 | 2026-08-21 20:34:02 | 2026-08-21 20:38:17 |
| 9 | 2014-01-01 | 2026-08-21 20:38:20 | 2026-08-21 20:42:21 |
| 10 | 2015-01-01 | 2026-08-21 20:42:24 | 2026-08-21 20:46:25 |
| 11 | 2016-01-01 | 2026-08-21 20:46:28 | 2026-08-21 20:50:31 |
| 12 | 2017-01-01 | 2026-08-21 20:50:34 | 2026-08-21 20:54:35 |
| 13 | 2018-01-01 | 2026-08-21 20:54:38 | 2026-08-21 20:58:38 |
| 14 | 2019-01-01 | 2026-08-21 20:58:42 | 2026-08-21 21:03:27 |
| 15 | 2020-01-01 | 2026-08-21 21:03:30 | 2026-08-21 21:37:52 |
| 16 | 2021-01-01 | 2026-08-21 21:37:55 | 2026-08-21 21:45:41 |
| 17 | 2022-01-01 | 2026-08-21 21:45:44 | 2026-08-21 21:51:30 |
| 18 | 2023-01-01 | 2026-08-21 21:51:33 | 2026-08-21 21:55:35 |
| 19 | 2024-01-01 | 2026-08-21 21:55:39 | 2026-08-21 21:59:24 |
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
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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.45% of 247 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2006-01-01 | -5.707% | 2.4512% | 12.1639% | 2.1175% | yes | 1.1192% | 2 / 61 |
| 2006-04-01 | -6.4993% | 2.1351% | 11.6241% | -0.7578% | yes | 1.1244% | 7 / 62 |
| 2006-07-01 | -6.6568% | 2.0816% | 11.6961% | 2.7703% | yes | 1.1189% | 1 / 62 |
| 2006-10-01 | -6.3115% | 2.4328% | 12.0512% | 6.7598% | yes | 1.102% | 1 / 62 |
| 2007-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy · 3 switches · switch cost 8.0 bps · cost drag 0.43%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
Step 2 · 2007-01-03 → 2007-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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 12.96% of 247 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2007-01-01 | -6.0626% | 2.8197% | 11.6155% | 2.4593% | yes | 1.0901% | 3 / 60 |
| 2007-04-01 | -6.1702% | 2.4969% | 12.0222% | 5.2159% | yes | 1.0967% | 5 / 62 |
| 2007-07-01 | -5.3414% | 3.175% | 12.5139% | 0.7516% | yes | 1.1025% | 11 / 62 |
| 2007-10-01 | -7.1678% | 3.0155% | 13.2748% | -3.3549% | yes | 1.1986% | 13 / 63 |
| 2008-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 4 switches · switch cost 8.0 bps · cost drag 0.59%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 3 · 2008-01-02 → 2008-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 4 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.2× · cost drag 0.12%
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 18.88% of 249 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2008-01-01 | -8.201% | 2.553% | 13.4118% | -7.0621% | yes | 1.3602% | 10 / 60 |
| 2008-04-01 | -10.9533% | 1.5455% | 14.4695% | -3.9817% | yes | 1.5237% | 6 / 63 |
| 2008-07-01 | -12.1311% | 0.7638% | 14.1686% | -9.609% | yes | 1.7487% | 8 / 63 |
| 2008-10-01 | -14.7349% | -0.22% | 15.1634% | -21.3985% | no | 1.8908% | 23 / 63 |
Regime router, 3 lanes · regimes: stressed · 1 switches · switch cost 8.0 bps · cost drag 0.11%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| stressed | 0.0 | 0.0 | 1.0 |
Step 4 · 2009-01-02 → 2009-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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.84% of 248 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2009-01-01 | -24.731% | -3.834% | 20.1416% | -13.7754% | yes | 2.7305% | 11 / 60 |
| 2009-04-01 | -27.3699% | -5.8638% | 22.1944% | 14.5539% | yes | 3.1599% | 1 / 62 |
| 2009-07-01 | -28.0814% | -4.23% | 24.3611% | 14.5442% | yes | 3.1599% | 0 / 63 |
| 2009-10-01 | -26.9611% | -2.5187% | 26.844% | 8.4788% | yes | 3.1599% | 0 / 63 |
| 2010-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 3 switches · switch cost 8.0 bps · cost drag 0.43%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 5 · 2010-01-04 → 2010-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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.21% of 248 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2010-01-01 | -26.6651% | -2.7197% | 25.7516% | 2.9531% | yes | 3.1701% | 0 / 60 |
| 2010-04-01 | -24.708% | -1.7536% | 28.3975% | -12.2944% | yes | 3.1648% | 3 / 62 |
| 2010-07-01 | -26.9969% | -2.753% | 26.318% | 11.7541% | yes | 3.4654% | 0 / 63 |
| 2010-10-01 | -25.0797% | -0.1812% | 29.6799% | 9.451% | yes | 3.4654% | 0 / 63 |
| 2011-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy · 5 switches · switch cost 8.0 bps · cost drag 0.75%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
Step 6 · 2011-01-03 → 2011-12-30
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.2× · cost drag 0.12%
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 7.26% of 248 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2011-01-01 | -16.5106% | 2.8993% | 29.2713% | 4.4352% | yes | 2.7907% | 0 / 61 |
| 2011-04-01 | -11.6035% | 5.5645% | 26.1969% | -0.117% | yes | 2.1264% | 1 / 62 |
| 2011-07-01 | -10.0414% | 4.9158% | 20.7169% | -15.7618% | no | 1.8255% | 12 / 63 |
| 2011-10-01 | -13.6071% | 1.2012% | 18.6567% | 14.917% | yes | 2.0155% | 5 / 62 |
| 2012-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 3 switches · switch cost 8.0 bps · cost drag 0.43%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 7 · 2012-01-03 → 2012-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 4 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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 | -12.9434% | 1.9465% | 21.1208% | 8.53% | yes | 2.081% | 0 / 61 |
| 2012-04-01 | -12.9875% | 2.6094% | 21.118% | -3.2827% | yes | 2.0256% | 2 / 62 |
| 2012-07-01 | -14.2767% | 1.21% | 19.61% | 4.8371% | yes | 2.0256% | 0 / 62 |
| 2012-10-01 | -11.183% | 2.4178% | 19.6515% | -0.6939% | yes | 1.7985% | 1 / 61 |
Regime router, 3 lanes · regimes: calm, choppy · 4 switches · switch cost 8.0 bps · cost drag 0.59%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
Step 8 · 2013-01-02 → 2013-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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 |
|---|---|---|---|---|---|---|---|
| 2013-01-01 | -12.4832% | 2.2846% | 16.9206% | 7.8904% | yes | 1.8014% | 0 / 59 |
| 2013-04-01 | -12.7235% | 2.3539% | 18.3665% | 1.9051% | yes | 1.8027% | 2 / 63 |
| 2013-07-01 | -13.0536% | 2.1031% | 18.2204% | 4.5543% | yes | 1.7669% | 0 / 63 |
| 2013-10-01 | -11.4866% | 3.543% | 19.4664% | 8.1739% | yes | 1.6082% | 0 / 63 |
| 2014-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy · 5 switches · switch cost 8.0 bps · cost drag 0.75%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
Step 9 · 2014-01-02 → 2014-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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 |
|---|---|---|---|---|---|---|---|
| 2014-01-01 | -7.1602% | 3.9398% | 15.1709% | 3.0988% | yes | 1.3468% | 2 / 60 |
| 2014-04-01 | -5.9101% | 3.7475% | 14.4612% | 4.5728% | yes | 1.2688% | 1 / 62 |
| 2014-07-01 | -5.9595% | 4.1726% | 14.3632% | -0.9412% | yes | 1.1883% | 2 / 63 |
| 2014-10-01 | -5.2972% | 4.1737% | 13.6357% | 5.3781% | yes | 1.0951% | 5 / 63 |
| 2015-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm · 1 switches · switch cost 8.0 bps · cost drag 0.11%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
Step 10 · 2015-01-02 → 2015-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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.68% of 248 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2015-01-01 | -5.6557% | 3.9678% | 13.5594% | 0.0132% | yes | 1.1592% | 6 / 60 |
| 2015-04-01 | -6.0652% | 3.2692% | 13.5937% | -0.9864% | yes | 1.2592% | 2 / 62 |
| 2015-07-01 | -6.9281% | 2.8145% | 12.5873% | -8.0678% | no | 1.1843% | 11 / 63 |
| 2015-10-01 | -9.4884% | 1.1531% | 11.9467% | 5.2654% | yes | 1.3047% | 5 / 63 |
| 2016-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 8 switches · switch cost 8.0 bps · cost drag 1.23%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 11 · 2016-01-04 → 2016-12-30
Hold all nine
Portfolio book, rebalanced quarterly · 4 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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.84% of 248 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2016-01-01 | -9.7596% | 1.0565% | 12.0032% | 3.9507% | yes | 1.3427% | 8 / 60 |
| 2016-04-01 | -9.8206% | 1.9518% | 14.0247% | 2.6675% | yes | 1.4703% | 2 / 63 |
| 2016-07-01 | -10.6278% | 1.2672% | 13.4921% | 1.7791% | yes | 1.4799% | 2 / 63 |
| 2016-10-01 | -10.3933% | 0.87% | 13.6272% | 3.925% | yes | 1.4941% | 0 / 62 |
Regime router, 3 lanes · regimes: calm, choppy, stressed · 6 switches · switch cost 8.0 bps · cost drag 0.91%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 12 · 2017-01-03 → 2017-12-29
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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 | -9.5957% | 0.7804% | 13.4702% | 3.9379% | yes | 1.4579% | 0 / 61 |
| 2017-04-01 | -9.3118% | 1.3317% | 13.2974% | 2.1138% | yes | 1.3419% | 1 / 62 |
| 2017-07-01 | -9.2407% | 1.1462% | 12.7929% | 3.1807% | yes | 1.3326% | 1 / 62 |
| 2017-10-01 | -8.3166% | 1.8638% | 13.2439% | 5.1599% | yes | 1.3204% | 0 / 62 |
| 2018-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm · 1 switches · switch cost 8.0 bps · cost drag 0.11%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
Step 13 · 2018-01-02 → 2018-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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 11.34% of 247 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2018-01-01 | -6.5747% | 2.4609% | 11.4253% | -3.2299% | yes | 1.0679% | 9 / 60 |
| 2018-04-01 | -5.7816% | 3.4918% | 12.7437% | 5.0181% | yes | 0.9939% | 3 / 63 |
| 2018-07-01 | -6.0068% | 2.394% | 11.6013% | 5.3724% | yes | 0.9367% | 0 / 62 |
| 2018-10-01 | -5.2165% | 2.7165% | 11.3655% | -13.353% | no | 0.8072% | 16 / 62 |
| 2019-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 5 switches · switch cost 8.0 bps · cost drag 0.75%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 14 · 2019-01-02 → 2019-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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.03% of 248 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2019-01-01 | -8.3395% | 1.4101% | 11.1641% | 12.225% | no | 1.1427% | 3 / 60 |
| 2019-04-01 | -7.8405% | 1.8678% | 12.6643% | 2.3489% | yes | 1.2581% | 2 / 62 |
| 2019-07-01 | -8.4887% | 2.1386% | 12.9044% | 0.5447% | yes | 1.3153% | 3 / 63 |
| 2019-10-01 | -9.4529% | 1.68% | 13.0238% | 7.5753% | yes | 1.4151% | 2 / 63 |
| 2020-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 8 switches · switch cost 8.0 bps · cost drag 1.23%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 15 · 2020-01-02 → 2020-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 4 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.2× · cost drag 0.12%
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 11.24% of 249 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2020-01-01 | -8.3231% | 1.6704% | 13.8259% | -24.6222% | no | 1.5129% | 16 / 61 |
| 2020-04-01 | -20.3401% | -2.9293% | 18.423% | 24.1922% | no | 2.1101% | 7 / 62 |
| 2020-07-01 | -19.5458% | 0.9267% | 24.1109% | 5.7213% | yes | 2.2056% | 4 / 63 |
| 2020-10-01 | -19.9672% | 0.7793% | 24.3586% | 13.3455% | yes | 2.3097% | 1 / 63 |
Regime router, 3 lanes · regimes: calm, choppy, stressed · 7 switches · switch cost 8.0 bps · cost drag 1.07%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 16 · 2021-01-04 → 2021-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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 |
|---|---|---|---|---|---|---|---|
| 2021-01-01 | -18.8248% | 2.0836% | 25.7141% | 10.0206% | yes | 2.2486% | 1 / 60 |
| 2021-04-01 | -16.7385% | 3.2041% | 28.0831% | 5.147% | yes | 2.2276% | 0 / 62 |
| 2021-07-01 | -17.8516% | 3.9194% | 28.7716% | -1.3348% | yes | 2.2459% | 0 / 63 |
| 2021-10-01 | -17.5607% | 4.2802% | 29.2107% | 9.783% | yes | 2.2276% | 1 / 63 |
| 2022-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 5 switches · switch cost 8.0 bps · cost drag 0.75%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 17 · 2022-01-03 → 2022-12-30
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.2× · cost drag 0.12%
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.48% of 247 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2022-01-01 | -15.7266% | 3.5844% | 29.7476% | 0.5259% | yes | 2.2056% | 0 / 61 |
| 2022-04-01 | -16.0991% | 3.4283% | 29.9657% | -13.5295% | yes | 2.2021% | 8 / 61 |
| 2022-07-01 | -10.593% | 4.7528% | 21.0355% | -5.2423% | yes | 1.9099% | 3 / 63 |
| 2022-10-01 | -11.4034% | 2.0945% | 17.746% | 7.409% | yes | 1.8748% | 5 / 62 |
| 2023-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy, stressed · 5 switches · switch cost 8.0 bps · cost drag 0.75%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
| stressed | 0.0 | 0.0 | 1.0 |
Step 18 · 2023-01-03 → 2023-12-29
Hold all nine
Portfolio book, rebalanced quarterly · 5 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.2× · cost drag 0.12%
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 246 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2023-01-01 | -10.2665% | 3.048% | 19.846% | 3.1372% | yes | 1.8218% | 0 / 61 |
| 2023-04-01 | -11.198% | 1.8645% | 18.3253% | 3.6953% | yes | 1.792% | 0 / 61 |
| 2023-07-01 | -12.4168% | 0.8994% | 16.3358% | -3.8903% | yes | 1.7802% | 0 / 62 |
| 2023-10-01 | -12.8662% | 0.2762% | 15.4953% | 9.3223% | yes | 1.741% | 0 / 62 |
| 2024-01-01 | no segment follows this rebalance, not scored | ||||||
Regime router, 3 lanes · regimes: calm, choppy · 2 switches · switch cost 8.0 bps · cost drag 0.27%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |
Step 19 · 2024-01-02 → 2024-12-31
Hold all nine
Portfolio book, rebalanced quarterly · 4 constructions · 9 names held · selection: reselect · 0.0% in cash · turnover 1.1× · cost drag 0.11%
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.61% of 248 days (expected ~5.0%)
| Rebalance | P5 | Median | P95 | Realized | In band | VaR 95 (1d) | Breaches |
|---|---|---|---|---|---|---|---|
| 2024-01-01 | -13.2372% | 0.5613% | 14.9912% | 8.0492% | yes | 1.6791% | 0 / 60 |
| 2024-04-01 | -11.8167% | 1.2161% | 16.2681% | 0.0542% | yes | 1.6017% | 0 / 62 |
| 2024-07-01 | -11.3274% | 1.9208% | 15.7233% | 8.1226% | yes | 1.451% | 3 / 63 |
| 2024-10-01 | -9.1124% | 2.927% | 15.2937% | -2.0103% | yes | 1.3711% | 1 / 63 |
Regime router, 3 lanes · regimes: calm, choppy · 3 switches · switch cost 8.0 bps · cost drag 0.43%
| Regime | Pipeline A | Pipeline B | Pipeline C |
|---|---|---|---|
| calm | 1.0 | 0.0 | 0.0 |
| choppy | 0.0 | 1.0 | 0.0 |