Reading a Rainbow Score

Eight visible components, gated so weak out-of-sample evidence cannot hide. · 8 min

Components (always shown)

  • Effect — |d| / 0.5
  • Confidence — −log10(p) / 3, using the row's BH-adjusted p once a search produced one, never the raw p on its own
  • Sample — log n toward 200
  • OOS — 1 − |decay|, zero if sign flips — an out-of-sample mean many times the in-sample one is penalised exactly like one that shrank to a fraction of it, not scored as if nothing changed
  • Cross-market — neutral until more than one market
  • Regime — walk-forward sign consistency
  • Simplicity — 1 / predicates
  • Snooping — 1 / (1 + log10(candidates))

Gates

  • No OOS events → cap 35
  • OOS sign flip → cap 25
  • n < 20 → cap 30
Caveat

A high ungated total with a gate is a warning, not a trophy. Status is REJECTED / PROMISING / VALIDATED from the score and OOS sign, not from a vibe — and for a campaign-sourced row, "the score" means the score computed from its adjusted p, because a raw p of 0.001 out of an 800-candidate search is not evidence of anything by itself.

Key points

  • Waveform runs reuse the same score with effect = |corr| / 0.3 and sample = n_effective.
  • Demo results can compute a number; they still cannot be promoted.

References

  • RAINBOW score — src/domain/research/rainbow-score.ts
  • Research methodology — docs/RESEARCH-METHODOLOGY.md