Document the walk_forward empty-space idiom for param-free / fixed strategies #97
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?
Surfaced by the GER40 research deep-dive fieldtest (
docs/specs/fieldtest-research-breakout-deepdive.md).walk_forward(roller, space: Vec<ParamSpec>, F)producesWindowRun { chosen_params: Vec<Cell>, .. }. For a fixed-param OOS roll of a param-freestrategy, the fieldtest passed
space = vec![]andchosen_params = vec![]. Itran (24 windows, a correctly stitched timestamp-monotone OOS curve) — but the
result is a walk-forward with no in-sample optimization: the OOS verdict of
a strategy that was never tuned per window.
The signature gives no hint whether the empty-space form is the intended way to
express "OOS-only, no optimize", or whether WFO without per-window optimize is
even a supported use. The empty-space reading is a guess; "WFO requires a
non-empty space + per-window optimize" is an equally plausible reading the
ledger does not settle.
Recommend (ratify / document): state that empty
space+ emptychosen_paramsis a valid fixed-strategy OOS roll, OR tightenwalk_forwardtomake the optimize-per-window contract explicit. Largely moot once the breakout
ships as a
Compositewith a realparam_space()(sibling issue — theWorld-consumable blueprint), after which the headline WFO demo becomes
non-degenerate; filing so the empty-space contract is settled either way.