Commit graph Warrior_EA/research/meta_pool.py
Author SHA1 Message Date
AnimateDread
f3bded779a feat(research): pooled meta-labeling verdict tooling - memmap loader, per-symbol norm, threshold dose-response
Three additions to meta_pool.py, in the order the campaign needed them:
- memmap + float32-throughout (per-batch float64 cast): the 6.5 GB
  4-symbol corpus OOMed the float64 pipeline on the training box;
- pool2: per-symbol standardization (each symbol by its own train-slice
  mu/sd) + 64/32 capacity + l2 1e-3, after the naive pooled model
  underfit to the prior (train CE pinned at base-rate entropy);
- curve: fixed-ladder precision-vs-threshold on calib and test side by
  side - the dose-response diagnostic that closed the question.

RESULT recorded in memory: pooling transfers real skill (XAUUSD +2.6pp,
SP500 +1.2pp at fitted thresholds, >>2 sigma) but 0/8 fitted operating
points clear break-even, and the high-conviction tail is temporally
unstable - the precision-vs-threshold slope FLIPS SIGN between calib and
test on 3 of 4 symbols, so no ex-ante threshold rule exists.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 08:41:24 -04:00
AnimateDread
f878ea4c75 feat(research): optimize memory usage with np.memmap and improve data handling in MLP 2026-08-14 07:35:29 -04:00
AnimateDread
932c94e890 feat(research): offline meta-pool pipeline - loader, EA-mirrored splits, MLP, cov x (p-BE) eval
Loads the EA's MetaExport .f32 datasets (UTF-16 sidecars), applies the EA's
own discipline offline: chronological 55/15/30 split with horizon-length
purges, operating point fitted on the calibration slice only via
coverage x (precision - BE) with the 25% floor, test slice touched once,
deployability at the 2-sigma edge floor. Small leaky-ReLU MLP + Adam in
numpy; `stats` / `eval <tag>` / `pool` commands.

First run on XAUUSD_16388 validated the plumbing and exposed the data:
the 2.5h gold tester run only covered 2004-07..2006-10 (3,214 candidates)
because gold tick volume is huge - and corpus builds do not need ticks at
all (journaling is bar-open-keyed, labels come from bar history later), so
"Open prices only" modeling builds the same corpus ~100x faster.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 16:09:14 -04:00