Navigation
🧪 THE REALNESS QUESTION · SECTION 6 FRESH START · NO METRIC ADMITTED YET 2026-07-07

The Realness Question
Every promoted column was admitted as orthogonal · parameterless · agnostic — none was ever asked whether it is real or useful. This section tracks that debt, per column, until it is paid with empirical evidence.

30
promoted columns tracked (15 crypto + 15 forex)
0
metrics discovered
0
metrics under evaluation / grounded
0 / 30
columns with grounded realness or usefulness evidence

The two open questions. The five sections before this one answer three structural questions about a column: is it orthogonal (non-redundant against the currently shipped columns, as measured by Spearman worst-cell and Chatterjee ξ — a statement about redundancy vs one specific set, not a claim of unique information content), parameterless (no per-feature tunable), and agnostic (algorithm-unambiguous). Every promoted column passed all three. Promotion has been exactly that and nothing more — the encoded rule is promote = parameterless.PASS AND agnostic.PASS AND orthogonal.PASS (The Gate; findings/evolution/shared_data/three_axis_gate.py:14-18, :161), and the project’s own axis audit says the quiet part out loud: it “proves consistency, not edge.” What was never asked, of any column: (1) Is the signal real? and (2) Is it useful — and to what extent?

The fresh-start rule (operator directive, 2026-07-07). This page presumes no measurement instrument. No metric, threshold, statistical test, or gate is pre-loaded here — an earlier scaffold proposed a metric checklist assembled from in-repo precedents; it was scrubbed because none of it came from dedicated research or survived an evaluation. Metrics earn their way in through one lifecycle, tracked in the two tables below:

DISCOVEREDUNDER EVALUATIONGROUNDED (or REJECTED)

Only a GROUNDED metric may write evidence into the candidate tables at the bottom of this page. Until then, every evidence cell stays NONE YET — visibly, deliberately.

Background census (context only, admits nothing): 2026-07-07-feature-realness-usefulness — the deep-research census of what machinery exists across the three repos, with provenance and telemetry. Its metric proposals are historical record, not admitted instruments.

Metric pipeline — the only door into this page

Both tables are append-only: rows are never edited or deleted; corrections are new rows with supersedes: pointers. A metric may enter the Evaluation table only if it has a row in the Discovery table first. Every row carries a layman’s terms column so anyone can read this index and understand what is going on without knowing the mathematics. The discovery/evaluation loop updates these tables; this page is its public face.

1 · Discovery table — metrics found by research, not yet evaluated

A row means: “we found a candidate way of measuring realness or usefulness, and we verified where it comes from.” Discovery requires a resolvable primary source — an unverifiable citation is a lead, not an entry (house provenance discipline).

