Skip to content

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 vs cot_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 into MarketRegimeDetector
  • ml_ensemble, meta_labeller_pm — needs ML loop revival
  • comex_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

  1. Operator signs kill list section 1 deletions.
  2. Branch chore/kill-list-2026-05 removes files + registry entries + tests.
  3. 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.