Files
foxhunt/config/ml/sweep_deployability.yaml
jgrusewski 0d9fbc16b0 refactor(per-horizon): N_HORIZONS 5→3 — sweep configs + generator script
5 sweep YAMLs updated to reference the new checkpoint filename:
- config/ml/sweep_smoke.yaml: trunk_best_h6000.bin → trunk_best_h1000.bin
- config/ml/sweep_perhoriz_diag.yaml: same
- config/ml/sweep_threshold_tuning.yaml: same
- config/ml/sweep_deployability.yaml: same
- config/ml/sweep_smoke_perhoriz_cfc.yaml: same + 3 comment updates
  (WIN-gate criteria, header doc, best-checkpoint annotation)

scripts/generate_sweep_variants.py:61 updated atomically — without this
the next regeneration of sweep_deployability.yaml would silently
re-introduce trunk_best_h6000.bin.

Argo workflow templates (alpha-perception, alpha-cv, lob-backtest-sweep)
did NOT need text changes — they're already horizon-agnostic:
- They forward CLI flags via {{workflow.parameters.*}} to binaries
- Don't grep alpha_train_summary.json inline
- Don't reference per-horizon field names
- early-stop-metric default is "mean_auc" (horizon-agnostic)

Intentionally left:
- alpha-cv-template.yaml stacker-horizon: "6000" (unrelated TFT lookback)
- alpha-cv-template.yaml horizon: "1200" (DQN execution horizon in bars)
- lob-backtest-sweep-template.yaml ci-training-h100 (GPU pool name)

NOTE: kubectl apply of workflow templates is deferred to Task 10 (push
+ dispatch). Verified all 5 sweep YAMLs parse with python3 yaml.safe_load.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 01:40:13 +02:00

