jgrusewski
8ebb65f27e
fix: NaN-safe correlation de-risk in book_series (zero-variance windows)
...
np.corrcoef on a window where a vol-normalized stream is constant (warmup / non-moving stream)
divided by zero std -> RuntimeWarning + NaN in the corr matrix -> ac=NaN -> propagated via chist
into the z-score and could poison leverage L and book with NaN (silent corruption). Fix: correlate
only streams with std>0 in the window, nansum over the actual valid count, fall back to ac=0 when
<2 vary. Verified: no RuntimeWarning (tested with warnings-as-errors), no NaN, identical L/weights.
Affects all scripts importing book_series + the cluster ConfigMap.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 00:29:36 +02:00
..
2026-06-06 19:55:55 +02:00
2026-06-07 18:58:24 +02:00
2026-06-07 01:16:46 +02:00
2026-06-07 01:20:04 +02:00
2026-06-07 01:25:23 +02:00
2026-06-07 11:03:41 +02:00
2026-06-06 15:16:56 +02:00
2026-06-06 22:58:54 +02:00
2026-06-07 19:08:08 +02:00
2026-06-07 19:08:08 +02:00
2026-06-07 00:42:32 +02:00
2026-06-06 20:40:58 +02:00
2026-06-06 20:24:43 +02:00
2026-06-06 21:21:39 +02:00
2026-06-06 20:55:17 +02:00
2026-06-06 22:13:34 +02:00
2026-06-06 22:13:34 +02:00
2026-06-06 22:13:34 +02:00
2026-06-07 00:42:32 +02:00
2026-06-06 16:04:19 +02:00
2026-06-07 19:08:08 +02:00
2026-06-07 17:15:22 +02:00
2026-06-06 20:24:43 +02:00
2026-06-06 12:15:37 +02:00
2026-06-06 17:08:40 +02:00
2026-06-06 22:13:34 +02:00
2026-06-07 18:58:24 +02:00
2026-06-07 18:33:28 +02:00
2026-06-06 19:35:37 +02:00
2026-06-07 22:59:27 +02:00
2026-06-06 12:15:37 +02:00
2026-06-06 19:09:04 +02:00
2026-06-06 15:18:59 +02:00
2026-06-06 17:08:40 +02:00
2026-06-06 22:44:43 +02:00
2026-06-06 22:44:43 +02:00
2026-06-07 19:48:46 +02:00
2026-06-07 19:48:46 +02:00
2026-06-07 19:48:46 +02:00
2026-06-08 00:10:24 +02:00
2026-06-07 20:28:37 +02:00
2026-06-07 20:50:27 +02:00
2026-06-07 21:47:32 +02:00
2026-06-08 00:29:36 +02:00
2026-06-07 20:14:25 +02:00
2026-06-07 19:48:46 +02:00
2026-06-07 21:13:54 +02:00
2026-06-07 17:15:22 +02:00
2026-06-07 17:15:22 +02:00
2026-06-06 18:36:21 +02:00
2026-06-06 16:07:31 +02:00
2026-06-06 17:29:40 +02:00
2026-06-07 00:42:32 +02:00
2026-06-07 01:00:27 +02:00
2026-06-07 00:42:32 +02:00
2026-06-06 19:43:42 +02:00
2026-06-06 16:12:55 +02:00
2026-06-06 16:17:33 +02:00
2026-06-06 16:20:12 +02:00
2026-06-06 16:24:55 +02:00
2026-06-06 14:54:06 +02:00
2026-06-07 15:55:44 +02:00
2026-06-06 18:41:40 +02:00
2026-06-06 17:13:06 +02:00
2026-06-06 17:17:09 +02:00
2026-06-07 20:46:38 +02:00
2026-06-07 18:33:28 +02:00
2026-06-07 18:33:28 +02:00
2026-06-07 19:10:13 +02:00
2026-06-07 19:03:30 +02:00
2026-06-07 18:33:28 +02:00