2026-06-06 · forex orthogonal candidate discovery · batch 3 + 4 · pane B (loop-batch34)
The 20 newly-shortlisted parameterless candidates (batch 3 + batch 4) are registered in the multi-slice probe with clean-room numpy/scipy kernels, smoke-validated on real EURUSD@5 bars (0 degenerate, 0 null), and queued through the same Spearman multi-slice screen (174 cell-slices) that adjudicated batches 1-2.
Running --mode full --batches 3,4 --max-hours 9 --out batch34_results inside the hard-capped forex-loops.slice (200% CPU / 4 GB, CPUWeight 10 → yields to production + the crypto loop). Read-only ClickHouse via the probe's polite ch() helper. Real bars only, computed in RAM; only result JSONs + this HTML are written.
findings/.../candidates/NN-<slug>.md) → extracted each estimator formula.BATCHES[3], BATCHES[4]. GPL references (MZanin irreversibility lib, crqa, Sage, robustbase, Hmisc) were reimplemented FROM FORMULA; permissive refs (ts2vg MIT, statsmodels/networkx/scipy BSD, librosa ISC, ordpy MIT) used directly or mirrored. Provenance recorded per kernel.prepare_substrates + roll_candidate: ret_dur = logret × bar-duration (for #63 Hoeffding-D) and qcount = per-bar quote_count (for #86 Fano factor — confirmed the column exists in fxview_cache.forex_bars).live_tail (30,000 bars → 7,450 eval points, 125 legal prod cols): every kernel finite, 0 nulls, std>0, range>0 — none degenerate; parameterless by inspection (no free knob).Single-cell preview only — the binding numbers come from the 174-cell distribution in iter 2. topProd ρ = highest |ρ| vs a shipped column; worstCand ρ = highest |ρ| vs another new candidate.
| # | candidate | substrate | std | range | null | topProd | ρ | worst cand-partner | ρ |
|---|---|---|---|---|---|---|---|---|---|
| 25 | pomeau_irreversibility_lag1 | logret | 0.163 | 2.11 | 0.00 | ask_close | 0.17 | guzik | 0.17 |
| 28 | guzik_increment_magnitude_asymmetry | logret | 0.043 | 0.28 | 0.00 | lookback_twap_position | 0.25 | porta | 0.79 |
| 67 | categorical_rqa_determinism_logret_sign | signs | 0.005 | 0.05 | 0.00 | lookback_kaufman_er | 0.06 | sign_markov_slem | 0.54 |
| 70 | categorical_rqa_diagonal_entropy_logret_sign | signs | 0.019 | 0.17 | 0.00 | intra_intensity_qps | 0.12 | sign_markov_slem | 0.43 |
| 118 | critical_exponent_sign_word | signs | 1.72 | 10 | 0.00 | close_slope_rank_q | 0.14 | palindromic_defect | 0.23 |
| 119 | palindromic_defect_sign_word | signs | 8.80 | 56 | 0.00 | lookback_midprice | 0.17 | critical_exponent | 0.23 |
| 96 | sign_markov_entropy_production_rate_threestate | signs | 0.002 | 0.04 | 0.00 | lookback_kaufman_er | 0.04 | psd_wiener_flat | 0.08 |
| 97 | sign_markov_slem_spectral_gap_mixing_threestate | signs | 0.041 | 0.20 | 0.00 | lookback_garman_klass | 0.08 | rqa_determinism | 0.54 |
| 72 | psd_wiener_spectral_flatness | close | 0.027 | 0.23 | 0.00 | lookback_burstiness | 0.12 | psd_spectral_centroid | 0.95 |
| 74 | psd_spectral_centroid_normfreq | close | 0.018 | 0.15 | 0.00 | lookback_burstiness | 0.16 | psd_wiener_flatness | 0.95 |
| 57 | hvg_mean_shortest_path_length | close | 3.40 | 20.9 | 0.00 | lookback_burstiness | 0.22 | psd_spectral_centroid | 0.58 |
| 55 | hvg_degree_assortativity_coefficient | close | 0.049 | 0.33 | 0.00 | lookback_burstiness | 0.20 | hvg_mean_path | 0.22 |
| 63 | hoeffding_d_midreturn_duration | ret_dur★ | 0.005 | 0.05 | 0.00 | session_fine_id | 0.15 | interquote_fano | 0.20 |
| 44 | ohlc_ordinal_pattern_index | ohlc_bar | 4.34 | 14 | 0.00 | bid_imbalance_ewma | 0.85 | critical_exponent | 0.03 |
| 86 | interquote_count_fano_factor | qcount★ | 18.9 | 138 | 0.00 | lookback_intensity | 0.51 | hoeffding_d | 0.20 |
| 82 | sign_negentropy_logcosh_gap | logret | 0.0005 | 0.005 | 0.00 | lookback_permutation | 0.38 | cumulative_residual_extropy | 0.65 |
| 38 | cumulative_residual_extropy | logret | 2.6e-5 | 2.3e-4 | 0.00 | spread_high | 0.19 | sign_negentropy | 0.65 |
| 07 | right_quantile_weight_tailweight | logret | 0.207 | 1.23 | 0.00 | lookback_permutation | 0.14 | sign_negentropy | 0.35 |
| 102 | left_medcouple_lower_tailweight | logret | 0.193 | 1.22 | 0.00 | bid_close | 0.18 | porta | 0.41 |
| 27 | porta_increment_sign_asymmetry | logret | 0.034 | 0.20 | 0.00 | lookback_twap_position | 0.25 | guzik | 0.79 |
★ new substrate. The single-cell preview already flags three intra-batch clusters to watch in the full screen (see below).
| batch | # | candidate | family | substrate | kernel provenance |
|---|---|---|---|---|---|
| 3 | 25 | pomeau_irreversibility_lag1 | time-irreversibility | logret | clean-room (MZanin GPL) |
| 3 | 28 | guzik_increment_magnitude_asymmetry | time-irreversibility | logret | clean-room |
| 3 | 67 | categorical_rqa_determinism_logret_sign | categorical-RQA | signs | clean-room (crqa GPL) |
| 3 | 70 | categorical_rqa_diagonal_entropy_logret_sign | categorical-RQA | signs | clean-room (crqa GPL) |
| 3 | 118 | critical_exponent_sign_word | combinatorics-on-words | signs | clean-room (Sage GPL; runs theorem) |
| 3 | 119 | palindromic_defect_sign_word | combinatorics-on-words | signs | clean-room Eertree (Sage GPL) |
| 3 | 96 | sign_markov_entropy_production_rate_threestate | sign-Markov | signs | clean-room (smoothed 3×3) |
| 3 | 97 | sign_markov_slem_spectral_gap_mixing_threestate | sign-Markov | signs | PyDTMC@MIT (reimpl) |
| 3 | 72 | psd_wiener_spectral_flatness | spectral | close | librosa@ISC (reimpl) |
| 3 | 74 | psd_spectral_centroid_normfreq | spectral | close | librosa@ISC (reimpl) |
| 4 | 57 | hvg_mean_shortest_path_length | visibility-graph | close | ts2vg@MIT + scipy@BSD |
| 4 | 55 | hvg_degree_assortativity_coefficient | visibility-graph | close | ts2vg@MIT + networkx@BSD |
| 4 | 63 | hoeffding_d_midreturn_duration | copula-free non-monotone | ret_dur★ | clean-room (Hmisc GPL) |
| 4 | 44 | ohlc_ordinal_pattern_index | candle ordinal | ohlc_bar | ordpy@MIT (reimpl) |
| 4 | 86 | interquote_count_fano_factor | duration count-dispersion | qcount★ | elephant@BSD (reimpl) |
| 4 | 82 | sign_negentropy_logcosh_gap | negentropy | logret | sklearn@BSD (reimpl) |
| 4 | 38 | cumulative_residual_extropy | information | logret | clean-room estimator |
| 4 | 07 | right_quantile_weight_tailweight | distributional tail | logret | clean-room (robustbase GPL) |
| 4 | 102 | left_medcouple_lower_tailweight | distributional tail | logret | statsmodels@BSD-3 |
| 4 | 27 | porta_increment_sign_asymmetry | time-irreversibility | logret | clean-room |
Iter 2 tests the new 20 against these (in addition to among themselves). Same-substrate overlaps to watch: signs (lziv_complexity_signs, sign_two_state_entropy_rate), close-spectral (spectral_log_slope), visibility-graph (hvg_clustering, dhvg_indeg_outdeg_kld), durations (local_variation_lv, pietra_hoover_durations).
anderson_darling_a2 · dhvg_indeg_outdeg_kld · edge_spread_bps · hvg_clustering · kendall_taub_ret_spread · local_variation_lv · lziv_complexity_signs · mean_cosine_turning_angle · pietra_hoover_durations · sevcik_fd · sign_two_state_entropy_rate · spectral_log_slope · spread_sign_reversal_rate · mann_kendall_z (representative)
forex-loops.slice 200% CPU / 4 GB, CPUWeight 10 — shared with the crypto loop; yields to production.Iteration 1 of the loop-batch34 pane · generated 2026-06-06T04:30Z · next: iteration 2 (aggregate + cross-batch + adjudicate) once the 174-cell screen completes.