config(ml): sweep_smoke decision_stride 4 → 200 (match latency anchor)

Smoke n59t4 (commit 691dec144, root-cause NaN/Inf fix) revealed 96
trades/sec at decision_stride=4 — decisions fire every ~4ms while
orders take 200ms to fill. Controller makes decisions on phantom
in-flight positions; stops fire against positions that haven't
materialized yet. At $0.25 round-trip cost × 96 trades/sec, fee burn
is $86k/hour.

Architectural mismatch: decision_stride should be >= latency_ns /
event_dt_ns. At 200ms latency and ~1ms/event, stride=200 means
decisions fire every ~200ms — once per latency cycle. Resulting
~10k decisions over 2M events is the natural cadence for the
deployment anchor.

Not a controller bug. The controller logic (NaN-clean per Task 15)
is correct; the smoke config was tuned for sub-millisecond latency
that doesn't match the 200ms Scaleway PAR → IBKR anchor.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-05-20 09:04:13 +02:00
parent 691dec144e
commit a2dfc6d993

View File

@@ -15,12 +15,18 @@ base:
data: /mnt/training-data/futures-baseline-mbp10/ES.FUT
predecoded_dir: /feature-cache/predecoded
n_parallel: 1 # overridden by sim_variants.len()
decision_stride: 4
# decision_stride matches the latency anchor: ~1ms per event × stride=200
# = 200ms between decisions ≈ latency_ns. Prior smoke (n59t4) at stride=4
# fired decisions 50× faster than orders could land; controller made
# decisions on phantom in-flight positions, churned ~96 trades/sec, and
# burned cost-per-trade × decision-rate. With stride=200, ~10k decisions
# over 2M events — natural cadence for a 200ms-latency deployment anchor.
decision_stride: 200
latency_ns: 200000000 # realistic anchor (overridden per variant)
target_annual_vol_units: 50.0
annualisation_factor: 825.0
max_lots: 5
max_events: 2000000 # ~2M events, ~500k decisions, ~20 min wall
max_events: 2000000 # ~2M events, ~10k decisions, ~16 min wall
seed: 12648430
# dbd500ecf is the post-trunk-grows training checkpoint.
checkpoint: /feature-cache/alpha-perception-runs/dbd500ecf/trunk_best_h6000.bin