# Sector-residual deep test (masked, repaired snapshot) Generated: `2026-07-19T11:33:19.102779` > **SURVIVORSHIP BIAS: today's constituents backfilled. Relative IC only — not levels.** ## Pre-registered grade (mechanical) **Verdict: FAIL** Task 1 CLOSED — sector residual dead on deep evidence. Reason: failed one or more pre-registered checks (see checks) ```json { "sector_row": { "signal": "mom_12_1_sector_resid", "weeks": 83, "avg_cross_section": 480.0, "mean_ic": 0.0268, "ic_t_stat": 1.69, "ic_positive_pct": 60.2, "mean_quintile_spread": 0.0126, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 481.2, "avg_eligible_pre_mask": 480.0, "mask_binds_pct": 0.0 }, "resid_row_for_t": { "signal": "mom_12_1_resid", "weeks": 83, "avg_cross_section": 480.0, "mean_ic": 0.0251, "ic_t_stat": 1.3, "ic_positive_pct": 57.8, "mean_quintile_spread": 0.011, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 481.2, "avg_eligible_pre_mask": 480.0, "mask_binds_pct": 0.0 }, "resid_t_source": "identical_subset", "pre_2021": { "signal": "mom_12_1_sector_resid", "weeks": 36, "avg_cross_section": 460.7, "mean_ic": 0.0149, "ic_t_stat": 0.64, "ic_positive_pct": 58.3, "mean_quintile_spread": 0.0063, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 462.8, "avg_eligible_pre_mask": 460.7, "mask_binds_pct": 0.0 }, "post_2021": { "signal": "mom_12_1_sector_resid", "weeks": 48, "avg_cross_section": 494.5, "mean_ic": 0.033, "ic_t_stat": 1.39, "ic_positive_pct": 60.4, "mean_quintile_spread": 0.0158, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 495.1, "avg_eligible_pre_mask": 494.5, "mask_binds_pct": 0.0 }, "abs_mean_ic_ge_0_03": false, "sign_positive": true, "reliable": true, "weeks_ge_50": true, "weeks": 83, "t_ge_resid_same_cs": true, "sector_t": 1.69, "resid_t": 1.3, "era_both_present": true, "era_sign_consistent_positive": true, "pre_ic": 0.0149, "post_ic": 0.033, "avg_cross_section": 480.0 } ``` ## Step-1 sanity ```json { "skipped": true, "sanity": { "passed": true, "megacap": { "AAPL": { "symbol": "AAPL", "bars": 2649, "min_date": "2016-01-04", "max_date": "2026-07-17" }, "MSFT": { "symbol": "MSFT", "bars": 2649, "min_date": "2016-01-04", "max_date": "2026-07-17" }, "JPM": { "symbol": "JPM", "bars": 2649, "min_date": "2016-01-04", "max_date": "2026-07-17" }, "XOM": { "symbol": "XOM", "bars": 2649, "min_date": "2016-01-04", "max_date": "2026-07-17" }, "JNJ": { "symbol": "JNJ", "bars": 2649, "min_date": "2016-01-04", "max_date": "2026-07-17" } }, "megacap_ok": true, "megacap_reasons": [], "feed_floor": "2016-01-04", "spy_benchmark": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "old_shallow_floor": "2020-01-01", "sector_etfs": { "XLB": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLC": { "n": 2030, "min": "2018-06-19", "max": "2026-07-17" }, "XLE": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLF": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLI": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLK": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLP": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLRE": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLU": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLV": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" }, "XLY": { "n": 2649, "min": "2016-01-04", "max": "2026-07-17" } }, "sector_etfs_deep_count": 11, "sector_etfs_ok": true, "sector_etf_reasons": [], "still_shallow_count": 2882, "still_shallow_sample": [ "AACB", "AACBR", "AACBU", "AACI", "AACIU", "AACIW", "AACO", "AACOU", "AACOW", "AACP", "AACPR", "AACPU", "AACPW", "AAPG", "AARD", "ABAT", "ABCL", "ABLV", "ABLVW", "ABNB" ], "still_shallow_note": "Remaining 'shallow' names are mostly post-2017 IPOs/listings \u2014 expected, not a two-tier defect.", "xlc_note": "XLC lists mid-2018 \u2192 Communication Services residual coverage from ~mid-2019.", "feed_note": "Empirical Alpaca floor observed via SPY: 2016-01-04 (n=2649). Calendar history_days=5000 is a request cap, not a guarantee \u2014 sanity grades against the feed floor, not 5000 calendar days.", "target_history_days": 5000 } } ``` ## Mask diagnostics ```json { "reference_signal": "vol_6m", "avg_cross_section": 1499.3, "avg_raw_pool": 2641.3, "avg_eligible_pre_mask": 2098.8, "mask_binds_pct": 95.5, "weeks": 88 } ``` ## Signal table (rows only — no narrative for non-sector signals) | signal | mean_ic | t | weeks | avg_N | reliable | |---|---:|---:|---:|---:|---| | fip_id | -0.0184 | -2.11 | 83 | 1499.4 | True | | high_52w | 0.0761 | 4.46 | 84 | 1499.2 | True | | mom_12_1 | 0.0355 | 2.41 | 83 | 1499.4 | True | | mom_12_1_resid | 0.0148 | 1.02 | 83 | 1499.4 | True | | mom_12_1_sector_demeaned | 0.0076 | 0.46 | 83 | 483.2 | True | | mom_12_1_sector_resid | 0.0268 | 1.69 | 83 | 480.0 | True | | mom_3_1 | 0.0256 | 2.24 | 90 | 1498.6 | True | | mom_6_1 | 0.0101 | 0.91 | 88 | 1499.3 | True | | reversal_1m | 0.0156 | 1.37 | 89 | 1499.0 | True | | trend_200 | 0.0371 | 2.63 | 85 | 1499.6 | True | | vol_6m | -0.0704 | -3.14 | 88 | 1499.3 | True | ### Era split — mom_12_1_sector_resid only (for grade) | era | IC | t | weeks | N | |---|---:|---:|---:|---:| | pre_2021 | 0.0149 | 0.64 | 36 | 460.7 | | post_2021 | 0.033 | 1.39 | 48 | 494.5 | ### Identical-subset baselines (sector CS) ```json { "mom_12_1_sector_resid": { "signal": "mom_12_1_sector_resid", "weeks": 83, "avg_cross_section": 480.0, "mean_ic": 0.0268, "ic_t_stat": 1.69, "ic_positive_pct": 60.2, "mean_quintile_spread": 0.0126, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 481.2, "avg_eligible_pre_mask": 480.0, "mask_binds_pct": 0.0 }, "mom_12_1_resid": { "signal": "mom_12_1_resid", "weeks": 83, "avg_cross_section": 480.0, "mean_ic": 0.0251, "ic_t_stat": 1.3, "ic_positive_pct": 57.8, "mean_quintile_spread": 0.011, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 481.2, "avg_eligible_pre_mask": 480.0, "mask_binds_pct": 0.0 }, "mom_12_1": { "signal": "mom_12_1", "weeks": 83, "avg_cross_section": 480.0, "mean_ic": 0.0192, "ic_t_stat": 0.92, "ic_positive_pct": 56.6, "mean_quintile_spread": 0.0099, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 481.2, "avg_eligible_pre_mask": 480.0, "mask_binds_pct": 0.0 }, "mom_12_1_sector_demeaned": { "signal": "mom_12_1_sector_demeaned", "weeks": 83, "avg_cross_section": 479.0, "mean_ic": 0.0063, "ic_t_stat": 0.39, "ic_positive_pct": 55.4, "mean_quintile_spread": 0.0048, "reliable": true, "liquid_breadth_top_n": 1500, "liquid_min_price": 5.0, "avg_raw_pool": 480.2, "avg_eligible_pre_mask": 479.0, "mask_binds_pct": 0.0 } } ``` ## Status PENDING_HUMAN beyond the mechanical PASS/FAIL above. Nothing merged into production docs or prod code. JSON: `reports/sector-resid-deep-20260719-113319.json`