# Pre-registration — buyer-method-audit (written 26-Oct-2026 ~17:40 IST, BEFORE any 2026 result of these rules was computed in this study) Split: TRAIN 2024-10-21..2025-12-31 (options data start 21-Oct-2024), TEST 2026-01-01..2026-10-23 (untouched until train choices frozen in results/frozen_choices.json). Instrument (primary): ATM (spot at signal rounded to 50), nearest weekly expiry with DTE>=1 (skip 0DTE), CE for long / PE for short. Entry: signal on spot 1m bar close at minute m; buy option at OPEN of minute m+1 (no same-bar entry). One trade per candidate per day. Exit decisions on spot bar close/high/low at minute x executed at option OPEN of minute x+1 (next available real bar <=15:25; never filled). Hard time exit: spot 15:14 bar -> option 15:15 open. No overnight. Spot 15:15-15:29 since 2026-08-03 is missing and never used. Stop distance R = |entry spot - structural stop| clipped to [15,70] spot pts. Exit set (fixed): E0 legacy (premium stop -20, sell 40% @+20, 30% @+40, trail 20 below peak, 60-min cap); E1 structural spot stop + time exit; E2 stop + 2R spot target; E3 stop + 4R spot target; E4 stop, move to breakeven at +1R, then trail 1R behind best spot close, time exit. Costs: OLD = 3 pts/side + charges (STT 0.10%); REAL = 0.5 pt/side + charges (brokerage Rs20/order, STT 0.10% sell premium to 31-Mar-2026 then 0.15%, NSE txn 0.03503%, SEBI 1e-6, stamp 0.003% buy, GST 18% on brokerage+txn+SEBI); STRESS = 1.0 pt/side. Lot: 75 to 31-Dec-2025, 65 from 2026 (25 before 20-Nov-2024). Candidates (family of 6 primary tests): A O30: |close 09:44 - open 09:15| > 150 -> trade direction at 09:45 open; stop = low(09:30-09:44)-5 (long) / high+5 (short). B15 ORB15 with-gap: OR=09:15-09:29; first 1m close beyond OR between 09:30 and 11:00; trade only if breakout side == gap side (open vs prev official close), skip |gap|>1.5%; stop = OR midpoint. B30 ORB30 with-gap: same with OR=09:15-09:44, window 09:45-11:00. C Rule B (recov): bounce candidate with low within first 30 min, bounce >=30 within 5 min of low, India VIX >=14.46 -> CE; stop = running low - 5. D VWAP pullback: at 09:44 trend up if close>open+30 and close>VWAP (mirror for down); 09:45-10:30 first touch of VWAP (low<=VWAP+5); invalid if closeprior high and close>VWAP; stop = pullback low-5. VWAP = spot typical price weighted by Nifty futures volume. E Trend day: at 10:14, first-hour range >=1.2x median of prior 20 sessions' first-hour range, |close-VWAP|>=0.25*FHR, close in top (bottom) 25% of first-hour range on the VWAP side -> trade at 10:15 open; stop = VWAP. Selection on TRAIN only: per candidate, exit with best mean net pts (REAL cost) among E0..E4, needing >=20 train trades. That single (candidate, exit) is tested on 2026. Statistics on TEST: one-sided t-test mean net pts > 0, BH over the 6 primary tests (q<0.10 = survives); plus percentile vs 2000 random same-size sets of same-time/same-direction/same-R entries on random test days with the SAME exit. Secondary (not in family, labelled exploratory): other exits, 0DTE allowed, 1-ITM/1-OTM strikes, STRESS cost, spot-only proxy 2022-2024.