DateMetricAims atIn layman’s termsProvenance (paper / implementation)Notes
2026-07-08Discovery sweep (13-agent SOTA web research + 20-instrument self-test design + adversarial hardening). All rows below are DISCOVERED only — none is admitted; each must pass the self-test battery + the shared adversarial signal-zoo before it may enter the Evaluation table. Full grounding: SOTA-GROUNDING.md · operational proof protocol: METRIC-EVALUATION-FRAMEWORK.md. Adversarial verdict: 20/20 first-draft batteries need hardening — so 0 are admissible yet.
2026-07-08Combinatorial Purged CV (CPCV) + purge/embargosubstrate / leakage-free scoreboardSplits time so a test window never peeks at overlapping days — the honest scoreboard every other metric rides on.López de Prado, Advances in Financial ML (2018) ch. 7,12feature-layer; ground FIRST; derives N_min(H)
2026-07-08Future-perturbation invariance gatecausality (no look-ahead)Scramble the future — the feature must not budge. If it does, it is reading tomorrow's answer.methodology-19 §B; in-house leakage_guard.py T2bit-exact V(f)=0; harden: warm-state / occluded-dependency leaks
2026-07-08Block-permutation shuffled-label nullrealness (null control)Shuffle the answers while keeping their rhythm; a real edge must collapse to chance.Ojala & Garriga, JMLR (2010); Politis–White (2004)block ≥ decorrelation length; publish detection envelope
2026-07-08Effective-n deflation + BH–FDRrealness (multiple testing)Autocorrelated data has fewer real data points than it looks; count them honestly, then correct for many tries.Bailey–Hammersley (1946); Benjamini–Yekutieli (2001)HAC long-run-variance N_eff (post-adversary); GARCH heavy-tail null
2026-07-08Deflated Sharpe Ratio (on SFI paths)realness (selection bias)Is this just the luckiest of many coin-flips? Deflate the score by how many features were tried.Bailey & López de Prado (2014), SSRN 2460551via the SFI return object; N_eff-recovery on known effective-rank
2026-07-08Probability of Backtest Overfitting (PBO / CSCV)realness (overfit)If we pick the in-sample winner, does it stay a winner out-of-sample, or is it a coin-flip?Bailey, Borwein, López de Prado, Zhu, JCF (2017), SSRN 2326253PBO<0.2; pair with a magnitude gate (rank-blind)
2026-07-08Harvey–Liu–Zhu t≥3 hurdlerealness (factor-zoo)A genuinely new signal needs a t-stat over 3, not 2 — because so many have already been tried.Harvey, Liu & Zhu, RFS 29(1) (2016)effective-trials denominator = frozen global universe
2026-07-08Rank IC + ICIR + Newey-West tusefulness (prediction)Does the feature's ranking actually line up with next-bar returns, reliably and not by a few lucky days?Grinold (1989); Alphalens (practitioner)|IC|≥0.02, t≥3; blind to interaction-only (route to CMI)
2026-07-08IC-decay / predictive half-lifeusefulness (horizon)How fast does the signal fade — smoothly (real) or in a weird spike (data-snooping)?ml4trading / microalphas (practitioner)selects tradable horizon; monotone-decay realness check
2026-07-08Single-Feature Importance (SFI, OOS)usefulness (standalone edge)Train on this feature alone — does it beat a coin toss out-of-sample?López de Prado, AFML (2018) §8.5the per-feature return object that unlocks DSR/PBO; add episodic-signal control
2026-07-08Mean-Decrease-Accuracy + clustered MDA (ONC)usefulness (contribution)Scramble this feature inside a model — does accuracy drop? If not, the model wasn't using it.López de Prado, AFML §8.4 / MLAM (2020) ch. 6clustered variant defeats the substitution effect
2026-07-08Quantile monotonicity + Patton–Timmermann MRusefulness (shape)Do returns climb steadily across feature buckets, or only jump at the extreme ends?Patton & Timmermann (2010); Romano–Wolfadd useful-but-non-monotone positives; route rare-veto out
2026-07-08Conditional Mutual Information I(f;Y|S)conditional (new info)Given everything we already have, does this feature add NEW information about returns?Brown, Pocock, Zhao & Luján, JMLR 13 (2012); Kraskov (2004)rescues interaction-only; Runge local-permutation null
2026-07-08Model-X Knockoffs / CRT / TSKIconditional (FDR-controlled)Make a fake twin carrying no real signal; keep the feature only if it beats its twin — with a controlled false-discovery rate.Candès, Fan, Janson & Lv, JRSS-B 80(3) (2018)block/TSKI variant for autocorrelated data
2026-07-08Double/Debiased ML + CPIconditional / causalStrip out everything the known factors explain; is there still an effect left over?Chernozhukov et al., Econometrics J. 21(1) (2018)retention ≥50% of naïve; control set Z pre-registered
2026-07-08Huberman–Kandel spanning interceptincrementalityIs the feature's profit just repackaged momentum / volatility, or genuinely something new?Huberman & Kandel, JF 42(4) (1987); Barillas–Shanken (2017)HAC t(α)≥3; guard omitted-premium bias
2026-07-08Mechanism-intensity scaling (Kyle-λ / VPIN / OFI)economic mechanismA real microstructure edge should get STRONGER where the mechanism is stronger — not merely correlate once.Kyle (1985); Easley–López de Prado–O'Hara (VPIN); Cont–Kukanov–Stoikov (2014)nonlinear-volume confound control required
2026-07-08Per-year IC + Bai-Perron / CUSUM breaksrobustness (regime)Is the edge steady across years, or does it live in one lucky regime and die elsewhere?Bai & Perron (1998); Brown–Durbin–Evans (1975)gate behind realness; block-bootstrap critical values
2026-07-08Parameter-plateau vs needlerobustness (overfit)Is the good setting a broad hill (robust) or a lone spike (overfit)?Masters, Testing & Tuning Market Trading Systems (2018)nulls regenerated from the real knob grid
2026-07-08Detector lead-vs-coincide (event-study + MMD)detector / rare-vetoFor a rare alarm feature: does it fire BEFORE the event (useful) or just alongside it (a newspaper)?Granger; Gretton et al. MMD (2012); Politis–Romano (1994)for the candidate-#65 class; latent-common-cause null required