164 lines
14 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P6 deployability sweep — 4 windows × 140 sim_variants (7 cost × 4 latency × 5 threshold).
# Generated by scripts/generate_sweep_variants.py — do NOT hand-edit.
# Re-run after threshold-tuning to refresh threshold absolute values.
base:
data_template: /mnt/training-data/futures-baseline-mbp10/ES.FUT/ES.FUT_{window}.dbn.zst
predecoded_dir: /feature-cache/predecoded
n_parallel: 1 # batched flow overrides with variants.len()=140
latency_ns: 200000000 # default (overridden per variant)
target_annual_vol_units: 50.0
annualisation_factor: 825.0
max_lots: 5
max_events: 0
seed: 12648430
# __SHA__ replaced by submitter with post-trunk-grows training short-SHA.
checkpoint: /feature-cache/alpha-perception-runs/__SHA__/trunk_best_h1000.bin
sim_variants:
- { name: c0_l0_p60, threshold: 0.4, cost_per_lot_per_side: 0.0625, latency_ns: 100000000 }
- { name: c0_l0_p70, threshold: 0.55, cost_per_lot_per_side: 0.0625, latency_ns: 100000000 }
- { name: c0_l0_p80, threshold: 0.7, cost_per_lot_per_side: 0.0625, latency_ns: 100000000 }
- { name: c0_l0_p90, threshold: 0.85, cost_per_lot_per_side: 0.0625, latency_ns: 100000000 }
- { name: c0_l0_p95, threshold: 0.95, cost_per_lot_per_side: 0.0625, latency_ns: 100000000 }
- { name: c0_l1_p60, threshold: 0.4, cost_per_lot_per_side: 0.0625, latency_ns: 200000000 }
- { name: c0_l1_p70, threshold: 0.55, cost_per_lot_per_side: 0.0625, latency_ns: 200000000 }
- { name: c0_l1_p80, threshold: 0.7, cost_per_lot_per_side: 0.0625, latency_ns: 200000000 }
- { name: c0_l1_p90, threshold: 0.85, cost_per_lot_per_side: 0.0625, latency_ns: 200000000 }
- { name: c0_l1_p95, threshold: 0.95, cost_per_lot_per_side: 0.0625, latency_ns: 200000000 }
- { name: c0_l2_p60, threshold: 0.4, cost_per_lot_per_side: 0.0625, latency_ns: 300000000 }
- { name: c0_l2_p70, threshold: 0.55, cost_per_lot_per_side: 0.0625, latency_ns: 300000000 }
- { name: c0_l2_p80, threshold: 0.7, cost_per_lot_per_side: 0.0625, latency_ns: 300000000 }
- { name: c0_l2_p90, threshold: 0.85, cost_per_lot_per_side: 0.0625, latency_ns: 300000000 }
- { name: c0_l2_p95, threshold: 0.95, cost_per_lot_per_side: 0.0625, latency_ns: 300000000 }
- { name: c0_l3_p60, threshold: 0.4, cost_per_lot_per_side: 0.0625, latency_ns: 400000000 }
- { name: c0_l3_p70, threshold: 0.55, cost_per_lot_per_side: 0.0625, latency_ns: 400000000 }
- { name: c0_l3_p80, threshold: 0.7, cost_per_lot_per_side: 0.0625, latency_ns: 400000000 }
- { name: c0_l3_p90, threshold: 0.85, cost_per_lot_per_side: 0.0625, latency_ns: 400000000 }
- { name: c0_l3_p95, threshold: 0.95, cost_per_lot_per_side: 0.0625, latency_ns: 400000000 }
- { name: c1_l0_p60, threshold: 0.4, cost_per_lot_per_side: 0.125, latency_ns: 100000000 }
- { name: c1_l0_p70, threshold: 0.55, cost_per_lot_per_side: 0.125, latency_ns: 100000000 }
- { name: c1_l0_p80, threshold: 0.7, cost_per_lot_per_side: 0.125, latency_ns: 100000000 }
- { name: c1_l0_p90, threshold: 0.85, cost_per_lot_per_side: 0.125, latency_ns: 100000000 }
- { name: c1_l0_p95, threshold: 0.95, cost_per_lot_per_side: 0.125, latency_ns: 100000000 }
- { name: c1_l1_p60, threshold: 0.4, cost_per_lot_per_side: 0.125, latency_ns: 200000000 }
- { name: c1_l1_p70, threshold: 0.55, cost_per_lot_per_side: 0.125, latency_ns: 200000000 }
- { name: c1_l1_p80, threshold: 0.7, cost_per_lot_per_side: 0.125, latency_ns: 200000000 }
- { name: c1_l1_p90, threshold: 0.85, cost_per_lot_per_side: 0.125, latency_ns: 200000000 }
- { name: c1_l1_p95, threshold: 0.95, cost_per_lot_per_side: 0.125, latency_ns: 200000000 }
- { name: c1_l2_p60, threshold: 0.4, cost_per_lot_per_side: 0.125, latency_ns: 300000000 }
- { name: c1_l2_p70, threshold: 0.55, cost_per_lot_per_side: 0.125, latency_ns: 300000000 }
- { name: c1_l2_p80, threshold: 0.7, cost_per_lot_per_side: 0.125, latency_ns: 300000000 }
- { name: c1_l2_p90, threshold: 0.85, cost_per_lot_per_side: 0.125, latency_ns: 300000000 }
- { name: c1_l2_p95, threshold: 0.95, cost_per_lot_per_side: 0.125, latency_ns: 300000000 }
- { name: c1_l3_p60, threshold: 0.4, cost_per_lot_per_side: 0.125, latency_ns: 400000000 }
- { name: c1_l3_p70, threshold: 0.55, cost_per_lot_per_side: 0.125, latency_ns: 400000000 }
- { name: c1_l3_p80, threshold: 0.7, cost_per_lot_per_side: 0.125, latency_ns: 400000000 }
- { name: c1_l3_p90, threshold: 0.85, cost_per_lot_per_side: 0.125, latency_ns: 400000000 }
- { name: c1_l3_p95, threshold: 0.95, cost_per_lot_per_side: 0.125, latency_ns: 400000000 }
- { name: c2_l0_p60, threshold: 0.4, cost_per_lot_per_side: 0.1875, latency_ns: 100000000 }
- { name: c2_l0_p70, threshold: 0.55, cost_per_lot_per_side: 0.1875, latency_ns: 100000000 }
- { name: c2_l0_p80, threshold: 0.7, cost_per_lot_per_side: 0.1875, latency_ns: 100000000 }
- { name: c2_l0_p90, threshold: 0.85, cost_per_lot_per_side: 0.1875, latency_ns: 100000000 }
- { name: c2_l0_p95, threshold: 0.95, cost_per_lot_per_side: 0.1875, latency_ns: 100000000 }
- { name: c2_l1_p60, threshold: 0.4, cost_per_lot_per_side: 0.1875, latency_ns: 200000000 }
- { name: c2_l1_p70, threshold: 0.55, cost_per_lot_per_side: 0.1875, latency_ns: 200000000 }
- { name: c2_l1_p80, threshold: 0.7, cost_per_lot_per_side: 0.1875, latency_ns: 200000000 }
- { name: c2_l1_p90, threshold: 0.85, cost_per_lot_per_side: 0.1875, latency_ns: 200000000 }
- { name: c2_l1_p95, threshold: 0.95, cost_per_lot_per_side: 0.1875, latency_ns: 200000000 }
- { name: c2_l2_p60, threshold: 0.4, cost_per_lot_per_side: 0.1875, latency_ns: 300000000 }
- { name: c2_l2_p70, threshold: 0.55, cost_per_lot_per_side: 0.1875, latency_ns: 300000000 }
- { name: c2_l2_p80, threshold: 0.7, cost_per_lot_per_side: 0.1875, latency_ns: 300000000 }
- { name: c2_l2_p90, threshold: 0.85, cost_per_lot_per_side: 0.1875, latency_ns: 300000000 }
- { name: c2_l2_p95, threshold: 0.95, cost_per_lot_per_side: 0.1875, latency_ns: 300000000 }
- { name: c2_l3_p60, threshold: 0.4, cost_per_lot_per_side: 0.1875, latency_ns: 400000000 }
- { name: c2_l3_p70, threshold: 0.55, cost_per_lot_per_side: 0.1875, latency_ns: 400000000 }
- { name: c2_l3_p80, threshold: 0.7, cost_per_lot_per_side: 0.1875, latency_ns: 400000000 }
- { name: c2_l3_p90, threshold: 0.85, cost_per_lot_per_side: 0.1875, latency_ns: 400000000 }
- { name: c2_l3_p95, threshold: 0.95, cost_per_lot_per_side: 0.1875, latency_ns: 400000000 }
- { name: c3_l0_p60, threshold: 0.4, cost_per_lot_per_side: 0.25, latency_ns: 100000000 }
- { name: c3_l0_p70, threshold: 0.55, cost_per_lot_per_side: 0.25, latency_ns: 100000000 }
- { name: c3_l0_p80, threshold: 0.7, cost_per_lot_per_side: 0.25, latency_ns: 100000000 }
- { name: c3_l0_p90, threshold: 0.85, cost_per_lot_per_side: 0.25, latency_ns: 100000000 }
- { name: c3_l0_p95, threshold: 0.95, cost_per_lot_per_side: 0.25, latency_ns: 100000000 }
- { name: c3_l1_p60, threshold: 0.4, cost_per_lot_per_side: 0.25, latency_ns: 200000000 }
- { name: c3_l1_p70, threshold: 0.55, cost_per_lot_per_side: 0.25, latency_ns: 200000000 }
- { name: c3_l1_p80, threshold: 0.7, cost_per_lot_per_side: 0.25, latency_ns: 200000000 }
- { name: c3_l1_p90, threshold: 0.85, cost_per_lot_per_side: 0.25, latency_ns: 200000000 }
- { name: c3_l1_p95, threshold: 0.95, cost_per_lot_per_side: 0.25, latency_ns: 200000000 }
- { name: c3_l2_p60, threshold: 0.4, cost_per_lot_per_side: 0.25, latency_ns: 300000000 }
- { name: c3_l2_p70, threshold: 0.55, cost_per_lot_per_side: 0.25, latency_ns: 300000000 }
- { name: c3_l2_p80, threshold: 0.7, cost_per_lot_per_side: 0.25, latency_ns: 300000000 }
- { name: c3_l2_p90, threshold: 0.85, cost_per_lot_per_side: 0.25, latency_ns: 300000000 }
- { name: c3_l2_p95, threshold: 0.95, cost_per_lot_per_side: 0.25, latency_ns: 300000000 }
- { name: c3_l3_p60, threshold: 0.4, cost_per_lot_per_side: 0.25, latency_ns: 400000000 }
- { name: c3_l3_p70, threshold: 0.55, cost_per_lot_per_side: 0.25, latency_ns: 400000000 }
- { name: c3_l3_p80, threshold: 0.7, cost_per_lot_per_side: 0.25, latency_ns: 400000000 }
- { name: c3_l3_p90, threshold: 0.85, cost_per_lot_per_side: 0.25, latency_ns: 400000000 }
- { name: c3_l3_p95, threshold: 0.95, cost_per_lot_per_side: 0.25, latency_ns: 400000000 }
- { name: c4_l0_p60, threshold: 0.4, cost_per_lot_per_side: 0.375, latency_ns: 100000000 }
- { name: c4_l0_p70, threshold: 0.55, cost_per_lot_per_side: 0.375, latency_ns: 100000000 }
- { name: c4_l0_p80, threshold: 0.7, cost_per_lot_per_side: 0.375, latency_ns: 100000000 }
- { name: c4_l0_p90, threshold: 0.85, cost_per_lot_per_side: 0.375, latency_ns: 100000000 }
- { name: c4_l0_p95, threshold: 0.95, cost_per_lot_per_side: 0.375, latency_ns: 100000000 }
- { name: c4_l1_p60, threshold: 0.4, cost_per_lot_per_side: 0.375, latency_ns: 200000000 }
- { name: c4_l1_p70, threshold: 0.55, cost_per_lot_per_side: 0.375, latency_ns: 200000000 }
- { name: c4_l1_p80, threshold: 0.7, cost_per_lot_per_side: 0.375, latency_ns: 200000000 }
- { name: c4_l1_p90, threshold: 0.85, cost_per_lot_per_side: 0.375, latency_ns: 200000000 }
- { name: c4_l1_p95, threshold: 0.95, cost_per_lot_per_side: 0.375, latency_ns: 200000000 }
- { name: c4_l2_p60, threshold: 0.4, cost_per_lot_per_side: 0.375, latency_ns: 300000000 }
- { name: c4_l2_p70, threshold: 0.55, cost_per_lot_per_side: 0.375, latency_ns: 300000000 }
- { name: c4_l2_p80, threshold: 0.7, cost_per_lot_per_side: 0.375, latency_ns: 300000000 }
- { name: c4_l2_p90, threshold: 0.85, cost_per_lot_per_side: 0.375, latency_ns: 300000000 }
- { name: c4_l2_p95, threshold: 0.95, cost_per_lot_per_side: 0.375, latency_ns: 300000000 }
- { name: c4_l3_p60, threshold: 0.4, cost_per_lot_per_side: 0.375, latency_ns: 400000000 }
- { name: c4_l3_p70, threshold: 0.55, cost_per_lot_per_side: 0.375, latency_ns: 400000000 }
- { name: c4_l3_p80, threshold: 0.7, cost_per_lot_per_side: 0.375, latency_ns: 400000000 }
- { name: c4_l3_p90, threshold: 0.85, cost_per_lot_per_side: 0.375, latency_ns: 400000000 }
- { name: c4_l3_p95, threshold: 0.95, cost_per_lot_per_side: 0.375, latency_ns: 400000000 }
- { name: c5_l0_p60, threshold: 0.4, cost_per_lot_per_side: 0.5, latency_ns: 100000000 }
- { name: c5_l0_p70, threshold: 0.55, cost_per_lot_per_side: 0.5, latency_ns: 100000000 }
- { name: c5_l0_p80, threshold: 0.7, cost_per_lot_per_side: 0.5, latency_ns: 100000000 }
- { name: c5_l0_p90, threshold: 0.85, cost_per_lot_per_side: 0.5, latency_ns: 100000000 }
- { name: c5_l0_p95, threshold: 0.95, cost_per_lot_per_side: 0.5, latency_ns: 100000000 }
- { name: c5_l1_p60, threshold: 0.4, cost_per_lot_per_side: 0.5, latency_ns: 200000000 }
- { name: c5_l1_p70, threshold: 0.55, cost_per_lot_per_side: 0.5, latency_ns: 200000000 }
- { name: c5_l1_p80, threshold: 0.7, cost_per_lot_per_side: 0.5, latency_ns: 200000000 }
- { name: c5_l1_p90, threshold: 0.85, cost_per_lot_per_side: 0.5, latency_ns: 200000000 }
- { name: c5_l1_p95, threshold: 0.95, cost_per_lot_per_side: 0.5, latency_ns: 200000000 }
- { name: c5_l2_p60, threshold: 0.4, cost_per_lot_per_side: 0.5, latency_ns: 300000000 }
- { name: c5_l2_p70, threshold: 0.55, cost_per_lot_per_side: 0.5, latency_ns: 300000000 }
- { name: c5_l2_p80, threshold: 0.7, cost_per_lot_per_side: 0.5, latency_ns: 300000000 }
- { name: c5_l2_p90, threshold: 0.85, cost_per_lot_per_side: 0.5, latency_ns: 300000000 }
- { name: c5_l2_p95, threshold: 0.95, cost_per_lot_per_side: 0.5, latency_ns: 300000000 }
- { name: c5_l3_p60, threshold: 0.4, cost_per_lot_per_side: 0.5, latency_ns: 400000000 }
- { name: c5_l3_p70, threshold: 0.55, cost_per_lot_per_side: 0.5, latency_ns: 400000000 }
- { name: c5_l3_p80, threshold: 0.7, cost_per_lot_per_side: 0.5, latency_ns: 400000000 }
- { name: c5_l3_p90, threshold: 0.85, cost_per_lot_per_side: 0.5, latency_ns: 400000000 }
- { name: c5_l3_p95, threshold: 0.95, cost_per_lot_per_side: 0.5, latency_ns: 400000000 }
- { name: c6_l0_p60, threshold: 0.4, cost_per_lot_per_side: 1.0, latency_ns: 100000000 }
- { name: c6_l0_p70, threshold: 0.55, cost_per_lot_per_side: 1.0, latency_ns: 100000000 }
- { name: c6_l0_p80, threshold: 0.7, cost_per_lot_per_side: 1.0, latency_ns: 100000000 }
- { name: c6_l0_p90, threshold: 0.85, cost_per_lot_per_side: 1.0, latency_ns: 100000000 }
- { name: c6_l0_p95, threshold: 0.95, cost_per_lot_per_side: 1.0, latency_ns: 100000000 }
- { name: c6_l1_p60, threshold: 0.4, cost_per_lot_per_side: 1.0, latency_ns: 200000000 }
- { name: c6_l1_p70, threshold: 0.55, cost_per_lot_per_side: 1.0, latency_ns: 200000000 }
- { name: c6_l1_p80, threshold: 0.7, cost_per_lot_per_side: 1.0, latency_ns: 200000000 }
- { name: c6_l1_p90, threshold: 0.85, cost_per_lot_per_side: 1.0, latency_ns: 200000000 }
- { name: c6_l1_p95, threshold: 0.95, cost_per_lot_per_side: 1.0, latency_ns: 200000000 }
- { name: c6_l2_p60, threshold: 0.4, cost_per_lot_per_side: 1.0, latency_ns: 300000000 }
- { name: c6_l2_p70, threshold: 0.55, cost_per_lot_per_side: 1.0, latency_ns: 300000000 }
- { name: c6_l2_p80, threshold: 0.7, cost_per_lot_per_side: 1.0, latency_ns: 300000000 }
- { name: c6_l2_p90, threshold: 0.85, cost_per_lot_per_side: 1.0, latency_ns: 300000000 }
- { name: c6_l2_p95, threshold: 0.95, cost_per_lot_per_side: 1.0, latency_ns: 300000000 }
- { name: c6_l3_p60, threshold: 0.4, cost_per_lot_per_side: 1.0, latency_ns: 400000000 }
- { name: c6_l3_p70, threshold: 0.55, cost_per_lot_per_side: 1.0, latency_ns: 400000000 }
- { name: c6_l3_p80, threshold: 0.7, cost_per_lot_per_side: 1.0, latency_ns: 400000000 }
- { name: c6_l3_p90, threshold: 0.85, cost_per_lot_per_side: 1.0, latency_ns: 400000000 }
- { name: c6_l3_p95, threshold: 0.95, cost_per_lot_per_side: 1.0, latency_ns: 400000000 }
cells:
- { name: W1, window: 2025-Q2 }
- { name: W2, window: 2025-Q3 }
- { name: W3, window: 2025-Q4 }
- { name: W4, window: 2026-Q1 }