Phase 1 — Kill List
Policy: List before delete. Items marked DELETE CANDIDATE are safe to remove after operator approval. Items marked QUARANTINED stay in code but must not trade.
1. Strategies — stop trading (already quarantined in code)
| ID | Action | Evidence |
|---|---|---|
gold_platinum |
DELETE CANDIDATE | Sharpe -1.57, PBO 1.0 (qgtm_core/constants.py) |
seasonality_pm |
DELETE CANDIDATE | Sharpe -1.74, PBO 1.0; overlaps gold_seasonal_demand |
gold_etf_flow |
DELETE CANDIDATE | Broken Yahoo volume proxy (#82 Tier 0.6) |
gold_silver_ratio |
QUARANTINED → revive or delete | Sharpe -0.46, PBO 0.88 — try higher z before delete |
miners_vs_metal |
QUARANTINED | Marginal neg Sharpe |
overnight_gold |
QUARANTINED | Neg Sharpe; consider long-only variant |
mvg_v1 |
QUARANTINED + flag off | backtest_results/mvg_v1/: Sharpe -1.34 |
2. Strategies — unwired dead weight (never in daemon)
DELETE CANDIDATE (after confirming no imports):
cot_positioning(duplicate COT edge vscot_precious/hedging_pressure)precious_metals,gold_macro_regime,gold_seasonality,gold_momentum_mr,silver_industrial,miners_leverage— legacy composite file- Options registry in
options_strategies.py(6 IDs) — unless options execution is on 2026 roadmap
RESEARCH HOLD (do not delete yet):
regime_classifier_pm— wire or fold intoMarketRegimeDetectorml_ensemble,meta_labeller_pm— needs ML loop revivalcomex_warehouse,si_term_structure,fix_dislocation,inventory_surprise
3. Code / modules
| Path | Action | Rationale |
|---|---|---|
scripts/dead_ml_loop/ |
ARCHIVE OK | Already moved; not imported by daemon (#81) |
scripts/notion_legacy/ |
DELETE CANDIDATE | One-shot scripts (#60) |
qgtm_risk/options_risk.py |
DELETE or wire | Zero production imports (prior audit) |
| Duplicate deploy workflows | Consolidate | deploy.yml vs deploy-api-self-hosted.yml overlap |
Stale scripts/backtest_all.py registry (29 vs 52) |
FIX | Misleading operator surface |
4. Dependencies
| Dep | Action |
|---|---|
shap in pyproject if unused |
Remove or wire to ml_ensemble |
5. Documentation lies (fix, don't delete repo)
| Claim | Reality |
|---|---|
| "29 PM strategies" in README/daemon header | 52 in PM_STRATEGY_CATEGORIES |
| Self-learning / auto-retrain "done" | Modules in dead_ml_loop/ only |
| "Full backtest validation on every strategy" | 1 checked-in result dir |
Pending approval workflow
- Operator signs kill list section 1 deletions.
- Branch
chore/kill-list-2026-05removes files + registry entries + tests. - Run
make test-ci+ paper daemon smoke one session.
Do not delete quarantined strategies from constants until registry/docs updated — quarantine is the active control.