2 · Evaluation table — metrics being tested, and their verdicts

A row means: “this discovered metric is now being evaluated on its own merits — does it actually detect what it claims, at what power, on our data?” Status moves UNDER EVALUATIONGROUNDED or REJECTED. Grounding requires empirical evidence recorded in the artifact column — never argument alone.

Date enteredMetricIn layman’s termsWhat the evaluation testsEvidence artifactStatus
— empty · a metric appears here only after it has a Discovery row · nothing has been evaluated yet —

Part 1 — Crypto (BTCUSDT · open_deviation_bars · 15 promoted bar_close columns)

All 15 are bar-close candidates: computed over the trailing 200 completed-bar closes, emitted only on bar completion, NULL through the 200-bar warm-up (schema group comment schema.sql:71-72; per-column window text column_comments.py:412-616; golden warm-up proof golden_snapshot_test.rs:823-956). Batch-5 columns were additionally rescued by the persistence fix PR #556 (computed-then-dropped before the CH INSERT, 0%-populated until 2026-06-30).

#ColumnCardBatch · PR · dateThree-axis evaluation + added screens (promotion basis)Edge hypothesisUsefulness evidenceRealness evidence
1bar_petrosian_fd#509 · 2026-06-03three-axisUNREGISTERED measurement-onlyNONE YETNONE YET
2bar_katz_fd#509 · 2026-06-03three-axisUNREGISTERED measurement-onlyNONE YETNONE YET
3bar_dispersion_entropy#515 · 2026-06-07three-axisUNREGISTERED measurement-onlyNONE YETNONE YET
4bar_cecp_velocity#522 impl · backfill #541three-axis + CECP orthogonality (#519)UNREGISTERED measurement-onlyNONE YETNONE YET
5bar_categorical_recurrence_rate66batch-5 · #544 · 2026-06-27three-axis + worst-cell Spearman ≤0.85 + VIF≤5UNREGISTERED “price-level stickiness” (measurement)NONE YETNONE YET
6bar_sign_markov_flux98batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
7bar_ramsey_rothman_bicov_lag1113batch-5 · #544three-axis + worst-cellUNREGISTERED time-irreversibility (measurement)NONE YETNONE YET
8bar_ehlers_increment_asymmetry26batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
9bar_cox_stuart_trend_z23batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
10bar_groeneveld_meeden_b3_skewness99batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
11bar_l_kurtosis_tau42batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
12bar_bartels_rank_vn_ratio19batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
13bar_hoeffding_phi_squared_midreturn_duration78batch-6 · #568 · 2026-07-04three-axis + §B ξ PASS (xi_worst 0.078)UNREGISTERED measurement-onlyNONE YETNONE YET
14bar_hvg_forward_visibility_horizon_mean59batch-6 · #579 · 2026-07-04three-axis + §B ξ PASS (xi_worst 0.175)UNREGISTERED measurement-onlyNONE YETNONE YET
15bar_vg_time_directed_clustering_meangap60batch-6 · #570 · 2026-07-04three-axis + §B ξ PASS (xi_worst 0.171)UNREGISTERED “arrow-of-time detector” (measurement)NONE YETNONE YET
rogers_satchell_var_bar50batch-6 · not mergedthree-axis + §B ξ PASS (promotable) — blocked on window-mean reduction ratificationNOT IMPLEMENTED — tracked here so its edge hypothesis can be registered before it ships

Excluded on purpose: aggression_ratio and the other core intra-bar microstructure columns (schema.sql:29, group core) — they predate and sit outside the orthogonality-promotion campaigns. Batch-6 dashboard journal filenames say “pr569-card59”; the merged commit is #579 (2c6f7b7b) — recorded here so the discrepancy doesn’t propagate.

Part 2 — Forex (EURUSD/GBPUSD/XAUUSD/XAGUSD · fxview_cache.forex_bars · 15 contributed columns)

