Skip to content

Strategy Coverage Investigation — 2026-04-16

Trigger: Today's live rebalance (16:09 UTC) fired signals from only 5 of 26 active strategies. Memory said 4; levered_etf_decay joined the set post-restart. The remaining 21 returned empty.

Headline

This is a data-wiring problem, not a strategy-quality problem. 14 of the 21 empty strategies cannot produce signals because the data they consume is not yet wired into the features pipeline.

Classification

strategy category bucket specific reason fix cost
real_rate_gold macro_fundamental Regime gate DFII10=1.89 mid tercile; 21d rate-change +0.06 not falling; z=0.24 — correctly abstains S (none)
dxy_gold macro_fundamental Threshold gate Residual z=0.04, beta=-3.46, corr=-0.45 — canonical relationship holds, no dislocation; entry_z=2.0 not hit S (none)
breakeven_inflation_gold macro_fundamental Regime gate z_be=-0.03, z_bs=-0.35 — neither rising; regime filter requires both > 0 S (none)
central_bank_gold macro_fundamental Missing data cb_gold_purchases / gold_reserves_share absent; no WGC/COFER provider M (wire WGC/World-Bank API)
vix_haven macro_fundamental Regime gate VIX=18.2, z=-0.16, SPY drawdown unknown (SPY not in universe); neither risk-off (z>1.5) nor complacency (z<-1.5) S (none) + XS (add SPY)
carver_carry momentum_trend Missing data No carry_forecast, front_price, deferred_price — requires commodity futures curve L (futures data pipeline)
kalman_pairs mean_reversion_pairs Threshold gate GLD/SLV warmup OK; Kalman z-score inside ±2.0 entry band S (none)
pairs_mr mean_reversion_pairs Threshold gate Log-spread z within ±2.0 band for all configured pairs S (none)
etf_flow_pm flow_positioning Missing data gld_shares_outstanding, slv_shares_outstanding absent S (SSGA/iShares scrape)
cot_precious flow_positioning Threshold gate gold_mm z=-1.08, silver_mm z=+0.79 — neither hits ±2.0 S (none)
sge_withdrawals flow_positioning Missing data Chinese data provider not wired L (SGE/WGC scrape)
hedging_pressure flow_positioning Missing data / column mismatch Needs commercial_net + open_interest; features have gold_comm_net / silver_comm_net but no alias or OI S (alias + OI from existing COT)
vol_risk_premium_pm volatility_derivatives Missing data gld_iv, slv_iv, vix_front, vix_back absent — no options IV feed L (options IV pipeline)
vol_term_structure_pm volatility_derivatives Missing data Same options IV gap L (same)
gamma_scalp_pm volatility_derivatives Missing data Options IV + event calendar L (options + events)
skew_trades volatility_derivatives Missing data 25d put/call IV skew — no options chain feed L (options chain)
tail_hedge_pm volatility_derivatives Not wired up (universe) VIXY/UVXY/SPY outside universe XS (universe expand)
event_drift_pm structural_seasonal Missing data event_type, actual, consensus absent — no econ calendar M (calendar scrape)
gc_term_structure term_structure_carry Missing data gc_front, gc_back absent L (GC futures curve)
cross_carry term_structure_carry Missing data gc_front/back, si_front/back absent L (same)
backwardation_stress term_structure_carry Missing data Same futures curve gap L (same)

Bucket rollup

  • Missing data: 13 strategies (need new data pipelines)
  • Regime gate (correctly abstaining): 3 strategies
  • Threshold gate (signal below entry): 4 strategies
  • Not wired up (universe): 1 strategy

Only 4 strategies are "working but quiet today." The remaining 17 need wiring.

Top 5 highest-leverage fixes

  1. Alias commercial_net + pull OI from existing COT feed — Cost: S. One-line column-alias fix in _enrich_features. Unlocks hedging_pressure. +1 strategy.
  2. Add VIXY, UVXY, SPY to PM universe — Cost: XS. All Alpaca-tradeable. Unlocks tail_hedge_pm + fixes vix_haven drawdown path. +1 strategy.
  3. Wire free COMEX GC/SI continuous-contract feed — Cost: M. yfinance GC=F + SI=F or Stooq continuous. Unlocks gc_term_structure, cross_carry, backwardation_stress. +3 strategies.
  4. Options IV surface — Cost: M-L. Yahoo/CBOE public CSV or yfinance options chain. Unlocks vol_risk_premium_pm, vol_term_structure_pm, gamma_scalp_pm, skew_trades. +4 strategies. Highest absolute leverage.
  5. GLD/SLV daily shares-outstanding scraper — Cost: S. SSGA + iShares public data. Unlocks etf_flow_pm. +1 strategy.

Coverage math

State Active / 26
Current (2026-04-16) 5
After fixes 1 + 2 + 5 8
After fixes 1 + 2 + 3 + 5 11
After fixes 1 + 2 + 3 + 4 + 5 15

Relevant files

  • qgtm_live/daemon.py — registry at L142, features merge L960-1058, aliases L1037-1048
  • qgtm_strategies/*.py — per-strategy entry gates
  • qgtm_core/constants.py — universe + QUARANTINED_STRATEGIES at L98
  • qgtm_data/cot.py — COT pipeline (needs OI propagation)

Action taken

Spawned feat/strategy-coverage-quick-wins agent (2026-04-16 16:~UTC) to ship fixes 1 + 2 + 5 as one PR. Fixes 3 and 4 held for separate scoping due to new data pipelines required.