# 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`