Forex kernels live in the sibling terrylica/mql5 repo (orthogonal_extension_kernels/*.rs); this dashboard carries the mirror. All evaluated orthogonal · parameterless · agnostic, entering through the same structural pipeline: parameterless-orthogonal discovery (multi-slice Spearman worst-cell screening) → Chatterjee ξ keeper-confirmation → implementation (Forex candidates hub).

Count reconciliation (14 vs 13 vs 15): 14 = ξ-KEEP shortlist out of the 16 Spearman-cleared batch-1-2 candidates (2026-06-06 keeper gate). Of those, only 9 were implementable-now (5 deferred, DEFERRALS.md / mql5 PR #100: 3 substrate-blocked, 2 parameter-flagged). 13 = the curated live catalog: those 9 + 4 batch-3/4 first-wave columns. 15 = 13 + the two later batch-3/4 stacked-PR columns (RQW + CREx, 2026-06-24). The numbers were never the same set; this table tracks all 15 live columns.
#ColumnFamilyBatch · mql5 PRThree-axis evaluation + added screensEdge hypothesisUsefulness evidenceRealness evidence
1anderson_darling_a2distributional shapeb1-2 · #91three-axis + Spearman worst-cell + ξ keeperUNREGISTEREDNONE YETNONE YET
2edge_spread_bpsmicrostructureb1-2 · #92three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
3hvg_clusteringvisibility-graphb1-2 · #93three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
4kendall_taub_ret_spreadmicrostructureb1-2 · #94three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
5lziv_complexity_signssign-seq complexityb1-2 · #95three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
6mann_kendall_ztrend / driftb1-2 · #96three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
7sevcik_fdfractal roughnessb1-2 · #97three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
8sign_two_state_entropy_ratesign-seq complexityb1-2 · #98three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
9spectral_log_slopespectral shapeb1-2 · #99three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
10pomeau_irreversibility_lag1time-irreversibilityb3-4 · cand #25 · LOOP #109three-axis + worst-cell + ξ + R1–R7 re-auditUNREGISTEREDNONE YETNONE YET
11hvg_degree_assortativity_coefficientvisibility-graphb3-4 · cand #55three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
12hvg_mean_shortest_path_lengthvisibility-graphb3-4 · cand #57three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
13psd_wiener_spectral_flatnessspectral shapeb3-4 · cand #72three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
14cumulative_residual_extropydistributional infob3-4 late · cand #38 · #126three-axis + worst-cell + ξ (post-catalog)UNREGISTEREDNONE YETNONE YET
15right_quantile_weight_tailweighttail asymmetryb3-4 late · cand #7 · #127three-axis + worst-cell + ξ (post-catalog)UNREGISTEREDNONE YETNONE YET

Provenance

INVENTORY · 2026-07-07 · read-only sweep against opendeviationbar-py @ 62a93d45 (crypto SSoT verified in-repo; forex mirrored from dashboard pages, kernels live in terrylica/mql5)
crypto columns: python/opendeviationbar/clickhouse/schema.sql:77-94 · python/opendeviationbar/constants.py:176-196 (BAR_CLOSE_FEATURE_COLUMNS) · python/opendeviationbar/clickhouse/column_comments.py:412-616 · crates/opendeviationbar-core/tests/schema_contract_test.rs:54-57
bar-close semantics: schema.sql:71-72 (“trailing 200 bar closes”) · column_comments.py per-column “completed-bar closes” text · src/core_bindings.rs:383 (only completed bars emitted) · golden_snapshot_test.rs:823-956 (200-bar warm-up NULL band) · persistence fix PR #556 (a895aa06)
promotion basis: findings/evolution/shared_data/three_axis_gate.py:14-18,:161 (promote = parameterless ∧ agnostic ∧ orthogonal; zero forward-return/predict/pnl hits) · batch-6 ξ bands: findings/evolution/audits/2026-07-02-batch6-chatterjee-xi-filter/verdict.md:19-25,:40-74 · “proves consistency, not edge”: findings/evolution/audits/2026-06-09-three-axis-probe-formalization/AXIS-1-ORTHOGONAL.md:39-45
forex columns: findings/dashboard/forex-candidates/feature-catalog.html (13 contributed) · feature-catalog-full.html (@nasimubd 15, generated 2026-06-25) · 2026-06-07 impl campaign (14 ξ-confirmed → 9 shipped #91–#99, 5 deferred #100) · 2026-06-24 RQW/CREx stacked PRs #124/#126/#127
hypothesis-presence audit: zero “edge hypothesis” sections on any promoted column; the Level-4 template appears only on two UNSHIPPED candidate pages (14-bar-hjorth-mobility, 65-persistence-landscape-l2-norm), both declining a numeric edge claim
metric scrub · 2026-07-07 operator directive: the previously scaffolded metric checklist (assembled from in-repo precedents, never researched or evaluated) was REMOVED from this page; the Discovery/Evaluation tables above are now the only door for metrics; background census remains at findings/evolution/audits/2026-07-07-feature-realness-usefulness/ as historical record, its metric proposals NOT admitted
trust rule: before acting on any single row, re-open the cited file at the pinned SHA — line numbers drift.