Three questions answered against snapshot copies, with no production change. Step 1 — how sensitive is the backtest to the ranking universe? Restoring 85 S&P 500 constituents removed between 2021-06 and 2026-07 moves the same window from 2.09 Sharpe / 51.6% CAGR to 1.57 / 38.1%. The failed banks never reached either book (identical best/worst trade R), so this measures universe recomposition, not survivorship bias. The removals list is curated by hand with per-symbol sources; only three explicitly confirmed terminal events get marks, and four unresolved endings are reported as caveats rather than inferred. Step 2 — does a total-return basis change the ranking? Ordered lists differ on 1009 of 1009 evaluated dates, 4.56 replacements per date. The shift correlates with trailing implied yield (mean Spearman +0.79), which is strong evidence consistent with a dividend effect but does not isolate own-yield, since both the stock and benchmark legs change. Step 3a — does that reach P&L? A paired replay reusing one shared candidate set (control reproduces the production row exactly) changes ~30% of entries. Treatment is -3.7pp CAGR and -1.9pp drawdown, with the entire return gap in 2025. A paired moving-block bootstrap (seed 20260907, 5000 replicates, 21/63 blocks, both reported) puts every interval across zero. Decision: production stays unchanged. No schema, no ingestion, no wider sweep. The observed window does not resolve which basis is better, and choosing a threshold now — with -3.7pp on the table — would be fitting the rule to the answer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HAH7vVtn7qbcn1EVheecHQ
541 lines
11 KiB
JSON
541 lines
11 KiB
JSON
{
|
|
"generated_at": "2026-09-07T10:57:26.602851+00:00",
|
|
"snapshot": "C:\\Workspace\\signal-platform\\backtest_snapshots\\survivorship-a.sqlite",
|
|
"cache": "C:\\Workspace\\signal-platform\\backtest_snapshots\\tr-rank-cache.sqlite",
|
|
"window": {
|
|
"start": "2021-06-24",
|
|
"end": "2026-07-02"
|
|
},
|
|
"universe_size": 505,
|
|
"inert_snapshot_symbols": [
|
|
"RHM"
|
|
],
|
|
"cutoff": 80.0,
|
|
"verdict": "proceed to Step 3 - ordered lists differ",
|
|
"result": {
|
|
"evaluated_dates": 1009,
|
|
"skipped_dates_no_history": 252,
|
|
"dates_with_different_admitted_set": 1007,
|
|
"dates_with_different_ordered_list": 1009,
|
|
"mean_set_disagreement": 0.08668279921946223,
|
|
"max_set_disagreement": 0.21428571428571427,
|
|
"mean_admitted_per_arm": 100.09,
|
|
"mean_names_only_in_price_return": 4.56,
|
|
"mean_names_only_in_total_return": 4.56,
|
|
"mean_replacements_per_date": 4.56,
|
|
"max_replacements_per_date": 12,
|
|
"mean_symmetric_difference": 9.13,
|
|
"per_year": {
|
|
"2022": {
|
|
"dates": 132,
|
|
"changed_sets": 132,
|
|
"changed_orders": 132
|
|
},
|
|
"2023": {
|
|
"dates": 250,
|
|
"changed_sets": 250,
|
|
"changed_orders": 250
|
|
},
|
|
"2024": {
|
|
"dates": 252,
|
|
"changed_sets": 252,
|
|
"changed_orders": 252
|
|
},
|
|
"2025": {
|
|
"dates": 250,
|
|
"changed_sets": 248,
|
|
"changed_orders": 250
|
|
},
|
|
"2026": {
|
|
"dates": 125,
|
|
"changed_sets": 125,
|
|
"changed_orders": 125
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"date": "2022-06-24",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"CDNS",
|
|
"MAR",
|
|
"FIX",
|
|
"COST",
|
|
"LIN",
|
|
"AON",
|
|
"STE",
|
|
"CI",
|
|
"AJG"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"PSX",
|
|
"WY",
|
|
"AMCR",
|
|
"DTE",
|
|
"GIS",
|
|
"FE",
|
|
"BMY",
|
|
"ES"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"OXY",
|
|
"EQT",
|
|
"APA",
|
|
"DVN",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"ALB",
|
|
"CF",
|
|
"SMCI"
|
|
],
|
|
"first_10_total_return": [
|
|
"OXY",
|
|
"EQT",
|
|
"APA",
|
|
"DVN",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"CF",
|
|
"ALB",
|
|
"SMCI"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-06-27",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"FCX",
|
|
"COST",
|
|
"FIX",
|
|
"CI",
|
|
"PAYX",
|
|
"HSIC",
|
|
"L",
|
|
"AIZ"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"MO",
|
|
"AMCR",
|
|
"GIS",
|
|
"DTE",
|
|
"CMS",
|
|
"FE",
|
|
"BMY"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"ON",
|
|
"CTRA",
|
|
"ALB",
|
|
"CF",
|
|
"SMCI"
|
|
],
|
|
"first_10_total_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"ON",
|
|
"CTRA",
|
|
"CF",
|
|
"SMCI",
|
|
"ALB"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-06-28",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"FCX",
|
|
"LYV",
|
|
"ULTA",
|
|
"CDNS",
|
|
"AMP",
|
|
"FIX",
|
|
"AJG"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"MO",
|
|
"AMCR",
|
|
"ETR",
|
|
"DTE",
|
|
"CMS",
|
|
"BMY"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"MOS",
|
|
"EQT",
|
|
"CTRA",
|
|
"ON",
|
|
"CF",
|
|
"ALB",
|
|
"HAL"
|
|
],
|
|
"first_10_total_return": [
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"CF",
|
|
"EXE",
|
|
"HAL"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-06-29",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"CDNS",
|
|
"FIX",
|
|
"COST",
|
|
"WAB",
|
|
"AJG",
|
|
"TRV"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"LYB",
|
|
"MO",
|
|
"AMCR",
|
|
"DTE",
|
|
"WEC"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"CTRA",
|
|
"ALB",
|
|
"ON",
|
|
"CF",
|
|
"EXE"
|
|
],
|
|
"first_10_total_return": [
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"CTRA",
|
|
"CF",
|
|
"ALB",
|
|
"EXE",
|
|
"ON"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-06-30",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"LYV",
|
|
"CDNS",
|
|
"RJF",
|
|
"WAB",
|
|
"FIX",
|
|
"AON",
|
|
"TKO"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"NRG",
|
|
"MO",
|
|
"LMT",
|
|
"DTE",
|
|
"WEC",
|
|
"AEE"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"CF",
|
|
"ALB",
|
|
"HAL"
|
|
],
|
|
"first_10_total_return": [
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"CF",
|
|
"EXE",
|
|
"HAL"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-07-01",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"DDOG",
|
|
"LYV",
|
|
"HLT",
|
|
"RJF",
|
|
"FIX",
|
|
"TKO",
|
|
"AON",
|
|
"AJG",
|
|
"ACGL"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"WY",
|
|
"NRG",
|
|
"AMCR",
|
|
"MO",
|
|
"PKG",
|
|
"LMT",
|
|
"CMS",
|
|
"KO"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"EQT",
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"SMCI",
|
|
"CF",
|
|
"EXE"
|
|
],
|
|
"first_10_total_return": [
|
|
"EQT",
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"CF",
|
|
"SMCI",
|
|
"EXE"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-07-05",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"HLT",
|
|
"AON",
|
|
"TKO",
|
|
"L",
|
|
"TRV"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"WY",
|
|
"MO",
|
|
"CMS",
|
|
"DTE"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"ON",
|
|
"SMCI",
|
|
"CTRA",
|
|
"CF",
|
|
"HAL"
|
|
],
|
|
"first_10_total_return": [
|
|
"EQT",
|
|
"OXY",
|
|
"APA",
|
|
"DVN",
|
|
"MOS",
|
|
"ON",
|
|
"CTRA",
|
|
"SMCI",
|
|
"CF",
|
|
"EXE"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-07-06",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"TPL",
|
|
"ANET",
|
|
"HLT",
|
|
"LIN",
|
|
"UNH",
|
|
"CVS"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"RF",
|
|
"LYB",
|
|
"WY",
|
|
"MO",
|
|
"ETR"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"ON",
|
|
"CTRA",
|
|
"SMCI",
|
|
"CF",
|
|
"HAL"
|
|
],
|
|
"first_10_total_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"MOS",
|
|
"CTRA",
|
|
"ON",
|
|
"SMCI",
|
|
"CF",
|
|
"HAL"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-07-07",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"RJF",
|
|
"LIN",
|
|
"PKG",
|
|
"L"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"LYB",
|
|
"WY",
|
|
"ETR"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"ON",
|
|
"MOS",
|
|
"SMCI",
|
|
"CTRA",
|
|
"HAL",
|
|
"CF"
|
|
],
|
|
"first_10_total_return": [
|
|
"APA",
|
|
"EQT",
|
|
"OXY",
|
|
"DVN",
|
|
"MOS",
|
|
"ON",
|
|
"CTRA",
|
|
"SMCI",
|
|
"HAL",
|
|
"EXE"
|
|
]
|
|
},
|
|
{
|
|
"date": "2022-07-08",
|
|
"admitted_price_return": 99,
|
|
"admitted_total_return": 99,
|
|
"only_in_price_return": [
|
|
"ANET",
|
|
"HLT",
|
|
"RJF",
|
|
"WAB",
|
|
"RSG",
|
|
"AIZ",
|
|
"HSY"
|
|
],
|
|
"only_in_total_return": [
|
|
"EXC",
|
|
"LYB",
|
|
"AMCR",
|
|
"MO",
|
|
"ETR",
|
|
"AEP",
|
|
"ATO"
|
|
],
|
|
"order_changed_without_membership_change": false,
|
|
"first_10_price_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"ON",
|
|
"MOS",
|
|
"CTRA",
|
|
"SMCI",
|
|
"HAL",
|
|
"VLO"
|
|
],
|
|
"first_10_total_return": [
|
|
"APA",
|
|
"OXY",
|
|
"DVN",
|
|
"EQT",
|
|
"CTRA",
|
|
"MOS",
|
|
"ON",
|
|
"SMCI",
|
|
"HAL",
|
|
"EXE"
|
|
]
|
|
}
|
|
],
|
|
"elapsed_seconds": 132.0
|
|
},
|
|
"coverage": {
|
|
"symbols_cached": 507,
|
|
"symbols_with_unmatched_dates": 0,
|
|
"total_unmatched_dates": 0
|
|
}
|
|
}
|