jgrusewski
d18b386be3
fix: promote entire backtest pipeline from bf16 to f32
CRITICAL CORRECTNESS FIX: bf16 has $32 resolution at $5K equity.
Transaction costs ($12.50), tick PnL ($12.50), and cumulative returns
were ALL below bf16 resolution — rounded to zero. Sharpe was quantized
to ~0.004 resolution. All previous hyperopt evaluations used garbage
metrics.
Changed to f32:
- backtest_env_kernel.cu: prices, portfolio_state, step_rewards,
step_returns — both backtest_env_step and backtest_env_step_batch
- backtest_metrics_kernel.cu: all accumulators, shared memory,
metrics_out, annualization_factor
- backtest_gather_kernel.cu: portfolio parameter (f32 → bf16 for
model input at output stage only)
- gpu_backtest_evaluator.rs: all buffer types, upload paths,
metrics download, shared memory byte calculations
Kept bf16: features_buf, states_buf (neural network input for
tensor cores), cuBLAS forward pass buffers.
Verified: Sharpe now has 6-digit precision (19.4745) vs bf16's
~0.004 resolution. All 345 tests + 3 smoke tests pass.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 13:58:11 +02:00
..
2026-03-10 15:49:40 +01:00
2026-03-11 22:00:13 +01:00
2026-03-13 11:51:58 +01:00
2026-03-14 19:41:40 +01:00
2026-03-16 16:11:48 +01:00
2026-03-16 21:01:28 +01:00
2026-03-17 22:27:56 +01:00
2026-03-17 15:13:04 +01:00
2026-03-18 19:36:41 +01:00
2026-03-18 07:26:56 +01:00
2026-03-18 13:31:35 +01:00
2026-03-21 10:26:11 +01:00
2026-03-21 11:23:09 +01:00
2026-03-21 15:33:00 +01:00
2026-03-21 16:29:32 +01:00
2026-03-21 23:22:58 +01:00
2026-03-22 20:35:57 +01:00
2026-03-22 00:39:34 +01:00
2026-03-23 09:03:19 +01:00
2026-03-23 20:42:08 +01:00
2026-03-24 21:48:38 +01:00
2026-03-24 23:57:04 +01:00
2026-03-24 22:00:45 +01:00
2026-03-24 23:57:04 +01:00
2026-03-25 19:43:26 +01:00
2026-03-25 09:01:12 +01:00
2026-03-25 23:58:30 +01:00
2026-03-25 01:49:53 +01:00
2026-03-25 23:02:39 +01:00
2026-03-26 00:43:58 +01:00
2026-03-26 01:06:28 +01:00
2026-03-27 23:39:43 +01:00
2026-03-27 19:52:44 +01:00
2026-03-27 20:42:37 +01:00
2026-03-27 19:52:44 +01:00
2026-03-27 19:52:44 +01:00
2026-03-27 07:56:50 +01:00
2026-03-27 00:47:34 +01:00
2026-03-27 08:16:51 +01:00
2026-03-29 20:23:51 +02:00
2026-03-29 23:24:10 +02:00
2026-03-29 23:32:12 +02:00
2026-03-31 01:35:04 +02:00
2026-03-30 12:38:33 +02:00
2026-04-02 09:06:23 +02:00
2026-03-31 23:35:47 +02:00
2026-03-31 10:56:20 +02:00
2026-04-01 21:41:21 +02:00
2026-04-02 21:26:24 +02:00
2026-04-02 09:06:23 +02:00
2026-04-02 13:49:26 +02:00
2026-04-02 23:29:04 +02:00
2026-04-02 23:29:04 +02:00
2026-04-04 08:56:44 +02:00
2026-04-04 08:56:44 +02:00
2026-04-03 08:46:30 +02:00
2026-04-04 11:49:13 +02:00
2026-04-04 11:12:47 +02:00
2026-04-04 09:36:10 +02:00
2026-04-04 01:02:00 +02:00
2026-04-05 21:45:51 +02:00
2026-04-06 11:15:24 +02:00
2026-04-07 13:58:11 +02:00
2026-04-06 11:15:24 +02:00