Emit an explicit notice when every window of a walk-forward records zero trades #313
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A walk-forward whose strategy never trades completes silently: every window report and the final summary carry
n_trades: 0, stderr stays empty, and the exit code is 0. Nothing distinguishes "the strategy traded and netted zero" from "the strategy never opened a single position across the entire span".Reproduction (degenerate flat bias —
fast == slowmakes the crossover difference constant zero, so the bias never leaves 0):All 9 OOS windows report
n_trades: 0; the closing summary prints"n_trades":0alongside"windows":9; stderr is empty.Field evidence (2026-07-22 external field test; an LLM agent driving the release binary with no source or docs access): a walk-forward campaign produced 184 out-of-sample windows, all 184 with
n_trades == 0, and the agent did not notice — downstream conclusions were drawn from an all-zero metrics table.A one-line stderr notice at campaign end ("all N windows recorded zero trades") would surface the degenerate case. #278 (distinguishing benign gate-emptied notices from cell-failure warnings on stderr) covers the adjacent taxonomy question; this notice belongs to whatever shape that issue settles on.