jgrusewski
b10cdebfb1
fix(ml): wire OFI features into GPU batch state construction
...
The GPU path (build_batch_states / build_state_tensor) only concatenated
market[40] + portfolio[3] = 43 dims, while state_dim was set to 51 when
OFI was enabled. This caused shape mismatch [128,43] vs [51,1024].
- Add ofi_features: Option<Tensor> field to DqnGpuData
- Add upload_ofi() method for MBP-10 order book features (8 dims/bar)
- Concatenate OFI in build_batch_states: [count,40]+[count,3]+[count,8]=[count,51]
- Concatenate OFI in build_state_tensor: [1,40]+[1,3]+[1,8]=[1,51]
- Wire trainer to call upload_ofi() after GPU data upload
- Fix CPU path to zero-pad regime_features when OFI enabled but data missing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 20:16:32 +01:00
..
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-03-03 02:04:22 +01:00
2026-03-01 22:42:36 +01:00
2026-03-02 15:41:23 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-03-07 20:16:32 +01:00
2026-03-07 19:14:46 +01:00
2026-02-26 01:24:02 +01:00
2026-03-02 15:41:23 +01:00
2026-03-03 09:26:53 +01:00
2026-03-03 17:42:41 +01:00
2026-03-07 19:14:46 +01:00
2026-03-07 19:14:46 +01:00
2026-03-06 20:25:42 +01:00
2026-03-03 16:16:07 +01:00
2026-03-07 19:14:46 +01:00
2026-02-25 11:56:00 +01:00
2026-03-07 13:00:07 +01:00
2026-02-25 11:56:00 +01:00
2026-03-07 19:36:42 +01:00
2026-02-25 11:56:00 +01:00
2026-03-03 17:42:41 +01:00
2026-02-25 11:56:00 +01:00
2026-03-03 17:42:41 +01:00
2026-03-03 17:42:41 +01:00
2026-03-02 15:41:23 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-03-01 15:56:43 +01:00
2026-02-25 11:56:00 +01:00
2026-03-04 18:10:04 +01:00
2026-02-28 23:47:31 +01:00
2026-03-03 05:23:31 +01:00
2026-02-25 11:56:00 +01:00
2026-03-03 05:23:31 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-03-03 17:42:41 +01:00
2026-03-03 17:42:41 +01:00
2026-03-03 17:42:41 +01:00
2026-03-07 20:16:32 +01:00
2026-03-02 15:41:23 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-03-06 16:27:17 +01:00
2026-03-03 17:42:41 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-03-04 18:27:42 +01:00
2026-02-25 11:56:00 +01:00
2026-03-02 15:41:23 +01:00
2026-03-04 23:13:25 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-03-07 12:08:39 +01:00
2026-02-27 10:03:42 +01:00
2026-03-03 17:42:41 +01:00
2026-02-25 11:56:00 +01:00
2026-03-02 15:41:23 +01:00
2026-03-05 23:19:38 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-25 11:56:00 +01:00
2026-02-26 18:09:01 +01:00
2026-03-03 16:16:07 +01:00
2026-03-05 20:45:13 +01:00
2026-02-25 11:56:00 +01:00
2026-03-02 15:41:23 +01:00
2026-03-01 18:29:43 +01:00
2026-02-25 11:56:00 +01:00
2026-03-07 19:14:46 +01:00