Verdict
No edge found
The market shows no overnight drift to harvest, so the ₹58 round-trip cost makes STBT lose money on average, and the ₹600 maximum-loss rule cannot be enforced overnight.
- 748 overnight pairs, 2023-03-03 to 2026-01-30 (development window; the hold-out from 2026-02-01 was never read). Front-month contract chosen by volume, one lot (₹10 per point), cost ₹58 per round trip (estimate).
- Unconditional overnight gap (next open minus close): mean +0.5 points (₹5) a night, t = 0.36. There is nothing systematic to capture in either direction.
- STBT short, all days, cover at next open: expectancy -₹62.7 a night (about -₹5 of price drift less ₹58 cost), net -₹46,914 over 748 trades. Holding to the next close: -₹60.1 a night.
- 40 pre-registered configurations (2 sides × 2 exits × 10 filters). Best family-wise p-value 0.993. None passed the gate (p ≤ 0.10, positive net, ≥ 40 trades, positive in all three sub-periods). The only positive-expectancy configs are tiny samples (30 trades).
- Risk rule: 8% of nights gap by more than 60 points (₹600). A short loses more than ₹600 (after the ₹58 cost) on about 5% of nights when covered at the open and on 31% of nights when held to the next close; a stop cannot protect against a gap.
- Conflicts with the mandate: positions are meant to be intraday only and flat before the close; margin for overnight positions is not modelled.
Promotion gates
-₹62.7 per night for STBT at the open (all days).
Best p_adj 0.993 across 40 configs.
Every STBT all-days third is negative.
Gaps over 60 points on 8% of nights; no stop works through a gap.
Sealed from 2026-02-01; not opened because the development gates failed.
Explain the strategy
STBT means 'sell today, buy tomorrow': you bet that crude oil will be cheaper tomorrow morning than it is tonight. We checked every night for three years. The price moved up and down about equally, so on average there was nothing to earn, and the trading fees turned a break-even bet into a steady loss. The risk was also too big: on roughly one night in twenty the price jumped by more than the ₹600 we are willing to lose.
Report
All tested configurations (sorted by family-wise p-value)
| config | trades | exp_rs | t | win | net | worst | pct_loss_gt_600 | max_dd | thirds | p_adj |
|---|---|---|---|---|---|---|---|---|---|---|
| BTST long | exit next close | volume spike >1.5x & day up | 30 | 199.0 | 0.93 | 0.5 | 5970 | -1398 | 0.333 | -4446 | [760, 4300, 910] | 0.993 |
| STBT short | cover/exit next open | all days | 748 | -62.7 | -4.81 | 0.397 | -46914 | -1348 | 0.047 | -49844 | [-14250, -17022, -15642] | 1.0 |
| STBT short | cover/exit next open | prev day up >2% | 94 | -23.3 | -0.69 | 0.447 | -2192 | -1058 | 0.032 | -6072 | [-986, -1048, -158] | 1.0 |
| STBT short | cover/exit next open | prev day up >1% | 221 | -50.9 | -2.35 | 0.425 | -11248 | -1208 | 0.041 | -15000 | [-5202, -2892, -3154] | 1.0 |
| STBT short | cover/exit next open | Friday (weekend gap) | 147 | -65.5 | -1.91 | 0.395 | -9626 | -1248 | 0.082 | -11010 | [-2292, -502, -6832] | 1.0 |
| STBT short | cover/exit next open | Mon-Thu only | 599 | -62.4 | -4.51 | 0.397 | -37382 | -1348 | 0.037 | -40054 | [-12690, -15750, -8942] | 1.0 |
| STBT short | cover/exit next open | close in top 20% of range | 200 | -22.0 | -1.06 | 0.445 | -4400 | -1208 | 0.015 | -8424 | [-3786, -16, -598] | 1.0 |
| STBT short | cover/exit next open | prev day down >1% | 194 | -48.4 | -1.69 | 0.423 | -9392 | -1348 | 0.057 | -10652 | [420, -5720, -4092] | 1.0 |
| STBT short | cover/exit next open | open interest rising | 315 | -69.6 | -3.49 | 0.384 | -21910 | -1058 | 0.057 | -23638 | [-6730, -11540, -3640] | 1.0 |
| STBT short | cover/exit next open | volume spike >1.5x & day up | 30 | -69.3 | -0.9 | 0.367 | -2080 | -1058 | 0.133 | -4290 | [450, -2960, 430] | 1.0 |
| STBT short | exit next close | all days | 748 | -60.1 | -1.45 | 0.456 | -44924 | -4458 | 0.313 | -55178 | [-14680, -17492, -12752] | 1.0 |
| STBT short | exit next close | prev day up >1% | 221 | -39.0 | -0.51 | 0.502 | -8628 | -4458 | 0.29 | -15292 | [2108, -2762, -7974] | 1.0 |
| STBT short | exit next close | prev day up >2% | 94 | -9.2 | -0.08 | 0.521 | -862 | -2888 | 0.277 | -10072 | [1544, -3968, 1562] | 1.0 |
| STBT short | exit next close | prev day down >1% | 194 | 43.4 | 0.47 | 0.49 | 8428 | -3658 | 0.309 | -10960 | [13600, 360, -5532] | 1.0 |
| STBT short | exit next close | Friday (weekend gap) | 147 | -117.3 | -1.18 | 0.449 | -17236 | -4188 | 0.34 | -18202 | [-11302, -2102, -3832] | 1.0 |
| STBT short | cover/exit next open | close in bottom 20% of range | 169 | -87.8 | -2.95 | 0.396 | -14842 | -1348 | 0.065 | -15552 | [-6806, -5188, -2848] | 1.0 |
| STBT short | exit next close | close in top 20% of range | 200 | 1.2 | 0.02 | 0.49 | 250 | -4458 | 0.265 | -11118 | [1104, -346, -508] | 1.0 |
| STBT short | exit next close | close in bottom 20% of range | 169 | -43.9 | -0.52 | 0.467 | -7422 | -3658 | 0.302 | -18434 | [-7716, 2222, -1928] | 1.0 |
| STBT short | exit next close | open interest rising | 315 | -33.6 | -0.52 | 0.454 | -10590 | -2888 | 0.314 | -24810 | [-11810, 10, 1210] | 1.0 |
| STBT short | exit next close | volume spike >1.5x & day up | 30 | -315.0 | -1.48 | 0.5 | -9450 | -2888 | 0.4 | -11684 | [-1920, -5460, -2070] | 1.0 |
| BTST long | cover/exit next open | all days | 748 | -53.3 | -4.09 | 0.448 | -39854 | -2468 | 0.051 | -39806 | [-14750, -11862, -13242] | 1.0 |
| BTST long | cover/exit next open | prev day up >1% | 221 | -65.1 | -3.0 | 0.416 | -14388 | -1068 | 0.036 | -14958 | [-3382, -5692, -5314] | 1.0 |
| BTST long | cover/exit next open | prev day up >2% | 94 | -92.7 | -2.75 | 0.404 | -8712 | -1068 | 0.064 | -8904 | [-2726, -2548, -3438] | 1.0 |
| BTST long | cover/exit next open | prev day down >1% | 194 | -67.6 | -2.36 | 0.438 | -13112 | -2468 | 0.067 | -15354 | [-7960, -1820, -3332] | 1.0 |
| BTST long | cover/exit next open | Friday (weekend gap) | 147 | -50.5 | -1.47 | 0.442 | -7426 | -1198 | 0.095 | -12534 | [-3392, -5182, 1148] | 1.0 |
| BTST long | cover/exit next open | Mon-Thu only | 599 | -53.6 | -3.87 | 0.449 | -32102 | -2468 | 0.038 | -31544 | [-10510, -7450, -14142] | 1.0 |
| BTST long | cover/exit next open | close in top 20% of range | 200 | -94.0 | -4.54 | 0.39 | -18800 | -1068 | 0.045 | -19234 | [-3986, -7756, -7058] | 1.0 |
| BTST long | cover/exit next open | close in bottom 20% of range | 169 | -28.2 | -0.95 | 0.45 | -4762 | -2468 | 0.036 | -8588 | [194, -1308, -3648] | 1.0 |
| BTST long | cover/exit next open | open interest rising | 315 | -46.4 | -2.33 | 0.441 | -14630 | -2468 | 0.044 | -14436 | [-5450, -640, -8540] | 1.0 |
| BTST long | cover/exit next open | volume spike >1.5x & day up | 30 | -46.7 | -0.6 | 0.533 | -1400 | -978 | 0.067 | -2192 | [-1610, 1800, -1590] | 1.0 |
| BTST long | exit next close | all days | 748 | -55.9 | -1.35 | 0.492 | -41844 | -4678 | 0.281 | -54198 | [-14320, -11392, -16132] | 1.0 |
| STBT short | exit next close | Mon-Thu only | 599 | -45.2 | -0.99 | 0.457 | -27102 | -4458 | 0.306 | -41204 | [-2730, -13450, -10922] | 1.0 |
| BTST long | exit next close | prev day up >1% | 221 | -77.0 | -1.01 | 0.452 | -17008 | -3348 | 0.312 | -28134 | [-10692, -5822, -494] | 1.0 |
| BTST long | exit next close | prev day up >2% | 94 | -106.8 | -0.92 | 0.436 | -10042 | -3348 | 0.351 | -12938 | [-5256, 372, -5158] | 1.0 |
| BTST long | exit next close | Friday (weekend gap) | 147 | 1.3 | 0.01 | 0.497 | 184 | -3638 | 0.265 | -10520 | [5618, -3582, -1852] | 1.0 |
| BTST long | exit next close | prev day down >1% | 194 | -159.4 | -1.71 | 0.469 | -30932 | -4678 | 0.309 | -33470 | [-21140, -7900, -1892] | 1.0 |
| BTST long | exit next close | Mon-Thu only | 599 | -70.8 | -1.55 | 0.491 | -42382 | -4678 | 0.285 | -48832 | [-20470, -9750, -12162] | 1.0 |
| BTST long | exit next close | close in top 20% of range | 200 | -117.2 | -1.5 | 0.46 | -23450 | -4118 | 0.32 | -32332 | [-8876, -7426, -7148] | 1.0 |
| BTST long | exit next close | close in bottom 20% of range | 169 | -72.1 | -0.85 | 0.467 | -12182 | -4678 | 0.26 | -17674 | [1104, -8718, -4568] | 1.0 |
| BTST long | exit next close | open interest rising | 315 | -82.4 | -1.29 | 0.479 | -25950 | -4678 | 0.267 | -34984 | [-370, -12190, -13390] | 1.0 |
Rules and parameters
Rules
- Universe: MCX CRUDEOILM futures, front month by traded volume, excluding the expiry day.
- STBT: sell 1 lot at the day's close; cover at the next session's open (or close). BTST: the long mirror.
- Filters (all known at the close): all days; previous day up more than 1% or 2%; down more than 1%; Friday (weekend gap); Monday to Thursday; close in the top or bottom 20% of the day's range; open interest rising; volume above 1.5 times its 20-day average on an up day.
- Costs: ₹58 per round trip (estimate until reconciled with a contract note); fills at the printed close and open, no extra slippage.
- Statistics: family-wise reality-check p-value (stationary bootstrap of the maximum t across all 40 configs) and sub-period thirds.
Parameters
- capital
- ₹1,00,000
- lot
- 1 (10 bbl)
- cost per round trip
- ₹58 (estimate)
- window
- 2023-03-03 to 2026-01-30
- configs
- 40
- max loss rule
- ₹600 per trade (not enforceable overnight)
Instrument
MCX CRUDEOILM (10 bbl, ₹1 tick = ₹10) · capital ₹100,000
Known limitations
- Single instrument and about three years of bhavcopy history (the contract started trading in March 2023).
- Overnight margin and exact exchange charges for held positions are not modelled.
- Bhavcopy open and close are the exchange's printed values; real fills at those prices are not guaranteed.
Logs and raw data
Downloads appear once a data window is loaded.
Files are plain CSV so results can be re-computed independently. Trade dates are IST sessions; returns are net of modelled costs and slippage.