# Phase 3 Gate — 15pct_30d

- Target 15% / Stop 10% / Horizon 30 sessions — long-only
- Dataset: 9,045,464 labeled rows, WIN base rate 21.38% (97 tickers, K_5M, freeze 2026-07-31)
- Coverage 5% | cost 0.10% round-trip | gate: precision >= 28% AND net > 0 AND per-month stability
- Candidates: 10 (folds 1-5 pooled) | passed gate: 10 | selected: ['cat_f1', 'lr_f2', 'xgb_f2', 'lgb_f2']
- Ensemble: equal weights, 4 models
- Threshold score >= 0.8933 (rank-average, folds 1-5 p95); effective N = 2,496 independent signals
- data_version=8de653411e5d... code_commit=164b94937a95 | elapsed 80.2 min

## Ensemble — validation folds 1-5

| metric | value |
|---|---|
| AUROC | 0.6814 |
| Precision @ 5% | 50.21% |
| Net expectancy / trade | +2.529% |
| Coverage (actual) | 5.00% |
| Signals | 74,897 |
| Max drawdown (daily equity) | -72.98% |

### Per-fold

| fold | AUROC | prec@5% | net | signals |
|---|---|---|---|---|
| 1 | 0.5661 | 43.6% | +0.982% | 14,754 |
| 2 | 0.6888 | 41.7% | +0.641% | 15,510 |
| 3 | 0.7258 | 62.2% | +5.559% | 16,266 |
| 4 | 0.7388 | 58.5% | +4.383% | 15,510 |
| 5 | 0.6748 | 43.1% | +0.564% | 12,857 |

### Per-month stability (ensemble, top coverage)

| month | n | base WIN | signal WIN | lift |
|---|---|---|---|---|
| 2026-01 | 151,319 | 39.5% | 55.7% | +16.1% |
| 2026-02 | 287,508 | 16.5% | 29.6% | +13.1% |
| 2026-03 | 332,900 | 29.4% | 54.2% | +24.7% |
| 2026-04 | 317,760 | 39.9% | 69.4% | +29.5% |
| 2026-05 | 302,626 | 32.6% | 47.1% | +14.5% |
| 2026-06 | 105,825 | 25.3% | 40.7% | +15.4% |

### Selected models
| id | algo | fset | prec@5% | net | auroc | mdd |
|---|---|---|---|---|---|---|
| cat_f1 | cat | F1 | 53.9% | +3.366% | 0.6859 | -47.99% |
| lr_f2 | lr | F2 | 50.1% | +2.675% | 0.6657 | -60.30% |
| xgb_f2 | xgb | F2 | 48.1% | +2.575% | 0.6457 | -55.74% |
| lgb_f2 | lgb | F2 | 47.9% | +2.666% | 0.6409 | -61.08% |

## Fold-6 confirmation (run once, after selection)

| AUROC | prec@thr | net | signals |
|---|---|---|---|
| 0.6549 | 42.83% | +0.457% | 9,636 |

## Verdict: PASS - >=3 models passed and fold-6 net > 0

Status: USER DECISION REQUIRED — do not deploy without approval.
