Files
foxhunt/crates
jgrusewski 82b52a0230 fix(dqn): walk-forward feature order mismatch — portfolio at correct indices
The gather kernel places live portfolio features at [feat_dim..feat_dim+3].
Training builds states as [market(42), portfolio(3), OFI(8)] with portfolio
at indices 42-44. The hyperopt adapter was setting feat_dim=50 (raw_state_dim
minus 3), which placed live portfolio at indices 50-52 — invisible to the
model. The model saw zeros for position/value/spread during walk-forward,
making random decisions and producing -775% return with 0% win rate.

Fix: Pass only 42 market features (strip portfolio zeros from val_data).
For OFI-enabled models, pad to 50 and shuffle the state tensor before
forward pass to maintain [market, portfolio, OFI, pad] order.

Also fixes pre-existing clippy warnings in ml-dqn (doc_markdown, cognitive_complexity).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:14:08 +01:00
..