Verdict
No robust edge; passes the screens only at ₹15 lakh
At ₹5 lakh nothing passed. At ₹15 lakh, where one futures lot is about 1x leverage and the drawdown limit is ₹3 lakh, 17 of the 44 rules are profitable at 3x costs in both periods within that limit, but the gains are small (about 1% to 5% of capital a year above cash), the trend rules show no timing skill, and the reality check across them gives p = 0.175.
- Data: Nifty 50 daily closes 2007-10 to 2022-12 (public Yahoo Finance index data, cross-checked against Dhan closes), India VIX, and an RBI repo-rate table for carry (estimate). Ranked on 2008-2016, checked on 2017-2022. The 2023 to 2026 hold-out was not loaded.
- Friction: about 3 basis points a round trip (about 7.6 points at 24,000: transaction tax on the sell leg, exchange fee, stamp, brokerage and 0.25 point slippage per fill), multiplied by 1x, 2x and 3x. Holding a long future also pays carry of about 5 to 7% a year (repo less dividend yield). Buy-and-hold futures after carry: +2.5% a year with a 62% drawdown in 2008-2016, +11.3% with 39% in 2017-2022.
- 73% of the 44 rules had a positive Sharpe ratio at 2x costs on the ranking period; a White reality check across the 8 best finalists on the validation period gives p = 0.097 (best t-statistic 1.94). That is suggestive at most, after 44 variants.
- Trend (SMA 100/150) and Donchian 100/50, long or flat: validation Sharpe 0.6 to 0.8 with unit-leverage drawdown 16 to 17%, but only 0.3 to 0.4 and drawdown 27 to 29% in 2008-2016, and the timing t-statistic is negative (-0.5 to -0.7): the gain comes from holding less (less carry), not from timing skill.
- Turn of month (hold the last 2 and first 2 trading days): the only rule positive in both periods (Sharpe 0.60 and 0.57 at 2x, timing t 1.46 and 0.63). On 1 lot: +₹18,600 a year (drawdown ₹73,000) in 2008-2016 and +₹45,200 a year (drawdown ₹159,000, 32% of ₹5 lakh) in 2017-2022; at 3x +₹16,400 and +₹42,100. It fails the 20% limit in the second period. Nine stop-loss and VIX-filter variants did not bring that drawdown under ₹1.5 lakh.
- Options (Black-Scholes on India VIX, a model, not a chain): long ATM calls or puts and ATM call spreads, 8% of equity in premium. Drawdowns of 19% to 90%; train Sharpe at most 0.3. The best validation result (trend call spread, Sharpe 0.9) had a train Sharpe of 0.12, so it reflects the 2017-2021 bull market, not a stable edge.
- CAPITAL RE-TEST (2026-10-20, ₹15,00,000, 1 lot of 65, drawdown limit ₹3,00,000 = 20%): the 44 rules were re-scored in rupees at 1x, 2x and 3x costs. 17 of 44 are profitable at 3x in both periods with drawdown inside the limit. Largest validation gains at 3x (excess over cash): momentum 63-day long/flat +₹77,000 a year, trend SMA100 long/flat +₹64,000, Donchian 100/50 +₹47,000, turn of month (3+3 days) +₹47,000, turn of month (2+2 days) +₹42,000; first-period (2008-2016) gains are much smaller (₹1,000 to ₹22,000 a year). Drawdowns: turn of month 2+2 ₹74,000 and ₹166,000 (5% and 11% of capital), trend SMA100 ₹127,000 and ₹201,000 (8% and 13%). Timing statistics: trend and momentum rules are near zero or negative (they win by holding less, not by timing); turn of month is +1.5 and +0.6. Reality check over the 17 passers on validation at 2x: max t 1.95, p = 0.175. Reading: the drawdown barrier is gone, but what passes is mostly low-leverage equity exposure with a market filter, earning a few percent above cash with no significant timing alpha. Cash on ₹15 lakh at about 4.5% adds about ₹67,000 a year on top.
- Reading: friction is not the problem here; capital is. A 1-lot future carries 3x leverage on ₹5 lakh, and defined-risk options give away too much theta. Realistic version: a small, unlevered holding (Nifty ETF with a trend filter) earns a few percent above cash with about 15% drawdown, but that is risk management, not a trading edge, and is outside the futures/options brief.
Promotion gates
Turn of month: +₹16,400 and +₹42,100 a year on 1 lot.
At ₹15 lakh: turn of month ₹74,000 and ₹166,000 (5% and 11% of capital). At ₹5 lakh it failed (32%).
Reality check p = 0.097 across 8 finalists at ₹5 lakh; p = 0.175 across the 17 rules passing at ₹15 lakh.
Trend and breakout timing t-statistics are negative on validation.
2023 to 2026 not loaded; not opened.
Explain the strategy
The idea is to hold Nifty for days or weeks so that fees stop mattering. Many simple rules made money in some years. But none of them made money in both halves of history while keeping the worst losing stretch under a fifth of ₹5 lakh, because one Nifty futures contract is worth about three times that capital.
Report
Top 20 rules by train Sharpe at 2x costs (unit leverage, % of notional)
| variant | train_sharpe_2x | train_return_2x | train_maxdd | val_sharpe_1x | val_sharpe_2x | val_sharpe_3x | val_return_2x | val_maxdd | timing_t_val |
|---|---|---|---|---|---|---|---|---|---|
| S turn of month (last 2 + first 2 days) | 0.6 | 6.1% | 21% | 0.62 | 0.57 | 0.53 | 4.9% | 20% | 0.63 |
| S turn of month (last 3 + first 3 days) | 0.5 | 6.3% | 28% | 0.6 | 0.56 | 0.52 | 5.5% | 27% | 0.32 |
| D donchian 100/50 long/flat | 0.44 | 5.9% | 27% | 0.64 | 0.64 | 0.64 | 6.2% | 17% | -0.59 |
| T trend SMA100 long/flat | 0.41 | 5.7% | 28% | 0.82 | 0.8 | 0.79 | 8.9% | 16% | -0.51 |
| T trend SMA100 long/short | 0.4 | 9.1% | 42% | 0.37 | 0.36 | 0.34 | 6.5% | 28% | -0.08 |
| M momentum 126d long/flat | 0.35 | 4.8% | 29% | 0.11 | 0.1 | 0.08 | 1.2% | 40% | -2.31 |
| D donchian 100/50 long/short | 0.33 | 6.9% | 48% | 0.09 | 0.08 | 0.08 | 1.3% | 30% | -0.57 |
| T trend SMA150 long/flat | 0.32 | 4.5% | 29% | 0.75 | 0.74 | 0.73 | 8.4% | 16% | -0.68 |
| M momentum 126d long/short | 0.29 | 6.6% | 37% | -0.47 | -0.49 | -0.51 | -8.9% | 61% | -1.87 |
| T trend SMA150 long/short | 0.29 | 6.4% | 47% | 0.32 | 0.31 | 0.3 | 5.6% | 32% | -0.25 |
| M momentum 63d long/short | 0.26 | 6.2% | 45% | 0.52 | 0.5 | 0.49 | 9.1% | 27% | 0.26 |
| R RSI2<5 any | 0.25 | 3.0% | 23% | -0.15 | -0.17 | -0.19 | -1.7% | 28% | -0.96 |
| D donchian 100/20 long/flat | 0.25 | 2.7% | 24% | 0.37 | 0.35 | 0.34 | 2.8% | 12% | -1.1 |
| V buy after VIX spike >= 40% (hold 5d) | 0.23 | 0.7% | 5% | -0.58 | -0.59 | -0.59 | -2.8% | 17% | -1.51 |
| V long when VIX below its 1y median | 0.23 | 2.5% | 29% | 0.65 | 0.62 | 0.59 | 5.5% | 18% | -0.57 |
| M momentum 63d long/flat | 0.22 | 3.3% | 27% | 0.94 | 0.92 | 0.91 | 10.2% | 13% | -0.17 |
| D donchian 50/50 long/short | 0.21 | 5.1% | 59% | 0.19 | 0.19 | 0.18 | 3.4% | 44% | -0.49 |
| T trend SMA200 long/flat | 0.19 | 2.7% | 27% | 0.56 | 0.55 | 0.53 | 6.5% | 22% | -1.22 |
| D donchian 50/20 long/flat | 0.18 | 2.3% | 28% | 0.39 | 0.38 | 0.37 | 3.5% | 19% | -1.28 |
| D donchian 50/50 long/flat | 0.18 | 2.7% | 38% | 0.63 | 0.63 | 0.63 | 7.3% | 30% | -0.92 |
Rules and parameters
Rules
- Signals use daily closes up to day t and trade at the close of day t.
- Trend: long when close is above the 50/100/150/200-day average (long/flat or long/short). Momentum: sign of the 63/126/252-day return.
- Donchian: enter on a 50/100/200-day high, exit on a 20/50-day low (and mirror for shorts).
- Reversion: RSI(2) below 5/10/20, or 3 or 4 down days, with and without a 200-day uptrend filter. VIX: long when VIX is low, or for 5 days after a VIX spike. Calendar: turn of month and first 5 days of the month.
- Options: ATM monthly call (long signal) or put (short signal) bought with 8% of equity, or a call spread to +3%; rolled with 5 days to expiry; priced by Black-Scholes at India VIX with 0.5 point slippage and 0.1% STT on the sell premium.
Parameters
- capital
- ₹5,00,000
- lot
- 65 (current)
- train
- 2008-01 to 2016-12
- validation
- 2017-01 to 2022-12
- friction
- standard, 2x, 3x
- carry
- repo less 1.3%, charged on longs
- hold-out
- 2023 onward, not loaded
- code
- niftyscalp/multiday.py, optdays.py
- capital re-test
- ₹15,00,000, 1 lot: niftyscalp/multiday_c15.py
Instrument
Nifty futures (1 lot, 65) and modelled ATM monthly options · capital ₹500,000
Known limitations
- Index closes come from a public data source and differ from the exchange settlement price by about 9 points at the median.
- The repo-rate table and 1.3% dividend yield are estimates.
- Option results are model prices from India VIX; skew, bid-ask width and real monthly chains are not captured.
- Lot sizes changed over the period; rupee figures use today's lot of 65 at each day's index level.
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.