How to write a pre-registered hypothesis

Lock the condition, market, horizon and train split before you look at holdout. · 9 min

A minimal pre-registration

Write down, before running:

  1. Sky condition or waveform spec (bodies, harmonic, phase) — not “whatever looks good”.
  2. Market symbol and whether demo data is allowed (it should not be, for a real claim).
  3. Date range and trainRatio; sealed cutoff if a campaign.
  4. Primary horizon and metric.
  5. candidatesSearched = 1 if this is the only test; otherwise the honest grid size.

Then run. Do not widen the orb after seeing holdout.

Caveat

Thai, Vedic and Chinese material belongs in hypothesis plugins only when a verified source exists. If you lack one, add it to unimplemented. Do not fill the gap with a story.

Key points

  • Manual Lab runs write a ledger row with force so you can iterate; campaigns skip duplicates.
  • Promote nothing with isDemo.
  • If the result is REJECTED, that is a successful use of the Lab.

References

  • Nosek et al., The preregistration revolution — Nosek B.A., Ebersole C.R., DeHaven A.C. and Mellor D.T., PNAS 115(11), 2018, 2600–2606
  • RAINBOW experiment config — experimentConfigSchema in src/domain/research/experiment.ts