Style and theme rotation: from signals to ETF portfolios
Can changing style and theme exposures produce a tradable ETF allocation advantage? This topic brings related research together while keeping each strategy identity, baseline and evidence boundary distinct.
Current conclusion
Most historical execution failures predate the ETFs’ currently declared listing dates. A separately registered retrospective study tests components on a complete eligible calendar; historical theme evidence and prospective efficacy remain unestablished.
What the new study can establish
Most historical execution failures predate the ETFs’ currently declared listing dates. A separately registered retrospective study tests components on a complete eligible calendar; historical theme evidence and prospective efficacy remain unestablished.
This retained universe and its history have already been inspected. Availability selects the start; returns do not. This is not an untouched holdout or proof of historical data delivery.
- First signal
- 2023-09-15
- Registered signals
- 150
- Last signal
- 2026-08-14
Why data was unavailable
Categories are exclusive: pre-listing takes precedence, then confirmed suspension, then unresolved. Event, daily-cell and strategy-decision counts are different units. No synthetic prices or zero turnover were inserted.
| Cause category | Missing daily cells | Blocked baseline decisions |
|---|---|---|
| Before currently declared listing | 2,520 | 148 |
| Confirmed suspension | 4 | 2 |
| Unresolved absence | 1 | 0 |
Paired annualized net log-return difference: 2.68% · 95% dependence-aware interval: [-9.43%, 13.16%]
The primary 95% interval spans zero; this inspected historical result does not establish superiority.
Compare components on the same calendar
All arms begin from cash and include first-entry cost. Selection-only rescales the same combined target’s selected risky sleeve to a fixed 75% risky budget; timing-only places that target’s risky budget in the broad-market ETF. An empty selected sleeve is unavailable. Other allocator choices, no-trade and valuation rules remain fixed. These are component comparisons, not causal attribution.
Stationary weekly-block bootstrap: 10,000 replicates, expected blocks of 13 weeks; 8- and 26-week sensitivity intervals are shown without selecting a winner. Boundary partial weeks are excluded from uncertainty, not daily performance. The interval describes this inspected historical sample.
| Component comparison | Annualized net return | Expected daily sessions |
|---|---|---|
| Combined price strategy · versus · Fixed broad-market/bond comparator | 12.35% / 8.96% | 709 |
| Selection with fixed risky budget · versus · Fixed broad-market/bond comparator | 18.65% / 8.96% | 709 |
| Timing over broad-market exposure · versus · Fixed broad-market/bond comparator | 5.93% / 8.96% | 709 |
| Combined price strategy · versus · Selection with fixed risky budget | 12.35% / 18.65% | 709 |
| Theme overlay · versus · Combined price strategy | Unavailable | 709 |
Prospective evidence and research decisions
Awaiting genuine weekday evidence
Capture unarmed
0 · Settled prospective pairs
Next installed preparation opportunity: 19 October 2026, 18:20 Asia/Shanghai. This snapshot does not claim the future run succeeded.
An industry classification is not a timely attention series. No independently admitted full-calendar historical theme stream is supplied; theme metrics remain unavailable. New capture review binds payload, mapping, effective interval and publication/observation/capture/review timestamps.
Formal prospective review starts after 104 settled weekly pairs, then every 52 pairs. Source/protocol violations pause admission; missing evidence stays unavailable. A lower interval above zero supports continued collection; an upper interval at or below zero rejects the registered superiority claim; crossing zero is inconclusive.
The prospective primary pair is pool-core versus fixed-base under the existing capture/settlement protocol. It is a different hypothesis from the retrospective component matrix.
Release and registration identities
178a9336f90477600188ab82bef25886a548bbbc295b04d9147e4c3332356f19rotation-foundation-20261018-v1
What the new study can establish
Most historical execution failures predate the ETFs’ currently declared listing dates. A separately registered retrospective study tests components on a complete eligible calendar; historical theme evidence and prospective efficacy remain unestablished.
This retained universe and its history have already been inspected. Availability selects the start; returns do not. This is not an untouched holdout or proof of historical data delivery.
- First signal
- 2023-09-15
- Registered signals
- 150
- Last signal
- 2026-08-14
Why data was unavailable
Categories are exclusive: pre-listing takes precedence, then confirmed suspension, then unresolved. Event, daily-cell and strategy-decision counts are different units. No synthetic prices or zero turnover were inserted.
| Cause category | Missing daily cells | Blocked baseline decisions |
|---|---|---|
| Before currently declared listing | 2,520 | 148 |
| Confirmed suspension | 4 | 2 |
| Unresolved absence | 1 | 0 |
Paired annualized net log-return difference: 2.68% · 95% dependence-aware interval: [-9.43%, 13.16%]
The primary 95% interval spans zero; this inspected historical result does not establish superiority.
Compare components on the same calendar
All arms begin from cash and include first-entry cost. Selection-only rescales the same combined target’s selected risky sleeve to a fixed 75% risky budget; timing-only places that target’s risky budget in the broad-market ETF. An empty selected sleeve is unavailable. Other allocator choices, no-trade and valuation rules remain fixed. These are component comparisons, not causal attribution.
Stationary weekly-block bootstrap: 10,000 replicates, expected blocks of 13 weeks; 8- and 26-week sensitivity intervals are shown without selecting a winner. Boundary partial weeks are excluded from uncertainty, not daily performance. The interval describes this inspected historical sample.
| Component comparison | Annualized net return | Expected daily sessions |
|---|---|---|
| Combined price strategy · versus · Fixed broad-market/bond comparator | 12.35% / 8.96% | 709 |
| Selection with fixed risky budget · versus · Fixed broad-market/bond comparator | 18.65% / 8.96% | 709 |
| Timing over broad-market exposure · versus · Fixed broad-market/bond comparator | 5.93% / 8.96% | 709 |
| Combined price strategy · versus · Selection with fixed risky budget | 12.35% / 18.65% | 709 |
| Theme overlay · versus · Combined price strategy | Unavailable | 709 |
Prospective evidence and research decisions
Awaiting genuine weekday evidence
Capture unarmed
0 · Settled prospective pairs
Next installed preparation opportunity: 19 October 2026, 18:20 Asia/Shanghai. This snapshot does not claim the future run succeeded.
An industry classification is not a timely attention series. No independently admitted full-calendar historical theme stream is supplied; theme metrics remain unavailable. New capture review binds payload, mapping, effective interval and publication/observation/capture/review timestamps.
Formal prospective review starts after 104 settled weekly pairs, then every 52 pairs. Source/protocol violations pause admission; missing evidence stays unavailable. A lower interval above zero supports continued collection; an upper interval at or below zero rejects the registered superiority claim; crossing zero is inconclusive.
The prospective primary pair is pool-core versus fixed-base under the existing capture/settlement protocol. It is a different hypothesis from the retrospective component matrix.
Release and registration identities
178a9336f90477600188ab82bef25886a548bbbc295b04d9147e4c3332356f19rotation-foundation-20261018-v1
Operational evidence and complete-calendar checks
The retained full calendar does not admit a paired performance ranking.
This release separates operational readiness, historical evidence and conditional portfolio comparisons. Missing execution or required history leaves performance unavailable.
Reviewed snapshot as of
This is a retained, reviewed snapshot. Later scheduled runs are not automatically published.
Prospective collection readiness
Awaiting a future registration · Unarmed
Latest admitted market session: 2026-10-16 · Candidate decision cutoff: 19:00 Asia/Shanghai
Preparation timer: Enabled · Capture timer: Disabled
Weekday receipt and review must be observed before freezing the future registration. Sunday preparation does not establish weekday availability.
What changes when eligibility uses historical prefixes
History and liquidity are recalculated through each signal date. Reconstructing those numbers does not establish historical vendor delivery, complete delisted coverage or original factor vintages.
| Reference strategy | Missing weeks | Affected date range |
|---|---|---|
| Fixed-slot reference | 336 | 2016-01-15 – 2023-09-08 |
| Defensive allocator reference | 336 | 2016-01-15 – 2023-09-08 |
Separate evidence dimensions
Admitted numerical rules and historically verified delivery are different evidence claims. Unknown and rejected records remain visible.
- Delisted-fund coverage: Unknown — See separate rule record counts; Unknown 542; Rejected 0
- Original factor vintages: Unknown — See separate rule record counts; Unknown 23,306; Rejected 0
- Listing records: Unknown — See separate rule record counts; Unknown 14,968; Rejected 8,338
- Minimum price history: Unknown — No retained evidence records; Unknown 0; Rejected 0
- Historical price delivery: Unknown — See separate rule record counts; Unknown 23,306; Rejected 0
- Theme mapping intervals: Unknown — See separate rule record counts; Unknown 9,745; Rejected 5,431
- Trailing traded amounts: Unknown — No retained evidence records; Unknown 0; Rejected 0
- Historical universe membership: Unknown — See separate rule record counts; Unknown 542; Rejected 0
252 price observations; all of the last 252 session amounts; median amount at least CNY 10 million. Missing observations remain missing.
Compare conditional portfolios
The budget comparator follows the strategy’s target risky weight using broad-market ETF 510300 and bond ETF 511260. The separate risk comparison uses an 8% estimated annual ceiling from the preceding 60 complete sessions.
Budget matching isolates selection conditional on the strategy’s budget path. Estimated ceilings do not ensure equal realized risk. Overlapping windows are descriptive.
Registered comparison rows: 8,640 · Available rows: 0
| Reference strategy | Comparison | Eligibility case | Annualized return | Reason |
|---|---|---|---|---|
| Fixed-slot reference | Matched target budget | Retained snapshot | — | Some registered executions lack required marks Return calendar is incomplete Reference execution is incomplete A required arm is unavailable for the full case |
| Fixed-slot reference | Common estimated risk ceiling | Retained snapshot | — | Some required targets are unavailable A required arm is unavailable for the full case |
| Defensive allocator reference | Matched target budget | Retained snapshot | — | Some registered executions lack required marks Return calendar is incomplete Reference execution is incomplete A required arm is unavailable for the full case |
| Defensive allocator reference | Common estimated risk ceiling | Retained snapshot | — | Some required targets are unavailable A required arm is unavailable for the full case |
| Fixed-slot reference | Matched target budget | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
| Fixed-slot reference | Common estimated risk ceiling | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
| Defensive allocator reference | Matched target budget | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
| Defensive allocator reference | Common estimated risk ceiling | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
Operational evidence and complete-calendar checks
The retained full calendar does not admit a paired performance ranking.
This release separates operational readiness, historical evidence and conditional portfolio comparisons. Missing execution or required history leaves performance unavailable.
Reviewed snapshot as of
This is a retained, reviewed snapshot. Later scheduled runs are not automatically published.
Prospective collection readiness
Awaiting a future registration · Unarmed
Latest admitted market session: 2026-10-16 · Candidate decision cutoff: 19:00 Asia/Shanghai
Preparation timer: Enabled · Capture timer: Disabled
Weekday receipt and review must be observed before freezing the future registration. Sunday preparation does not establish weekday availability.
What changes when eligibility uses historical prefixes
History and liquidity are recalculated through each signal date. Reconstructing those numbers does not establish historical vendor delivery, complete delisted coverage or original factor vintages.
| Reference strategy | Missing weeks | Affected date range |
|---|---|---|
| Fixed-slot reference | 336 | 2016-01-15 – 2023-09-08 |
| Defensive allocator reference | 336 | 2016-01-15 – 2023-09-08 |
Separate evidence dimensions
Admitted numerical rules and historically verified delivery are different evidence claims. Unknown and rejected records remain visible.
- Delisted-fund coverage: Unknown — See separate rule record counts; Unknown 542; Rejected 0
- Original factor vintages: Unknown — See separate rule record counts; Unknown 23,306; Rejected 0
- Listing records: Unknown — See separate rule record counts; Unknown 14,968; Rejected 8,338
- Minimum price history: Unknown — No retained evidence records; Unknown 0; Rejected 0
- Historical price delivery: Unknown — See separate rule record counts; Unknown 23,306; Rejected 0
- Theme mapping intervals: Unknown — See separate rule record counts; Unknown 9,745; Rejected 5,431
- Trailing traded amounts: Unknown — No retained evidence records; Unknown 0; Rejected 0
- Historical universe membership: Unknown — See separate rule record counts; Unknown 542; Rejected 0
252 price observations; all of the last 252 session amounts; median amount at least CNY 10 million. Missing observations remain missing.
Compare conditional portfolios
The budget comparator follows the strategy’s target risky weight using broad-market ETF 510300 and bond ETF 511260. The separate risk comparison uses an 8% estimated annual ceiling from the preceding 60 complete sessions.
Budget matching isolates selection conditional on the strategy’s budget path. Estimated ceilings do not ensure equal realized risk. Overlapping windows are descriptive.
Registered comparison rows: 8,640 · Available rows: 0
| Reference strategy | Comparison | Eligibility case | Annualized return | Reason |
|---|---|---|---|---|
| Fixed-slot reference | Matched target budget | Retained snapshot | — | Some registered executions lack required marks Return calendar is incomplete Reference execution is incomplete A required arm is unavailable for the full case |
| Fixed-slot reference | Common estimated risk ceiling | Retained snapshot | — | Some required targets are unavailable A required arm is unavailable for the full case |
| Defensive allocator reference | Matched target budget | Retained snapshot | — | Some registered executions lack required marks Return calendar is incomplete Reference execution is incomplete A required arm is unavailable for the full case |
| Defensive allocator reference | Common estimated risk ceiling | Retained snapshot | — | Some required targets are unavailable A required arm is unavailable for the full case |
| Fixed-slot reference | Matched target budget | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
| Fixed-slot reference | Common estimated risk ceiling | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
| Defensive allocator reference | Matched target budget | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
| Defensive allocator reference | Common estimated risk ceiling | Historical-prefix eligibility | — | Historical-prefix inputs are incomplete A required arm is unavailable for the full case |
Methods, boundaries and hashes
Methods, boundaries and hashes
SHA-256: 040b0965026cf1772b8ec1df7e3873f1b0a95e549e3a3e4c1808b487122a3710
Earlier snapshot diagnostics remain below. Their retained results use the earlier evidence protocol.
Forward evidence and robustness
The missing ETF histories are recovered. New historical diagnostics test costs and execution delays; prospective returns still require timely future captures.
Weekly shadow ledger
Waiting for fresh inputs — no prospective performance yet.
Captured weeks: 0 · Settled weeks: 0
Registration: rotation-forward-20261017-v2 · 2026-10-23T15:00:00+08:00
| Configuration | Captured weeks | Settled weeks | Cumulative return |
|---|---|---|---|
| Fixed slots · baseline | 0 | 0 | — |
| Core · HRP | 0 | 0 | — |
A manual registered workflow is ready. No unattended schedule or orders are active. Historical backfills do not count as prospective observations.
Source admission and reconciliation
The price panel has 36 columns; 32 assets pass the original snapshot admission rule. Historical liquidity and information availability remain unverified.
2015-01-05 – 2026-08-24
| ETF symbol | Evidence status | Reason |
|---|---|---|
| 159166 | Retained snapshot | Snapshot identity only |
| 159221 | Retained snapshot | Snapshot identity only |
| 159328 | Excluded by snapshot rule | Median amount below 10,000 |
| 159505 | Retained snapshot | Snapshot identity only |
| 159535 | Retained snapshot | Snapshot identity only |
| 159611 | Admitted by snapshot rule | Snapshot identity only |
| 159633 | Retained snapshot | Snapshot identity only |
| 159662 | Admitted by snapshot rule | Snapshot identity only |
| 159697 | Admitted by snapshot rule | Snapshot identity only |
| 159766 | Admitted by snapshot rule | Snapshot identity only |
| 159827 | Excluded by snapshot rule | Median amount below 10,000 |
| 159867 | Admitted by snapshot rule | Snapshot identity only |
| 159870 | Admitted by snapshot rule | Snapshot identity only |
| 159886 | Admitted by snapshot rule | Snapshot identity only |
| 159915 | Admitted by snapshot rule | Snapshot identity only |
| 159929 | Admitted by snapshot rule | Snapshot identity only |
| 159931 | Excluded by snapshot rule | Median amount below 10,000 |
| 159997 | Admitted by snapshot rule | Snapshot identity only |
| 510300 | Admitted by snapshot rule | Snapshot identity only |
| 510500 | Admitted by snapshot rule | Snapshot identity only |
| 510880 | Admitted by snapshot rule | Snapshot identity only |
| 511260 | Admitted by snapshot rule | Snapshot identity only |
| 512100 | Admitted by snapshot rule | Snapshot identity only |
| 512220 | Excluded by snapshot rule | Median amount below 10,000 |
| 512400 | Admitted by snapshot rule | Snapshot identity only |
| 512480 | Admitted by snapshot rule | Snapshot identity only |
| 512580 | Admitted by snapshot rule | Snapshot identity only |
| 512660 | Admitted by snapshot rule | Snapshot identity only |
| 512700 | Admitted by snapshot rule | Snapshot identity only |
| 512720 | Admitted by snapshot rule | Snapshot identity only |
| 512880 | Admitted by snapshot rule | Snapshot identity only |
| 512890 | Recovered history | Recovered from retained adjusted snapshot |
| 512980 | Admitted by snapshot rule | Snapshot identity only |
| 515210 | Admitted by snapshot rule | Snapshot identity only |
| 515220 | Admitted by snapshot rule | Snapshot identity only |
| 515700 | Admitted by snapshot rule | Snapshot identity only |
| 515710 | Admitted by snapshot rule | Snapshot identity only |
| 515790 | Admitted by snapshot rule | Snapshot identity only |
| 515910 | Recovered history | Recovered from retained adjusted snapshot |
| 516910 | Admitted by snapshot rule | Snapshot identity only |
| 516950 | Admitted by snapshot rule | Snapshot identity only |
| 518880 | Admitted by snapshot rule | Snapshot identity only |
| 588000 | Admitted by snapshot rule | Snapshot identity only |
Source admission and reconciliation
| ETF symbol | Snapshot median amount (source units) | Reason |
|---|---|---|
| 159328 | 1892.617 | Median amount below 10,000 |
| 159827 | 2388.208 | Median amount below 10,000 |
| 159931 | 686.346 | Median amount below 10,000 |
| 512220 | 2695.391 | Median amount below 10,000 |
Theme evidence chain
Historical mapping and independent captures are still missing. Performance remains unavailable.
Cost, execution and parameter sensitivity
Costs are 0/5/10 bps. Execution occurs at the first or second subsequent session close. Windows preserve warmed paths; rolling samples overlap. Monthly snapshots use the last available session in each month, including a partial final month; inspect the displayed end date. These diagnostics do not select a winning parameter.
Cost (bps): 5 · Execution delay (sessions): 1 · Common window
| Configuration | Annualized return | Maximum drawdown | Mean bond exposure | Evaluation period |
|---|---|---|---|---|
| Fixed slots · baseline | 6.71% | -22.86% | 32.75% | 2017-08-29 – 2026-08-24 |
| Fixed slots · 75% risk cap | 6.24% | -18.09% | 42.86% | 2017-08-29 – 2026-08-24 |
| Fixed slots · 50% risk cap | 5.87% | -11.61% | 57.29% | 2017-08-29 – 2026-08-24 |
| HRP allocation · baseline | 9.13% | -20.21% | 40.40% | 2017-08-29 – 2026-08-24 |
| HRP allocation · 75% risk cap | 6.71% | -8.56% | 64.20% | 2017-08-29 – 2026-08-24 |
| HRP allocation · 50% risk cap | 6.70% | -8.56% | 64.89% | 2017-08-29 – 2026-08-24 |
| Minimum variance · baseline | 8.61% | -20.09% | 33.13% | 2017-08-29 – 2026-08-24 |
| Minimum variance · 75% risk cap | 6.32% | -8.58% | 54.97% | 2017-08-29 – 2026-08-24 |
| Minimum variance · 50% risk cap | 6.17% | -8.45% | 60.87% | 2017-08-29 – 2026-08-24 |
| Core · HRP | 6.71% | -8.56% | 64.20% | 2017-08-29 – 2026-08-24 |
| Core + cash-flow style | 6.71% | -8.56% | 64.20% | 2017-08-29 – 2026-08-24 |
| Core + CSI 1000 style | 6.82% | -8.53% | 64.20% | 2017-08-29 – 2026-08-24 |
| Core + CSI 2000 style | 6.87% | -8.56% | 64.19% | 2017-08-29 – 2026-08-24 |
| Core + quality style | 6.34% | -8.56% | 64.19% | 2017-08-29 – 2026-08-24 |
| Core + dividend low volatility | 6.41% | -8.56% | 63.86% | 2017-08-29 – 2026-08-24 |
| Core + quality + dividend | 6.06% | -8.56% | 63.86% | 2017-08-29 – 2026-08-24 |
| Dynamic correlation pruning · HRP | 6.22% | -7.31% | 65.43% | 2017-08-29 – 2026-08-24 |
| Fixed slots · baseline | 6.37% | -22.86% | 29.42% | 2016-08-23 – 2026-08-24 |
| Moderate holding continuity | 6.01% | -22.86% | 29.43% | 2016-08-23 – 2026-08-24 |
| Broader holding continuity | 5.18% | -22.86% | 29.43% | 2016-08-23 – 2026-08-24 |
| Frozen score · fixed slots | 6.37% | -22.86% | 29.42% | 2016-08-23 – 2026-08-24 |
| Ridge challenger A · fixed slots | 5.71% | -20.96% | 29.42% | 2016-08-23 – 2026-08-24 |
| Ridge challenger B · fixed slots | 5.75% | -20.96% | 29.42% | 2016-08-23 – 2026-08-24 |
| Ridge challenger C · fixed slots | 6.25% | -22.86% | 29.42% | 2016-08-23 – 2026-08-24 |
Simple benchmark references
Benchmarks start on the same common calendar, pay entry cost, then remain invested. Before observed inception, a benchmark is unavailable. After inception, valuation may carry the previous price for one session, matching the strategy; longer gaps leave affected windows unavailable. The static 50/50 portfolio drifts without rebalancing.
| Experiment group | Configuration | Annualized return | Maximum drawdown | Evaluation period |
|---|---|---|---|---|
| Risk budget | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Risk budget | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Risk budget | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Risk budget | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Risk budget | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Risk budget | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Risk budget | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Risk budget | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Risk budget | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Candidate pool | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Candidate pool | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Candidate pool | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Holdover rule | CSI 300 buy and hold | 5.14% | -42.16% | 2016-08-23 – 2026-08-24 |
| Holdover rule | Treasury ETF buy and hold | — | — | 2016-08-23 – 2026-08-24 |
| Holdover rule | Static 50/50 equity and bond | — | — | 2016-08-23 – 2026-08-24 |
| Score sensitivity | CSI 300 buy and hold | 5.14% | -42.16% | 2016-08-23 – 2026-08-24 |
| Score sensitivity | Treasury ETF buy and hold | — | — | 2016-08-23 – 2026-08-24 |
| Score sensitivity | Static 50/50 equity and bond | — | — | 2016-08-23 – 2026-08-24 |
Research release comparison
Definitions or windows differ; numerical deltas are suppressed.
What changed
- Recovered quality and dividend ETF histories; all 24 configurations can run.
- Reconciled 36 price columns with 32 admitted assets.
- Added registered cost and delay diagnostics with simple benchmarks.
- Forward workflow is ready; timely inputs are still required.
- Capture preparation is available; independent evidence is still required.
- Forward accounting and frozen implementation controls strengthened; historical results are unchanged.
- rotation-evidence-20261017-native-v2 · 2026-10-17T04:41:32.156491+00:00
- rotation-forward-20261017-v1 · 2026-10-17T12:57:13.048228+00:00
- rotation-forward-20261017-v2 · 2026-10-17T13:16:10.472670+00:00
- rotation-operations-20261018-v1 · 2026-10-18T02:37:26.008376+00:00
- rotation-foundation-20261018-v1 · 2026-10-18T04:15:22.609340+00:00
Forward evidence and robustness
The missing ETF histories are recovered. New historical diagnostics test costs and execution delays; prospective returns still require timely future captures.
Weekly shadow ledger
Waiting for fresh inputs — no prospective performance yet.
Captured weeks: 0 · Settled weeks: 0
Registration: rotation-forward-20261017-v2 · 2026-10-23T15:00:00+08:00
| Configuration | Captured weeks | Settled weeks | Cumulative return |
|---|---|---|---|
| Fixed slots · baseline | 0 | 0 | — |
| Core · HRP | 0 | 0 | — |
A manual registered workflow is ready. No unattended schedule or orders are active. Historical backfills do not count as prospective observations.
Source admission and reconciliation
The price panel has 36 columns; 32 assets pass the original snapshot admission rule. Historical liquidity and information availability remain unverified.
2015-01-05 – 2026-08-24
| ETF symbol | Evidence status | Reason |
|---|---|---|
| 159166 | Retained snapshot | Snapshot identity only |
| 159221 | Retained snapshot | Snapshot identity only |
| 159328 | Excluded by snapshot rule | Median amount below 10,000 |
| 159505 | Retained snapshot | Snapshot identity only |
| 159535 | Retained snapshot | Snapshot identity only |
| 159611 | Admitted by snapshot rule | Snapshot identity only |
| 159633 | Retained snapshot | Snapshot identity only |
| 159662 | Admitted by snapshot rule | Snapshot identity only |
| 159697 | Admitted by snapshot rule | Snapshot identity only |
| 159766 | Admitted by snapshot rule | Snapshot identity only |
| 159827 | Excluded by snapshot rule | Median amount below 10,000 |
| 159867 | Admitted by snapshot rule | Snapshot identity only |
| 159870 | Admitted by snapshot rule | Snapshot identity only |
| 159886 | Admitted by snapshot rule | Snapshot identity only |
| 159915 | Admitted by snapshot rule | Snapshot identity only |
| 159929 | Admitted by snapshot rule | Snapshot identity only |
| 159931 | Excluded by snapshot rule | Median amount below 10,000 |
| 159997 | Admitted by snapshot rule | Snapshot identity only |
| 510300 | Admitted by snapshot rule | Snapshot identity only |
| 510500 | Admitted by snapshot rule | Snapshot identity only |
| 510880 | Admitted by snapshot rule | Snapshot identity only |
| 511260 | Admitted by snapshot rule | Snapshot identity only |
| 512100 | Admitted by snapshot rule | Snapshot identity only |
| 512220 | Excluded by snapshot rule | Median amount below 10,000 |
| 512400 | Admitted by snapshot rule | Snapshot identity only |
| 512480 | Admitted by snapshot rule | Snapshot identity only |
| 512580 | Admitted by snapshot rule | Snapshot identity only |
| 512660 | Admitted by snapshot rule | Snapshot identity only |
| 512700 | Admitted by snapshot rule | Snapshot identity only |
| 512720 | Admitted by snapshot rule | Snapshot identity only |
| 512880 | Admitted by snapshot rule | Snapshot identity only |
| 512890 | Recovered history | Recovered from retained adjusted snapshot |
| 512980 | Admitted by snapshot rule | Snapshot identity only |
| 515210 | Admitted by snapshot rule | Snapshot identity only |
| 515220 | Admitted by snapshot rule | Snapshot identity only |
| 515700 | Admitted by snapshot rule | Snapshot identity only |
| 515710 | Admitted by snapshot rule | Snapshot identity only |
| 515790 | Admitted by snapshot rule | Snapshot identity only |
| 515910 | Recovered history | Recovered from retained adjusted snapshot |
| 516910 | Admitted by snapshot rule | Snapshot identity only |
| 516950 | Admitted by snapshot rule | Snapshot identity only |
| 518880 | Admitted by snapshot rule | Snapshot identity only |
| 588000 | Admitted by snapshot rule | Snapshot identity only |
Source admission and reconciliation
| ETF symbol | Snapshot median amount (source units) | Reason |
|---|---|---|
| 159328 | 1892.617 | Median amount below 10,000 |
| 159827 | 2388.208 | Median amount below 10,000 |
| 159931 | 686.346 | Median amount below 10,000 |
| 512220 | 2695.391 | Median amount below 10,000 |
Theme evidence chain
Historical mapping and independent captures are still missing. Performance remains unavailable.
Cost, execution and parameter sensitivity
Costs are 0/5/10 bps. Execution occurs at the first or second subsequent session close. Windows preserve warmed paths; rolling samples overlap. Monthly snapshots use the last available session in each month, including a partial final month; inspect the displayed end date. These diagnostics do not select a winning parameter.
Cost (bps): 5 · Execution delay (sessions): 1 · Common window
| Configuration | Annualized return | Maximum drawdown | Mean bond exposure | Evaluation period |
|---|---|---|---|---|
| Fixed slots · baseline | 6.71% | -22.86% | 32.75% | 2017-08-29 – 2026-08-24 |
| Fixed slots · 75% risk cap | 6.24% | -18.09% | 42.86% | 2017-08-29 – 2026-08-24 |
| Fixed slots · 50% risk cap | 5.87% | -11.61% | 57.29% | 2017-08-29 – 2026-08-24 |
| HRP allocation · baseline | 9.13% | -20.21% | 40.40% | 2017-08-29 – 2026-08-24 |
| HRP allocation · 75% risk cap | 6.71% | -8.56% | 64.20% | 2017-08-29 – 2026-08-24 |
| HRP allocation · 50% risk cap | 6.70% | -8.56% | 64.89% | 2017-08-29 – 2026-08-24 |
| Minimum variance · baseline | 8.61% | -20.09% | 33.13% | 2017-08-29 – 2026-08-24 |
| Minimum variance · 75% risk cap | 6.32% | -8.58% | 54.97% | 2017-08-29 – 2026-08-24 |
| Minimum variance · 50% risk cap | 6.17% | -8.45% | 60.87% | 2017-08-29 – 2026-08-24 |
| Core · HRP | 6.71% | -8.56% | 64.20% | 2017-08-29 – 2026-08-24 |
| Core + cash-flow style | 6.71% | -8.56% | 64.20% | 2017-08-29 – 2026-08-24 |
| Core + CSI 1000 style | 6.82% | -8.53% | 64.20% | 2017-08-29 – 2026-08-24 |
| Core + CSI 2000 style | 6.87% | -8.56% | 64.19% | 2017-08-29 – 2026-08-24 |
| Core + quality style | 6.34% | -8.56% | 64.19% | 2017-08-29 – 2026-08-24 |
| Core + dividend low volatility | 6.41% | -8.56% | 63.86% | 2017-08-29 – 2026-08-24 |
| Core + quality + dividend | 6.06% | -8.56% | 63.86% | 2017-08-29 – 2026-08-24 |
| Dynamic correlation pruning · HRP | 6.22% | -7.31% | 65.43% | 2017-08-29 – 2026-08-24 |
| Fixed slots · baseline | 6.37% | -22.86% | 29.42% | 2016-08-23 – 2026-08-24 |
| Moderate holding continuity | 6.01% | -22.86% | 29.43% | 2016-08-23 – 2026-08-24 |
| Broader holding continuity | 5.18% | -22.86% | 29.43% | 2016-08-23 – 2026-08-24 |
| Frozen score · fixed slots | 6.37% | -22.86% | 29.42% | 2016-08-23 – 2026-08-24 |
| Ridge challenger A · fixed slots | 5.71% | -20.96% | 29.42% | 2016-08-23 – 2026-08-24 |
| Ridge challenger B · fixed slots | 5.75% | -20.96% | 29.42% | 2016-08-23 – 2026-08-24 |
| Ridge challenger C · fixed slots | 6.25% | -22.86% | 29.42% | 2016-08-23 – 2026-08-24 |
Simple benchmark references
Benchmarks start on the same common calendar, pay entry cost, then remain invested. Before observed inception, a benchmark is unavailable. After inception, valuation may carry the previous price for one session, matching the strategy; longer gaps leave affected windows unavailable. The static 50/50 portfolio drifts without rebalancing.
| Experiment group | Configuration | Annualized return | Maximum drawdown | Evaluation period |
|---|---|---|---|---|
| Risk budget | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Risk budget | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Risk budget | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Risk budget | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Risk budget | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Risk budget | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Risk budget | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Risk budget | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Risk budget | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Candidate pool | CSI 300 buy and hold | 3.89% | -42.16% | 2017-08-29 – 2026-08-24 |
| Candidate pool | Treasury ETF buy and hold | 3.99% | -4.62% | 2017-08-29 – 2026-08-24 |
| Candidate pool | Static 50/50 equity and bond | 3.94% | -19.13% | 2017-08-29 – 2026-08-24 |
| Holdover rule | CSI 300 buy and hold | 5.14% | -42.16% | 2016-08-23 – 2026-08-24 |
| Holdover rule | Treasury ETF buy and hold | — | — | 2016-08-23 – 2026-08-24 |
| Holdover rule | Static 50/50 equity and bond | — | — | 2016-08-23 – 2026-08-24 |
| Score sensitivity | CSI 300 buy and hold | 5.14% | -42.16% | 2016-08-23 – 2026-08-24 |
| Score sensitivity | Treasury ETF buy and hold | — | — | 2016-08-23 – 2026-08-24 |
| Score sensitivity | Static 50/50 equity and bond | — | — | 2016-08-23 – 2026-08-24 |
Research release comparison
Definitions or windows differ; numerical deltas are suppressed.
What changed
- Recovered quality and dividend ETF histories; all 24 configurations can run.
- Reconciled 36 price columns with 32 admitted assets.
- Added registered cost and delay diagnostics with simple benchmarks.
- Forward workflow is ready; timely inputs are still required.
- Capture preparation is available; independent evidence is still required.
- Forward accounting and frozen implementation controls strengthened; historical results are unchanged.
- rotation-evidence-20261017-native-v2 · 2026-10-17T04:41:32.156491+00:00
- rotation-forward-20261017-v1 · 2026-10-17T12:57:13.048228+00:00
- rotation-forward-20261017-v2 · 2026-10-17T13:16:10.472670+00:00
- rotation-operations-20261018-v1 · 2026-10-18T02:37:26.008376+00:00
- rotation-foundation-20261018-v1 · 2026-10-18T04:15:22.609340+00:00
Methods and source record
SHA-256: 37f4ccdd343c3fa2f799005192bd525841e14db8e2a6330aa8ec770cfbc90042
One research chain, four separate questions
Grouping these studies makes the missing links easier to see. It does not imply that the stock overlay, legacy ETF models and weekly allocation are the same strategy or use interchangeable inputs.
- 01
Observe style and theme signals
Style exposures describe differences such as size, value or quality. Theme heat describes attention to an industry or narrative. A strong signal is a hypothesis about future returns, not a realized return.
Need: evidence of when each signal became available.
- 02
Map signals to investable ETFs
A theme label must be connected to an ETF’s actual exposure, listing history, liquidity and overlapping holdings. Multiple ETFs tracking similar assets do not create independent opportunities.
Need: dated mapping, historical eligibility and tracking-error checks.
- 03
Rank exposures and build a portfolio
Separate which exposures to own from how much to allocate. Ranking, risk limits, correlation control and holding continuity answer different questions and need separate matched baselines.
Observed: several historical configuration challenges; forward confirmation pending.
- 04
Account for execution and test forward
Translate target weights into feasible trades, account for costs and unavailable prices, freeze the comparison, then observe genuinely new dates. Re-examining old dates cannot create a new out-of-sample record.
Need: a continuous execution ledger and a frozen forward comparison.
Where style and theme information differ
Style is a measurable cross-sectional exposure; a theme is a grouping or narrative whose membership and relevance can change. An industry ETF may represent a theme only partially, and a style ETF may hold many sectors. Ranking ETFs directly tests relative fund strength; ranking themes first adds a separate mapping decision that needs its own validation.
Explore the research branches
Legacy ETF ranking models
All three recipes trail the fixed basket at 25 bps; a small zero-cost raw-price advantage is not robust to adjusted valuation.
1,183 matched open-to-open periods · 2021–2025 · conditional historical tail
Freeze a new sample, availability evidence and a consistent cost ledger.
Weekly ETF risk allocation
Risk caps trade some annualized return for shallower historical drawdowns; larger bond exposure explains part of the change.
Panel: 2015-01-05–2026-08-24 · 5 bps execution assumption · historical reuse
Test the return–drawdown trade-off on a frozen forward period.
Universe, continuity and score challengers
Broad industry expansion did not improve the recorded strategy. Smaller style additions were mixed; holding continuity and Ridge did not establish superiority.
Related historical runs · separate baselines · not additional independent samples
Separate diversification effects from extra parameter search.
Hotspot stock overlay
Three of four isolated events favor the overlay; this is a stock-candidate experiment, not an ETF portfolio test.
Four five-session events in 2025 · aggregate-only · no continuous NAV
New dates, contemporaneous input receipts and a continuous paired portfolio.
Theme-to-ETF transmission
The shared research question is clear; the existing hotspot events do not establish that mapping attention into ETFs adds value.
Proposed research bridge · no published performance result
Compare the same ETF universe with and without frozen theme information.
Explore the research branches
Legacy ETF ranking models
All three recipes trail the fixed basket at 25 bps; a small zero-cost raw-price advantage is not robust to adjusted valuation.
1,183 matched open-to-open periods · 2021–2025 · conditional historical tail
Freeze a new sample, availability evidence and a consistent cost ledger.
Weekly ETF risk allocation
Risk caps trade some annualized return for shallower historical drawdowns; larger bond exposure explains part of the change.
Panel: 2015-01-05–2026-08-24 · 5 bps execution assumption · historical reuse
Test the return–drawdown trade-off on a frozen forward period.
Universe, continuity and score challengers
Broad industry expansion did not improve the recorded strategy. Smaller style additions were mixed; holding continuity and Ridge did not establish superiority.
Related historical runs · separate baselines · not additional independent samples
Separate diversification effects from extra parameter search.
Hotspot stock overlay
Three of four isolated events favor the overlay; this is a stock-candidate experiment, not an ETF portfolio test.
Four five-session events in 2025 · aggregate-only · no continuous NAV
New dates, contemporaneous input receipts and a continuous paired portfolio.
Theme-to-ETF transmission
The shared research question is clear; the existing hotspot events do not establish that mapping attention into ETFs adds value.
Proposed research bridge · no published performance result
Compare the same ETF universe with and without frozen theme information.
Reproduced weekly rotation evidence
This section preserves the earlier reviewed snapshot with three missing price columns. The follow-up above recovers those inputs and uses a separate calendar aligned across execution delays; do not treat these sections as the same release.
Compare compatible windows, replay historical eligibility and inspect reconciled return contributions. These are historical diagnostics; independently captured availability and forward validation remain missing.
24 registered configurations; 21 reproduced, 3 unavailable because required price columns are missing. The original rounded observations remain in the archive below.
Metrics are recomputed from preserved daily paths on this exact common calendar. Each group isolates a different intervention; do not rank groups or legacy studies together.
Scroll tables horizontally to inspect every column.
Fixed slots · baseline · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Fixed slots · baseline | 76.78% | 6.80% | 0.495 | -22.86% | 32.74% |
| Fixed slots · 75% risk cap | 68.79% | 6.23% | 0.549 | -18.09% | 42.84% |
| Fixed slots · 50% risk cap | 63.79% | 5.86% | 0.705 | -11.61% | 57.26% |
HRP allocation · baseline · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| HRP allocation · baseline | 114.27% | 9.20% | 0.731 | -20.21% | 40.38% |
| HRP allocation · 75% risk cap | 75.40% | 6.70% | 1.026 | -8.56% | 64.17% |
| HRP allocation · 50% risk cap | 75.21% | 6.69% | 1.034 | -8.56% | 64.86% |
Minimum variance · baseline · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Minimum variance · baseline | 105.90% | 8.70% | 0.685 | -20.09% | 33.12% |
| Minimum variance · 75% risk cap | 69.84% | 6.31% | 0.883 | -8.58% | 54.94% |
| Minimum variance · 50% risk cap | 67.83% | 6.16% | 0.945 | -8.45% | 60.84% |
Core · HRP · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Core · HRP | 75.40% | 6.70% | 1.026 | -8.56% | 64.17% |
| Core + cash-flow style | 75.40% | 6.70% | 1.026 | -8.56% | 64.17% |
| Core + CSI 1000 style | 76.98% | 6.81% | 1.041 | -8.53% | 64.17% |
| Core + CSI 2000 style | 77.57% | 6.86% | 1.048 | -8.56% | 64.16% |
| Dynamic correlation pruning · HRP | 68.49% | 6.21% | 1.122 | -7.31% | 65.40% |
Fixed slots · baseline · 2016-08-22 – 2026-08-24 · 2429 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Fixed slots · baseline | 81.27% | 6.37% | 0.480 | -22.86% | 29.41% |
| Moderate holding continuity | 75.34% | 6.00% | 0.461 | -22.86% | 29.41% |
| Broader holding continuity | 62.55% | 5.17% | 0.441 | -22.86% | 29.41% |
Frozen score · fixed slots · 2016-08-22 – 2026-08-24 · 2429 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Frozen score · fixed slots | 81.27% | 6.37% | 0.480 | -22.86% | 29.41% |
| Ridge challenger A · fixed slots | 70.60% | 5.70% | 0.455 | -20.96% | 29.41% |
| Ridge challenger B · fixed slots | 71.29% | 5.74% | 0.449 | -20.96% | 29.41% |
| Ridge challenger C · fixed slots | 79.23% | 6.24% | 0.473 | -22.86% | 29.41% |
Core + quality style: Missing required price columns; original observation retained in archive
Core + dividend low volatility: Missing required price columns; original observation retained in archive
Core + quality + dividend: Missing required price columns; original observation retained in archive
Where cumulative return came from
Contributions are linked through prior-day net asset value and sum to cumulative return. They are not components of annualized return. Bond carry and trading costs are shown separately.
| Configuration | Risk-asset contribution | Bond contribution | Cost contribution | Reconciliation residual | Cumulative return |
|---|---|---|---|---|---|
| Fixed slots · baseline | 69.25% | 14.05% | -6.52% | 0.00% | 76.78% |
| Fixed slots · 75% risk cap | 56.15% | 18.12% | -5.48% | 0.00% | 68.79% |
| Fixed slots · 50% risk cap | 43.87% | 23.92% | -4.00% | 0.00% | 63.79% |
| HRP allocation · baseline | 103.64% | 18.28% | -7.65% | 0.00% | 114.27% |
| HRP allocation · 75% risk cap | 51.15% | 27.52% | -3.27% | 0.00% | 75.40% |
| HRP allocation · 50% risk cap | 51.26% | 27.17% | -3.22% | 0.00% | 75.21% |
| Minimum variance · baseline | 97.36% | 15.27% | -6.73% | 0.00% | 105.90% |
| Minimum variance · 75% risk cap | 50.44% | 22.95% | -3.55% | 0.00% | 69.84% |
| Minimum variance · 50% risk cap | 45.21% | 25.72% | -3.09% | 0.00% | 67.83% |
| Core · HRP | 51.15% | 27.52% | -3.27% | 0.00% | 75.40% |
| Core + cash-flow style | 51.15% | 27.52% | -3.27% | 0.00% | 75.40% |
| Core + CSI 1000 style | 52.68% | 27.58% | -3.29% | 0.00% | 76.98% |
| Core + CSI 2000 style | 53.26% | 27.58% | -3.27% | 0.00% | 77.57% |
| Dynamic correlation pruning · HRP | 43.66% | 27.95% | -3.12% | 0.00% | 68.49% |
| Fixed slots · baseline | 73.66% | 14.40% | -6.79% | 0.00% | 81.27% |
| Moderate holding continuity | 67.18% | 13.91% | -5.75% | 0.00% | 75.34% |
| Broader holding continuity | 53.67% | 14.34% | -5.46% | 0.00% | 62.55% |
| Frozen score · fixed slots | 73.66% | 14.40% | -6.79% | 0.00% | 81.27% |
| Ridge challenger A · fixed slots | 64.10% | 14.43% | -7.93% | 0.00% | 70.60% |
| Ridge challenger B · fixed slots | 64.57% | 14.40% | -7.68% | 0.00% | 71.29% |
| Ridge challenger C · fixed slots | 72.29% | 14.40% | -7.46% | 0.00% | 79.23% |
Historical decision replay
Public replay covers two representative baselines: fixed-slot core and defensive core with a 75% risk cap. All variants retain private traces. This is a historical explanation, not a current position or trading signal.
Fixed slots · baseline · 2026-08-21 → 2026-08-24
Executed · Risk allocation: 75.00% · Bond allocation: 25.00%
| ETF | First observed price | Observed sessions | Eligible | Listing evidence |
|---|---|---|---|---|
| 510300 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 510500 | 2015-01-05 | 2826 | Ineligible | Unverified |
| 512100 | 2016-11-04 | 2380 | Ineligible | Unverified |
| 510880 | 2015-01-05 | 2828 | Eligible | Unverified |
| 159915 | 2015-01-05 | 2827 | Eligible | Unverified |
| 588000 | 2020-11-16 | 1400 | Eligible | Unverified |
| 518880 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 511260 | 2017-08-24 | 2182 | Eligible | Unverified |
Core · HRP · 2026-08-21 → 2026-08-24
Executed · Risk allocation: 40.00% · Bond allocation: 60.00%
| ETF | First observed price | Observed sessions | Eligible | Listing evidence |
|---|---|---|---|---|
| 510300 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 510500 | 2015-01-05 | 2826 | Ineligible | Unverified |
| 512100 | 2016-11-04 | 2380 | Ineligible | Unverified |
| 510880 | 2015-01-05 | 2828 | Eligible | Unverified |
| 159915 | 2015-01-05 | 2827 | Eligible | Unverified |
| 588000 | 2020-11-16 | 1400 | Eligible | Unverified |
| 518880 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 511260 | 2017-08-24 | 2182 | Eligible | Unverified |
First observation is not a verified listing date. Eligibility uses only history through the signal date. Allocation describes the resulting historical aggregate after the execution decision; a skipped or blocked target is not presented as a trade.
Theme-to-ETF incremental test: blocked
Historical mapping and independent captures are still missing. Performance remains unavailable.
Methods and evidence boundaries
Adjusted-price valuation; next observed session close; 5 basis points per gross traded notional; 252 sessions per year. This is not a broker cash ledger. The full common window preserves each path’s history rather than restarting the engine at the window boundary.
Download reviewed evidence and review fingerprintsReproduced weekly rotation evidence
This section preserves the earlier reviewed snapshot with three missing price columns. The follow-up above recovers those inputs and uses a separate calendar aligned across execution delays; do not treat these sections as the same release.
Compare compatible windows, replay historical eligibility and inspect reconciled return contributions. These are historical diagnostics; independently captured availability and forward validation remain missing.
24 registered configurations; 21 reproduced, 3 unavailable because required price columns are missing. The original rounded observations remain in the archive below.
Metrics are recomputed from preserved daily paths on this exact common calendar. Each group isolates a different intervention; do not rank groups or legacy studies together.
Scroll tables horizontally to inspect every column.
Fixed slots · baseline · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Fixed slots · baseline | 76.78% | 6.80% | 0.495 | -22.86% | 32.74% |
| Fixed slots · 75% risk cap | 68.79% | 6.23% | 0.549 | -18.09% | 42.84% |
| Fixed slots · 50% risk cap | 63.79% | 5.86% | 0.705 | -11.61% | 57.26% |
HRP allocation · baseline · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| HRP allocation · baseline | 114.27% | 9.20% | 0.731 | -20.21% | 40.38% |
| HRP allocation · 75% risk cap | 75.40% | 6.70% | 1.026 | -8.56% | 64.17% |
| HRP allocation · 50% risk cap | 75.21% | 6.69% | 1.034 | -8.56% | 64.86% |
Minimum variance · baseline · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Minimum variance · baseline | 105.90% | 8.70% | 0.685 | -20.09% | 33.12% |
| Minimum variance · 75% risk cap | 69.84% | 6.31% | 0.883 | -8.58% | 54.94% |
| Minimum variance · 50% risk cap | 67.83% | 6.16% | 0.945 | -8.45% | 60.84% |
Core · HRP · 2017-08-28 – 2026-08-24 · 2182 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Core · HRP | 75.40% | 6.70% | 1.026 | -8.56% | 64.17% |
| Core + cash-flow style | 75.40% | 6.70% | 1.026 | -8.56% | 64.17% |
| Core + CSI 1000 style | 76.98% | 6.81% | 1.041 | -8.53% | 64.17% |
| Core + CSI 2000 style | 77.57% | 6.86% | 1.048 | -8.56% | 64.16% |
| Dynamic correlation pruning · HRP | 68.49% | 6.21% | 1.122 | -7.31% | 65.40% |
Fixed slots · baseline · 2016-08-22 – 2026-08-24 · 2429 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Fixed slots · baseline | 81.27% | 6.37% | 0.480 | -22.86% | 29.41% |
| Moderate holding continuity | 75.34% | 6.00% | 0.461 | -22.86% | 29.41% |
| Broader holding continuity | 62.55% | 5.17% | 0.441 | -22.86% | 29.41% |
Frozen score · fixed slots · 2016-08-22 – 2026-08-24 · 2429 sessions
| Configuration | Cumulative return | Annualized return | Sharpe (zero risk-free rate) | Maximum drawdown | Average daily bond allocation |
|---|---|---|---|---|---|
| Frozen score · fixed slots | 81.27% | 6.37% | 0.480 | -22.86% | 29.41% |
| Ridge challenger A · fixed slots | 70.60% | 5.70% | 0.455 | -20.96% | 29.41% |
| Ridge challenger B · fixed slots | 71.29% | 5.74% | 0.449 | -20.96% | 29.41% |
| Ridge challenger C · fixed slots | 79.23% | 6.24% | 0.473 | -22.86% | 29.41% |
Core + quality style: Missing required price columns; original observation retained in archive
Core + dividend low volatility: Missing required price columns; original observation retained in archive
Core + quality + dividend: Missing required price columns; original observation retained in archive
Where cumulative return came from
Contributions are linked through prior-day net asset value and sum to cumulative return. They are not components of annualized return. Bond carry and trading costs are shown separately.
| Configuration | Risk-asset contribution | Bond contribution | Cost contribution | Reconciliation residual | Cumulative return |
|---|---|---|---|---|---|
| Fixed slots · baseline | 69.25% | 14.05% | -6.52% | 0.00% | 76.78% |
| Fixed slots · 75% risk cap | 56.15% | 18.12% | -5.48% | 0.00% | 68.79% |
| Fixed slots · 50% risk cap | 43.87% | 23.92% | -4.00% | 0.00% | 63.79% |
| HRP allocation · baseline | 103.64% | 18.28% | -7.65% | 0.00% | 114.27% |
| HRP allocation · 75% risk cap | 51.15% | 27.52% | -3.27% | 0.00% | 75.40% |
| HRP allocation · 50% risk cap | 51.26% | 27.17% | -3.22% | 0.00% | 75.21% |
| Minimum variance · baseline | 97.36% | 15.27% | -6.73% | 0.00% | 105.90% |
| Minimum variance · 75% risk cap | 50.44% | 22.95% | -3.55% | 0.00% | 69.84% |
| Minimum variance · 50% risk cap | 45.21% | 25.72% | -3.09% | 0.00% | 67.83% |
| Core · HRP | 51.15% | 27.52% | -3.27% | 0.00% | 75.40% |
| Core + cash-flow style | 51.15% | 27.52% | -3.27% | 0.00% | 75.40% |
| Core + CSI 1000 style | 52.68% | 27.58% | -3.29% | 0.00% | 76.98% |
| Core + CSI 2000 style | 53.26% | 27.58% | -3.27% | 0.00% | 77.57% |
| Dynamic correlation pruning · HRP | 43.66% | 27.95% | -3.12% | 0.00% | 68.49% |
| Fixed slots · baseline | 73.66% | 14.40% | -6.79% | 0.00% | 81.27% |
| Moderate holding continuity | 67.18% | 13.91% | -5.75% | 0.00% | 75.34% |
| Broader holding continuity | 53.67% | 14.34% | -5.46% | 0.00% | 62.55% |
| Frozen score · fixed slots | 73.66% | 14.40% | -6.79% | 0.00% | 81.27% |
| Ridge challenger A · fixed slots | 64.10% | 14.43% | -7.93% | 0.00% | 70.60% |
| Ridge challenger B · fixed slots | 64.57% | 14.40% | -7.68% | 0.00% | 71.29% |
| Ridge challenger C · fixed slots | 72.29% | 14.40% | -7.46% | 0.00% | 79.23% |
Historical decision replay
Public replay covers two representative baselines: fixed-slot core and defensive core with a 75% risk cap. All variants retain private traces. This is a historical explanation, not a current position or trading signal.
Fixed slots · baseline · 2026-08-21 → 2026-08-24
Executed · Risk allocation: 75.00% · Bond allocation: 25.00%
| ETF | First observed price | Observed sessions | Eligible | Listing evidence |
|---|---|---|---|---|
| 510300 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 510500 | 2015-01-05 | 2826 | Ineligible | Unverified |
| 512100 | 2016-11-04 | 2380 | Ineligible | Unverified |
| 510880 | 2015-01-05 | 2828 | Eligible | Unverified |
| 159915 | 2015-01-05 | 2827 | Eligible | Unverified |
| 588000 | 2020-11-16 | 1400 | Eligible | Unverified |
| 518880 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 511260 | 2017-08-24 | 2182 | Eligible | Unverified |
Core · HRP · 2026-08-21 → 2026-08-24
Executed · Risk allocation: 40.00% · Bond allocation: 60.00%
| ETF | First observed price | Observed sessions | Eligible | Listing evidence |
|---|---|---|---|---|
| 510300 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 510500 | 2015-01-05 | 2826 | Ineligible | Unverified |
| 512100 | 2016-11-04 | 2380 | Ineligible | Unverified |
| 510880 | 2015-01-05 | 2828 | Eligible | Unverified |
| 159915 | 2015-01-05 | 2827 | Eligible | Unverified |
| 588000 | 2020-11-16 | 1400 | Eligible | Unverified |
| 518880 | 2015-01-05 | 2828 | Ineligible | Unverified |
| 511260 | 2017-08-24 | 2182 | Eligible | Unverified |
First observation is not a verified listing date. Eligibility uses only history through the signal date. Allocation describes the resulting historical aggregate after the execution decision; a skipped or blocked target is not presented as a trade.
Theme-to-ETF incremental test: blocked
Historical mapping and independent captures are still missing. Performance remains unavailable.
Methods and evidence boundaries
Adjusted-price valuation; next observed session close; 5 basis points per gross traded notional; 252 sessions per year. This is not a broker cash ledger. The full common window preserves each path’s history rather than restarting the engine at the window boundary.
Download reviewed evidence and review fingerprintsOriginal weekly observations — source archive
Rounded figures transcribed from the original notes. Use the reproduced evidence above for comparable windows and daily-average allocations; these archived rows use their original definitions and scopes.
Weekly ETF rotation: what changed across experiments?
These archived aggregate results were transcribed and checked against retained research notes. They are separate from the newly reproduced evidence above. The source panel covers 2015-01-05 through 2026-08-24; that is input coverage, not a verified common performance start date. Runs use actual observed ETF history, next-observed-session close execution, and a 5 bp gross-traded-notional cost assumption. Cost scenarios are not brokerage quotes. The first usable return date is not independently established here. Separate groups retain their original comparisons.
Historical diagnostics from a repeatedly examined sample. Metrics are rounded source-note aggregates; no raw daily ledger or continuous equity curve is published. Sharpe uses a zero-rate convention where specified by the pool study; a uniform recomputation across all runs is pending. Do not compare these annualized returns with the legacy chart’s cumulative return or with hotspot event uplift. None of these results authorizes live trading.
Static evidence table. Enable JavaScript to filter experiments, sort values and explore charts.
| Experiment group | Configuration | Annualized return | Sharpe ratio | Maximum drawdown | Average bond fallback weight | Executed rebalances |
|---|---|---|---|---|---|---|
| Risk exposure and allocation | Fixed slots · baseline | 6.37% | 0.480 | -22.86% | 31.44% | Not reported |
| Risk exposure and allocation | Fixed slots · 75% risk cap | 6.23% | 0.549 | -18.09% | 42.71% | Not reported |
| Risk exposure and allocation | Fixed slots · 50% risk cap | 5.86% | 0.705 | -11.61% | 57.25% | Not reported |
| Risk exposure and allocation | HRP allocation · baseline | 8.65% | 0.709 | -20.21% | 38.88% | Not reported |
| Risk exposure and allocation | HRP allocation · 75% risk cap | 6.70% | 1.026 | -8.56% | 64.22% | Not reported |
| Risk exposure and allocation | HRP allocation · 50% risk cap | 6.69% | 1.034 | -8.56% | 64.87% | Not reported |
| Risk exposure and allocation | Minimum variance · baseline | 8.35% | 0.678 | -20.09% | 31.81% | Not reported |
| Risk exposure and allocation | Minimum variance · 75% risk cap | 6.31% | 0.883 | -8.58% | 54.96% | Not reported |
| Risk exposure and allocation | Minimum variance · 50% risk cap | 6.16% | 0.945 | -8.45% | 60.87% | Not reported |
| ETF universe expansion | Core · HRP | 6.70% | 1.026 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + cash-flow style | 6.70% | 1.026 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + CSI 1000 style | 6.81% | 1.041 | -8.53% | Not reported | Not reported |
| ETF universe expansion | Core + CSI 2000 style | 6.86% | 1.048 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + quality style | 6.33% | 0.979 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + dividend low volatility | 6.40% | 0.982 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + quality + dividend | 6.05% | 0.936 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Dynamic correlation pruning · HRP | 6.21% | 1.122 | -7.31% | Not reported | Not reported |
| Holding continuity | Fixed slots · baseline | 6.37% | 0.480 | -22.86% | Not reported | 649 |
| Holding continuity | Moderate holding continuity | 6.00% | 0.461 | -22.86% | Not reported | 595 |
| Holding continuity | Broader holding continuity | 5.17% | 0.441 | -22.86% | Not reported | 551 |
| Scoring model | Frozen score · fixed slots | 6.37% | 0.480 | -22.86% | Not reported | 649 |
| Scoring model | Ridge challenger A · fixed slots | 5.70% | 0.455 | -20.96% | Not reported | 690 |
| Scoring model | Ridge challenger B · fixed slots | 5.74% | 0.449 | -20.96% | Not reported | 676 |
| Scoring model | Ridge challenger C · fixed slots | 6.24% | 0.473 | -22.86% | Not reported | 680 |
Static evidence table. Enable JavaScript to filter experiments, sort values and explore charts.
| Experiment group | Configuration | Annualized return | Sharpe ratio | Maximum drawdown | Average bond fallback weight | Executed rebalances |
|---|---|---|---|---|---|---|
| Risk exposure and allocation | Fixed slots · baseline | 6.37% | 0.480 | -22.86% | 31.44% | Not reported |
| Risk exposure and allocation | Fixed slots · 75% risk cap | 6.23% | 0.549 | -18.09% | 42.71% | Not reported |
| Risk exposure and allocation | Fixed slots · 50% risk cap | 5.86% | 0.705 | -11.61% | 57.25% | Not reported |
| Risk exposure and allocation | HRP allocation · baseline | 8.65% | 0.709 | -20.21% | 38.88% | Not reported |
| Risk exposure and allocation | HRP allocation · 75% risk cap | 6.70% | 1.026 | -8.56% | 64.22% | Not reported |
| Risk exposure and allocation | HRP allocation · 50% risk cap | 6.69% | 1.034 | -8.56% | 64.87% | Not reported |
| Risk exposure and allocation | Minimum variance · baseline | 8.35% | 0.678 | -20.09% | 31.81% | Not reported |
| Risk exposure and allocation | Minimum variance · 75% risk cap | 6.31% | 0.883 | -8.58% | 54.96% | Not reported |
| Risk exposure and allocation | Minimum variance · 50% risk cap | 6.16% | 0.945 | -8.45% | 60.87% | Not reported |
| ETF universe expansion | Core · HRP | 6.70% | 1.026 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + cash-flow style | 6.70% | 1.026 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + CSI 1000 style | 6.81% | 1.041 | -8.53% | Not reported | Not reported |
| ETF universe expansion | Core + CSI 2000 style | 6.86% | 1.048 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + quality style | 6.33% | 0.979 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + dividend low volatility | 6.40% | 0.982 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Core + quality + dividend | 6.05% | 0.936 | -8.56% | Not reported | Not reported |
| ETF universe expansion | Dynamic correlation pruning · HRP | 6.21% | 1.122 | -7.31% | Not reported | Not reported |
| Holding continuity | Fixed slots · baseline | 6.37% | 0.480 | -22.86% | Not reported | 649 |
| Holding continuity | Moderate holding continuity | 6.00% | 0.461 | -22.86% | Not reported | 595 |
| Holding continuity | Broader holding continuity | 5.17% | 0.441 | -22.86% | Not reported | 551 |
| Scoring model | Frozen score · fixed slots | 6.37% | 0.480 | -22.86% | Not reported | 649 |
| Scoring model | Ridge challenger A · fixed slots | 5.70% | 0.455 | -20.96% | Not reported | 690 |
| Scoring model | Ridge challenger B · fixed slots | 5.74% | 0.449 | -20.96% | Not reported | 676 |
| Scoring model | Ridge challenger C · fixed slots | 6.24% | 0.473 | -22.86% | Not reported | 680 |
Industry expansion and short ETF histories
A separate broad industry expansion did not improve the retained strategy on its frozen sample. It is not mixed into the core-pool chart as if both runs shared fully audited return dates. More funds can add concentrated, correlated and shorter-history exposures. The cash-flow addition also left the full-sample rounded core metrics unchanged because it met the required history only late in the sample; that does not establish that cash-flow investing has no value.
ETF rotation: historical diagnostic
Did the retained ETF recipes beat simple holdings across the matched historical window?
No recipe is ready for promotion. At 25 bps all three trail the fixed ETF basket. A small zero-cost raw-price advantage for the ranker does not persist under the adjusted-price convention.
Conditional matched-mark tail: 1,183 open-to-open periods, 2021-02-18 to 2025-12-31; fixed basket of three current ETFs, not reconstructed historical membership.
Initially equal-weight fixed-share basket and single-ETF buy-and-hold, charged the same initial fee on matching dates.
The original full window is blocked by a missing opening mark for one ETF; the reported tail starts later. Backfilled history has no independent historical-availability receipt. Results are retrospective and were not an untouched holdout. Same-day factor-adjusted prices are a valuation sensitivity, not a broker cash-flow ledger; raw prices give a different zero-fee ranking comparison. The 0/10/25/50 bps values are fee scenarios, not brokerage quotes. Execution, corporate actions and capacity remain unaudited. The small modern ETF basket cannot establish whether ETF rotation works across other funds or periods.
These diagnostics do not establish profitability or readiness for live trading.
How to read these charts
The first chart compares cumulative returns under four assumed one-way costs and two price conventions. The second separates the regression recipe’s calendar-year pattern from the fixed basket. Neither chart is a fresh out-of-sample test.
What would make the next test useful
The useful next step is a new sample with a dated availability receipt, a frozen comparison and a cost-aware ledger. Until then, treat the regression result as unresolved and keep the other recipes out of promotion.
Aggregate results (66)
Returns are percentages. “bps” means basis points. Annual slices are exploratory and were computed after the full-window result was known. Bootstrap ranges are descriptive, not formal significance tests.
| Measure | Value | Definition |
|---|---|---|
| Raw price · Linear rank · 0 bps · Cumulative return | -13.76% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM regression · 0 bps · Cumulative return | -10.24% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM ranker · 0 bps · Cumulative return | -4.82% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Fixed-share basket · 0 bps · Cumulative return | -6.60% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Single ETF baseline · 0 bps · Cumulative return | -19.35% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Linear rank · 10 bps · Cumulative return | -38.54% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM regression · 10 bps · Cumulative return | -10.75% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM ranker · 10 bps · Cumulative return | -39.72% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Fixed-share basket · 10 bps · Cumulative return | -6.69% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Single ETF baseline · 10 bps · Cumulative return | -19.43% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Linear rank · 25 bps · Cumulative return | -63.04% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM regression · 25 bps · Cumulative return | -11.50% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM ranker · 25 bps · Cumulative return | -69.64% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Fixed-share basket · 25 bps · Cumulative return | -6.84% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Single ETF baseline · 25 bps · Cumulative return | -19.56% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Linear rank · 50 bps · Cumulative return | -84.20% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM regression · 50 bps · Cumulative return | -12.73% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · LightGBM ranker · 50 bps · Cumulative return | -90.34% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Fixed-share basket · 50 bps · Cumulative return | -7.08% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Single ETF baseline · 50 bps · Cumulative return | -19.76% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Linear rank · 0 bps · Cumulative return | -3.66% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM regression · 0 bps · Cumulative return | -6.83% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM ranker · 0 bps · Cumulative return | 0.38% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Fixed-share basket · 0 bps · Cumulative return | 1.78% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Single ETF baseline · 0 bps · Cumulative return | -13.11% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Linear rank · 10 bps · Cumulative return | -31.33% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM regression · 10 bps · Cumulative return | -7.36% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM ranker · 10 bps · Cumulative return | -36.42% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Fixed-share basket · 10 bps · Cumulative return | 1.67% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Single ETF baseline · 10 bps · Cumulative return | -13.20% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Linear rank · 25 bps · Cumulative return | -58.70% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM regression · 25 bps · Cumulative return | -8.14% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM ranker · 25 bps · Cumulative return | -67.98% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Fixed-share basket · 25 bps · Cumulative return | 1.52% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Single ETF baseline · 25 bps · Cumulative return | -13.33% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Linear rank · 50 bps · Cumulative return | -82.33% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM regression · 50 bps · Cumulative return | -9.42% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · LightGBM ranker · 50 bps · Cumulative return | -89.81% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Fixed-share basket · 50 bps · Cumulative return | 1.25% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Adjusted price · Single ETF baseline · 50 bps · Cumulative return | -13.56% | Cumulative net NAV change over 1,183 matched open-to-open periods under the stated price and fee convention. |
| Raw price · Linear rank · 25 bps · Max drawdown | -72.04% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Raw price · LightGBM regression · 25 bps · Max drawdown | -51.37% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Raw price · LightGBM ranker · 25 bps · Max drawdown | -75.62% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Raw price · Fixed-share basket · 25 bps · Max drawdown | -46.92% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Raw price · Single ETF baseline · 25 bps · Max drawdown | -46.82% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Adjusted price · Linear rank · 25 bps · Max drawdown | -69.26% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Adjusted price · LightGBM regression · 25 bps · Max drawdown | -50.08% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Adjusted price · LightGBM ranker · 25 bps · Max drawdown | -74.57% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Adjusted price · Fixed-share basket · 25 bps · Max drawdown | -43.01% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Adjusted price · Single ETF baseline · 25 bps · Max drawdown | -43.97% | Largest peak-to-trough NAV decline in the stated valuation convention at 25 bps assumed cost. |
| Adjusted price · LightGBM regression · 2021 · 25 bps · Calendar return | -9.89% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · Fixed-share basket · 2021 · 25 bps · Calendar return | -2.73% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · LightGBM regression · 2022 · 25 bps · Calendar return | -24.78% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · Fixed-share basket · 2022 · 25 bps · Calendar return | -22.24% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · LightGBM regression · 2023 · 25 bps · Calendar return | -15.21% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · Fixed-share basket · 2023 · 25 bps · Calendar return | -11.86% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · LightGBM regression · 2024 · 25 bps · Calendar return | 19.46% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · Fixed-share basket · 2024 · 25 bps · Calendar return | 15.63% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · LightGBM regression · 2025 · 25 bps · Calendar return | 33.81% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Adjusted price · Fixed-share basket · 2025 · 25 bps · Calendar return | 31.68% | Exploratory compounded calendar-year return grouped by exit year, calculated after the full-period result was known. |
| Linear rank · 25 bps · Interval lower bound | -23.71% | 95% descriptive interval for annualized paired relative log return versus the fixed basket, from 10,000 circular block resamples of 20 periods; not a formal significance test. |
| Linear rank · 25 bps · Interval upper bound | -14.84% | 95% descriptive interval for annualized paired relative log return versus the fixed basket, from 10,000 circular block resamples of 20 periods; not a formal significance test. |
| LightGBM regression · 25 bps · Interval lower bound | -6.31% | 95% descriptive interval for annualized paired relative log return versus the fixed basket, from 10,000 circular block resamples of 20 periods; not a formal significance test. |
| LightGBM regression · 25 bps · Interval upper bound | 1.93% | 95% descriptive interval for annualized paired relative log return versus the fixed basket, from 10,000 circular block resamples of 20 periods; not a formal significance test. |
| LightGBM ranker · 25 bps · Interval lower bound | -30.12% | 95% descriptive interval for annualized paired relative log return versus the fixed basket, from 10,000 circular block resamples of 20 periods; not a formal significance test. |
| LightGBM ranker · 25 bps · Interval upper bound | -19.26% | 95% descriptive interval for annualized paired relative log return versus the fixed basket, from 10,000 circular block resamples of 20 periods; not a formal significance test. |
Related factor methods
Factor links are conceptual references; their datasets and definitions are not interchangeable with strategy inputs.
Reviewed source and public-content fingerprints
doc:quant-research.research.legacy-strategy-robustness-followup-20261016
555b981d2f157c34db21a1d656752b78906077497960c24db4e14612e43bbee7
966fa7ea1c959adc487416d70eb5b03dd268cc12f35a5439b230556085734e7e
Hotspot overlay: historical diagnostic
Did an individual-stock heat overlay improve the same hotspot candidate base?
The overlay improves three of four fixed five-session events at each tested cost. Four events do not establish a reliable edge or validate the complete hotspot strategy.
Four isolated 2025 signal dates; each event holds for five sessions. Returns use selected opening-price marks and events do not form a continuous portfolio.
Paired candidate arms share the same observed topic and membership base; the comparison changes only the additional individual-stock heat overlay.
Historical snapshot dates do not prove when each input was available to a live researcher; topic membership snapshots may be incomplete. Only four isolated events are available; this is not a significance test, untouched sample, or complete strategy comparison. Raw opening prices omit corporate-action cash flows. Suspensions, price limits, lot sizes and capacity are unaudited.
These diagnostics do not establish profitability or readiness for live trading.
How to read these charts
The chart shows the average paired return difference and how many of the four events favored the overlay. These are separate summaries of the same four events, not extra observations. Event-by-event dates and returns are intentionally not published.
What would make the next test useful
A stronger test needs new signal dates, proof that each input was available at the time, and a continuous portfolio comparison against a topic-free candidate base.
Aggregate results (6)
Returns are percentages. “bps” means basis points. Annual slices are exploratory and were computed after the full-window result was known. Bootstrap ranges are descriptive, not formal significance tests.
| Measure | Value | Definition |
|---|---|---|
| 0 bps · Mean event uplift | +0.24 pp | Unweighted mean paired uplift across four isolated five-session events, in percentage points; not a continuous portfolio return. |
| 0 bps · Positive events | 3 | Number of the four isolated events where the overlay return exceeded the no-overlay return. |
| 25 bps · Mean event uplift | +0.24 pp | Unweighted mean paired uplift across four isolated five-session events, in percentage points; not a continuous portfolio return. |
| 25 bps · Positive events | 3 | Number of the four isolated events where the overlay return exceeded the no-overlay return. |
| 50 bps · Mean event uplift | +0.24 pp | Unweighted mean paired uplift across four isolated five-session events, in percentage points; not a continuous portfolio return. |
| 50 bps · Positive events | 3 | Number of the four isolated events where the overlay return exceeded the no-overlay return. |
Reviewed source and public-content fingerprints
doc:quant-research.research.legacy-strategy-robustness-followup-20261016
555b981d2f157c34db21a1d656752b78906077497960c24db4e14612e43bbee7
966fa7ea1c959adc487416d70eb5b03dd268cc12f35a5439b230556085734e7e
What would validate the complete strategy?
The next useful experiment isolates the theme-to-ETF link. It should not choose the highest historical Sharpe from unrelated tables. These are research questions, not published results.
Does theme information add value?
Freeze one historically eligible ETF universe, allocation rule and execution convention. Compare a theme-free baseline with the same system using only theme information available before each signal. Include neutral or stale themes, rather than selecting successful narratives afterwards.
Does the ETF represent the intended exposure?
Check dated index methodology and actual portfolio exposure, product inception, overlapping holdings, tracking differences and tradability. Keep unavailable ETFs out of earlier periods; an index’s longer history cannot be treated as a fund’s tradable history.
Is apparent improvement just lower risk?
Compare matched risk budgets and report bond exposure alongside return, drawdown, turnover and costs. A strategy with more bonds can suffer smaller losses without showing better theme selection. Review duration exposure explicitly.
Will the result survive new dates and real constraints?
Predefine acceptance and stopping criteria, retain failed runs, and collect a forward record without retuning to that record. Reconcile feasible trades and corporate actions before treating a research NAV as an execution result.
Definitions, sources and evidence boundaries
Cumulative versus annualized return
Cumulative return describes total NAV change over the stated window. Annualized return converts compound growth to a yearly rate. Neither is interchangeable with a five-session event uplift, which is a paired difference measured in percentage points.
Historical diagnostics versus new evidence
Changing the model or slicing the same dates does not create independent observations. The weekly challenges and legacy tail were examined retrospectively. A forward test requires frozen decisions and subsequently arriving data.
Costs and price conventions
The weekly study assumes 5 bps on gross traded notional. The legacy charts retain their own 0/10/25/50 bps scenarios and raw/adjusted valuations; hotspot events use 0/25/50 bps. These assumptions and holding periods differ, so this page does not combine the results into a single performance ranking.
Source review and remaining uncertainty
The legacy panels use the existing digest-checked public evidence asset. Weekly aggregates were checked against six retained research notes on 2026-10-17. This is a review of note-level transcription and public scope, not an independent audit of the raw inputs, execution ledger or historical availability. Underlying strategies remain separate research identities.
Retained weekly source notes
The source review covers the weekly strategy specification and the risk-cap, pool-expansion matrix, holding-continuity, Ridge and broad-industry-expansion notes. The experiments are dated 2026-09-16; note metadata records verification on 2026-10-01. That archive retains the original observations; newly reproduced runs are presented separately above. The downloadable review lists source fingerprints and the exact public-field boundary.
Download source review (English)