Verdict
No edge, and not feasible at ₹20 lakh with 0.5% risk
Stitched walk-forward 2020-01 to 2025-09 at current costs: pullback long 192 trades +0.064R, the other three legs negative. Reality check across 785 series p = 0.88. One lot at a 1.5-ATR stop risks a median ₹24,000 to ₹40,000 a year against ₹10,000 allowed.
- Pullback long is the only leg above zero: +0.064R (+0.039R at 2x), ₹393 a lot, profit factor 1.03, 58% of folds positive, 95% interval -0.052 to 0.205R, beats 70% of random-stock runs against the 90% required. It fails the pass rule on the interval, the folds, the null and the reality check.
- Breakout long -0.037R, breakout short -0.057R, pullback short -0.056R. Random stocks on the same days with the same exits earned more than the breakout legs and pullback short: stock selection added nothing on those legs.
- Whole lots decide feasibility: only 0.2% of stock-days fit ₹10,000 of risk at 1.5 ATR, 14% fit ₹20,000. At ₹20 lakh and 0.5% the pullback leg made 1 trade in nearly six years. At ₹1 crore and 1% it trades 129 times for 1.7% a year, drawdown 4.9%, against the Nifty's 13.1% price return.
- Data: real contract daily bars, OI and lot sizes from NSE F&O bhavcopy, 15-minute underlying bars from Dhan, 2017-04 to 2025-09. Sealed from 2025-10 not fetched. Intraday futures prices are estimated from the underlying (median close error 0.26%), so this is a hybrid backtest, not an executable one.
- Stage 7 (OI and basis overlays) was skipped under the pre-registered condition that stage 5 be positive after costs.
Promotion gates
No gates published for this strategy.
Explain the strategy
Buying and shorting stock futures on breakouts and pullbacks did not make reliable money, and one contract is too big for ₹20 lakh under the risk limit.
Report
Walk-forward legs, first experiment, ablation, portfolio by capital
| section | item | trades | R_per_trade | R_2x | R_gross | rs_per_lot | profit_factor | folds_positive | detail |
|---|---|---|---|---|---|---|---|---|---|
| 1 Walk-forward, stitched outer folds 2020-01 to 2025-09, current costs | A breakout long | 226 | -0.037 | -0.061 | 0.003 | -180 | 0.99 | 0.67 | 21 of 23 folds traded; 95% CI -0.257 to 0.128R; random null median 0.013, p90 0.080; beats 7% of random runs |
| 1 Walk-forward, stitched outer folds 2020-01 to 2025-09, current costs | A breakout short | 135 | -0.057 | -0.081 | -0.019 | -578 | 0.95 | 0.38 | 13 of 23 folds traded; 95% CI -0.274 to 0.181R; random null median 0.053, p90 0.122; beats 3% of random runs |
| 1 Walk-forward, stitched outer folds 2020-01 to 2025-09, current costs | B pullback long | 192 | 0.064 | 0.039 | 0.104 | 393 | 1.03 | 0.58 | 19 of 23 folds traded; 95% CI -0.052 to 0.205R; random null median 0.019, p90 0.094; beats 70% of random runs |
| 1 Walk-forward, stitched outer folds 2020-01 to 2025-09, current costs | B pullback short | 98 | -0.056 | -0.08 | -0.018 | -3707 | 0.63 | 0.5 | 8 of 23 folds traded; 95% CI -0.247 to 0.15R; random null median 0.043, p90 0.123; beats 0% of random runs |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A long hold 3 target 0R | 977 | -0.047 | -0.075 | -0.002 | -761 | 0.94 | win 42.5%; 4107 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A short hold 3 target 0R | 278 | 0.003 | -0.018 | 0.036 | -142 | 0.99 | win 46.0%; 1645 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A long hold 3 target 2R | 978 | -0.042 | -0.07 | 0.003 | -773 | 0.94 | win 42.5%; 4107 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A short hold 3 target 2R | 278 | -0.002 | -0.022 | 0.032 | -94 | 0.99 | win 46.0%; 1645 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A long hold 5 target 0R | 978 | -0.014 | -0.042 | 0.031 | 749 | 1.05 | win 44.1%; 4107 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A short hold 5 target 0R | 278 | -0.035 | -0.056 | -0.002 | -584 | 0.96 | win 41.7%; 1645 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A long hold 5 target 2R | 979 | -0.018 | -0.046 | 0.027 | 304 | 1.02 | win 44.4%; 4107 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | A short hold 5 target 2R | 278 | -0.062 | -0.082 | -0.028 | -1308 | 0.91 | win 42.4%; 1645 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B long hold 3 target 0R | 1804 | -0.044 | -0.071 | -0.001 | -2207 | 0.82 | win 45.7%; 8957 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B short hold 3 target 0R | 581 | -0.033 | -0.053 | 0.001 | -1474 | 0.86 | win 46.6%; 3564 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B long hold 3 target 2R | 1806 | -0.041 | -0.068 | 0.002 | -1986 | 0.84 | win 45.8%; 8957 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B short hold 3 target 2R | 581 | -0.038 | -0.058 | -0.005 | -1614 | 0.84 | win 46.6%; 3564 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B long hold 5 target 0R | 1803 | 0.002 | -0.025 | 0.046 | -427 | 0.97 | win 47.6%; 8957 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B short hold 5 target 0R | 584 | -0.054 | -0.074 | -0.02 | -2272 | 0.84 | win 44.7%; 3564 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B long hold 5 target 2R | 1804 | 0.005 | -0.022 | 0.048 | -170 | 0.99 | win 47.8%; 8957 signals before the 15-minute trigger | |
| 2 Spec's first experiment, 2018-2025, one lot per trade | B short hold 5 target 2R | 584 | -0.065 | -0.085 | -0.031 | -2579 | 0.81 | win 44.7%; 3564 signals before the 15-minute trigger | |
| 3 Ablation, hold 5, target 2R | A long: baseline | 979 | -0.018 | -0.046 | 0.027 | 304 | 1.02 | ||
| 3 Ablation, hold 5, target 2R | A short: baseline | 278 | -0.062 | -0.082 | -0.028 | -1308 | 0.91 | ||
| 3 Ablation, hold 5, target 2R | A long: regime off | 1144 | -0.01 | -0.037 | 0.035 | 949 | 1.06 | ||
| 3 Ablation, hold 5, target 2R | A short: regime off | 464 | -0.03 | -0.052 | 0.006 | -1109 | 0.91 | ||
| 3 Ablation, hold 5, target 2R | A long: RS top 30% (20d) | 676 | -0.003 | -0.029 | 0.039 | 968 | 1.06 | ||
| 3 Ablation, hold 5, target 2R | A short: RS top 30% (20d) | 184 | -0.063 | -0.082 | -0.032 | -617 | 0.96 | ||
| 3 Ablation, hold 5, target 2R | A long: ADX14>=22 | 653 | -0.023 | -0.05 | 0.022 | -246 | 0.99 | ||
| 3 Ablation, hold 5, target 2R | A short: ADX14>=22 | 206 | -0.101 | -0.121 | -0.07 | -2836 | 0.82 | ||
| 3 Ablation, hold 5, target 2R | A long: RSI14>=55 | 979 | -0.018 | -0.046 | 0.027 | 304 | 1.02 | ||
| 3 Ablation, hold 5, target 2R | A short: RSI14>=55 | 278 | -0.062 | -0.082 | -0.028 | -1308 | 0.91 | ||
| 3 Ablation, hold 5, target 2R | A long: rel volume>=1.5 | 354 | 0.018 | -0.008 | 0.062 | 1478 | 1.09 | ||
| 3 Ablation, hold 5, target 2R | A short: rel volume>=1.5 | 75 | -0.088 | -0.108 | -0.055 | -1992 | 0.88 | ||
| 3 Ablation, hold 5, target 2R | A long: body>=40% | 847 | -0.033 | -0.06 | 0.012 | -861 | 0.95 | ||
| 3 Ablation, hold 5, target 2R | A short: body>=40% | 246 | -0.143 | -0.163 | -0.109 | -4243 | 0.72 | ||
| 3 Ablation, hold 5, target 2R | A long: close location>=0.65 | 894 | -0.021 | -0.049 | 0.024 | 157 | 1.01 | ||
| 3 Ablation, hold 5, target 2R | A short: close location>=0.65 | 244 | -0.121 | -0.142 | -0.087 | -3436 | 0.77 | ||
| 3 Ablation, hold 5, target 2R | A long: 30-minute confirmation | 951 | -0.024 | -0.052 | 0.022 | 407 | 1.03 | ||
| 3 Ablation, hold 5, target 2R | A short: 30-minute confirmation | 299 | -0.106 | -0.127 | -0.073 | -3399 | 0.78 | ||
| 3 Ablation, hold 5, target 2R | A long: any bar to 14:15 | 1985 | -0.038 | -0.066 | 0.007 | -1142 | 0.93 | ||
| 3 Ablation, hold 5, target 2R | A short: any bar to 14:15 | 644 | -0.1 | -0.12 | -0.067 | -3571 | 0.78 | ||
| 3 Ablation, hold 5, target 2R | A long: breadth>=55% | 908 | -0.015 | -0.043 | 0.03 | 401 | 1.03 | ||
| 3 Ablation, hold 5, target 2R | A short: breadth>=55% | 268 | -0.061 | -0.082 | -0.028 | -1263 | 0.91 | ||
| 3 Ablation, hold 5, target 2R | A long: VIX below 80th pct | 872 | -0.02 | -0.048 | 0.025 | 216 | 1.01 | ||
| 3 Ablation, hold 5, target 2R | A short: VIX below 80th pct | 158 | -0.101 | -0.124 | -0.064 | -2575 | 0.8 | ||
| 3 Ablation, hold 5, target 2R | A long: stop 1.0 ATR | 979 | -0.03 | -0.072 | 0.038 | 182 | 1.01 | ||
| 3 Ablation, hold 5, target 2R | A short: stop 1.0 ATR | 278 | -0.055 | -0.086 | -0.005 | -1408 | 0.89 | ||
| 3 Ablation, hold 5, target 2R | A long: stop 2.0 ATR | 979 | -0.005 | -0.026 | 0.029 | 715 | 1.04 | ||
| 3 Ablation, hold 5, target 2R | A short: stop 2.0 ATR | 278 | -0.051 | -0.066 | -0.026 | -919 | 0.94 | ||
| 3 Ablation, hold 5, target 2R | A long: trail +1R 1.5ATR | 979 | -0.017 | -0.045 | 0.028 | 261 | 1.02 | ||
| 3 Ablation, hold 5, target 2R | A short: trail +1R 1.5ATR | 278 | -0.066 | -0.086 | -0.032 | -1637 | 0.88 | ||
| 3 Ablation, hold 5, target 2R | B long: baseline | 1804 | 0.005 | -0.022 | 0.048 | -170 | 0.99 | ||
| 3 Ablation, hold 5, target 2R | B short: baseline | 584 | -0.065 | -0.085 | -0.031 | -2579 | 0.81 | ||
| 3 Ablation, hold 5, target 2R | B long: regime off | 2264 | 0.001 | -0.025 | 0.044 | 250 | 1.02 | ||
| 3 Ablation, hold 5, target 2R | B short: regime off | 1129 | -0.047 | -0.069 | -0.009 | -1495 | 0.88 | ||
| 3 Ablation, hold 5, target 2R | B long: RS top 30% (20d) | 483 | 0.021 | -0.004 | 0.06 | 1180 | 1.08 | ||
| 3 Ablation, hold 5, target 2R | B short: RS top 30% (20d) | 143 | -0.075 | -0.093 | -0.046 | -1930 | 0.86 | ||
| 3 Ablation, hold 5, target 2R | B long: ADX14>=22 | 815 | -0.051 | -0.076 | -0.009 | -2106 | 0.88 | ||
| 3 Ablation, hold 5, target 2R | B short: ADX14>=22 | 314 | -0.155 | -0.173 | -0.125 | -6671 | 0.59 | ||
| 3 Ablation, hold 5, target 2R | B long: RSI14>=55 | 1311 | 0.007 | -0.02 | 0.051 | -163 | 0.99 | ||
| 3 Ablation, hold 5, target 2R | B short: RSI14>=55 | 426 | -0.078 | -0.098 | -0.045 | -3064 | 0.79 | ||
| 3 Ablation, hold 5, target 2R | B long: rel volume>=1.5 | 205 | -0.053 | -0.079 | -0.01 | -2810 | 0.85 | ||
| 3 Ablation, hold 5, target 2R | B short: rel volume>=1.5 | 37 | -0.295 | -0.315 | -0.264 | -12986 | 0.43 | ||
| 3 Ablation, hold 5, target 2R | B long: body>=40% | 1052 | -0.025 | -0.051 | 0.019 | -1428 | 0.91 | ||
| 3 Ablation, hold 5, target 2R | B short: body>=40% | 395 | -0.064 | -0.084 | -0.031 | -2573 | 0.81 | ||
| 3 Ablation, hold 5, target 2R | B long: close location>=0.65 | 1345 | -0.008 | -0.035 | 0.035 | -482 | 0.97 | ||
| 3 Ablation, hold 5, target 2R | B short: close location>=0.65 | 474 | -0.066 | -0.086 | -0.032 | -2496 | 0.82 | ||
| 3 Ablation, hold 5, target 2R | B long: 30-minute confirmation | 1756 | 0.018 | -0.009 | 0.062 | 157 | 1.01 | ||
| 3 Ablation, hold 5, target 2R | B short: 30-minute confirmation | 604 | -0.016 | -0.037 | 0.018 | -1258 | 0.9 | ||
| 3 Ablation, hold 5, target 2R | B long: any bar to 14:15 | 3802 | 0.029 | 0.002 | 0.073 | 570 | 1.04 | ||
| 3 Ablation, hold 5, target 2R | B short: any bar to 14:15 | 1384 | -0.015 | -0.037 | 0.019 | -954 | 0.92 | ||
| 3 Ablation, hold 5, target 2R | B long: breadth>=55% | 1628 | 0.002 | -0.024 | 0.046 | -299 | 0.98 | ||
| 3 Ablation, hold 5, target 2R | B short: breadth>=55% | 552 | -0.068 | -0.088 | -0.035 | -2862 | 0.8 | ||
| 3 Ablation, hold 5, target 2R | B long: VIX below 80th pct | 1548 | 0.007 | -0.02 | 0.051 | -465 | 0.97 | ||
| 3 Ablation, hold 5, target 2R | B short: VIX below 80th pct | 343 | -0.052 | -0.076 | -0.014 | -711 | 0.94 | ||
| 3 Ablation, hold 5, target 2R | B long: stop 1.0 ATR | 1805 | -0.012 | -0.052 | 0.053 | -401 | 0.97 | ||
| 3 Ablation, hold 5, target 2R | B short: stop 1.0 ATR | 585 | -0.084 | -0.114 | -0.033 | -2246 | 0.83 | ||
| 3 Ablation, hold 5, target 2R | B long: stop 2.0 ATR | 1803 | 0.007 | -0.013 | 0.039 | -12 | 1.0 | ||
| 3 Ablation, hold 5, target 2R | B short: stop 2.0 ATR | 583 | -0.063 | -0.078 | -0.038 | -3095 | 0.79 | ||
| 3 Ablation, hold 5, target 2R | B long: trail +1R 1.5ATR | 1804 | 0.009 | -0.018 | 0.052 | -147 | 0.99 | ||
| 3 Ablation, hold 5, target 2R | B short: trail +1R 1.5ATR | 585 | -0.059 | -0.08 | -0.026 | -2474 | 0.82 | ||
| 4 Portfolio with whole lots | B long only: ₹20 lakh, risk 0.25% | 1 | CAGR 0.1%, drawdown 0.0%, Sharpe 0.43; 100% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹20 lakh, risk 0.50% | 1 | CAGR 0.1%, drawdown 0.0%, Sharpe 0.43; 100% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹20 lakh, risk 0.75% | 4 | CAGR 0.2%, drawdown 0.7%, Sharpe 0.43; 98% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹20 lakh, risk 1.00% | 21 | CAGR 1.3%, drawdown 2.1%, Sharpe 0.71; 88% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹30 lakh, risk 0.25% | 1 | CAGR 0.0%, drawdown 0.0%, Sharpe 0.43; 100% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹30 lakh, risk 0.50% | 4 | CAGR 0.1%, drawdown 0.5%, Sharpe 0.43; 98% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹30 lakh, risk 0.75% | 28 | CAGR 0.8%, drawdown 2.0%, Sharpe 0.57; 83% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹30 lakh, risk 1.00% | 41 | CAGR 1.2%, drawdown 4.1%, Sharpe 0.63; 76% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹50 lakh, risk 0.25% | 1 | CAGR 0.1%, drawdown 0.0%, Sharpe 0.43; 100% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹50 lakh, risk 0.50% | 32 | CAGR 0.6%, drawdown 1.4%, Sharpe 0.61; 81% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹50 lakh, risk 0.75% | 60 | CAGR 0.8%, drawdown 3.9%, Sharpe 0.47; 62% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹50 lakh, risk 1.00% | 81 | CAGR 1.0%, drawdown 5.4%, Sharpe 0.41; 48% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹75 lakh, risk 0.25% | 17 | CAGR 0.2%, drawdown 0.5%, Sharpe 0.47; 90% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹75 lakh, risk 0.50% | 60 | CAGR 0.6%, drawdown 2.6%, Sharpe 0.47; 62% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹75 lakh, risk 0.75% | 99 | CAGR 1.2%, drawdown 3.2%, Sharpe 0.6; 34% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹75 lakh, risk 1.00% | 113 | CAGR 1.9%, drawdown 4.4%, Sharpe 0.67; 17% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹100 lakh, risk 0.25% | 32 | CAGR 0.3%, drawdown 0.7%, Sharpe 0.61; 81% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹100 lakh, risk 0.50% | 88 | CAGR 0.7%, drawdown 2.3%, Sharpe 0.55; 44% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹100 lakh, risk 0.75% | 119 | CAGR 1.3%, drawdown 3.7%, Sharpe 0.6; 17% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only: ₹100 lakh, risk 1.00% | 129 | CAGR 1.7%, drawdown 4.9%, Sharpe 0.55; 7% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹20 lakh, risk 0.25% | 2 | CAGR 0.0%, drawdown 0.2%, Sharpe 0.13; 100% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹20 lakh, risk 0.50% | 7 | CAGR -0.3%, drawdown 2.7%, Sharpe -0.59; 99% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹20 lakh, risk 0.75% | 20 | CAGR -0.7%, drawdown 4.6%, Sharpe -0.62; 96% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹20 lakh, risk 1.00% | 59 | CAGR 0.8%, drawdown 3.7%, Sharpe 0.27; 88% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹30 lakh, risk 0.25% | 2 | CAGR 0.0%, drawdown 0.2%, Sharpe 0.13; 100% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹30 lakh, risk 0.50% | 20 | CAGR -0.5%, drawdown 3.1%, Sharpe -0.62; 96% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹30 lakh, risk 0.75% | 93 | CAGR 1.5%, drawdown 4.6%, Sharpe 0.49; 81% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹30 lakh, risk 1.00% | 78 | CAGR -1.2%, drawdown 7.4%, Sharpe -0.53; 86% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹50 lakh, risk 0.25% | 11 | CAGR -0.1%, drawdown 1.0%, Sharpe -0.28; 98% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹50 lakh, risk 0.50% | 119 | CAGR 0.5%, drawdown 3.9%, Sharpe 0.23; 77% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹50 lakh, risk 0.75% | 153 | CAGR -0.6%, drawdown 7.1%, Sharpe -0.24; 70% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹50 lakh, risk 1.00% | 83 | CAGR -5.0%, drawdown 26.6%, Sharpe -0.41; 18% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹75 lakh, risk 0.25% | 52 | CAGR 0.1%, drawdown 1.9%, Sharpe 0.18; 91% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹75 lakh, risk 0.50% | 201 | CAGR 0.3%, drawdown 5.5%, Sharpe 0.16; 55% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹75 lakh, risk 0.75% | 98 | CAGR -3.0%, drawdown 17.9%, Sharpe -0.4; 13% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹75 lakh, risk 1.00% | 119 | CAGR -2.3%, drawdown 17.1%, Sharpe -0.29; 5% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹100 lakh, risk 0.25% | 120 | CAGR 0.2%, drawdown 2.0%, Sharpe 0.21; 77% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹100 lakh, risk 0.50% | 84 | CAGR -2.4%, drawdown 13.5%, Sharpe -0.42; 18% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹100 lakh, risk 0.75% | 126 | CAGR -1.2%, drawdown 11.1%, Sharpe -0.24; 5% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | all four legs: ₹100 lakh, risk 1.00% | 134 | CAGR -4.2%, drawdown 25.4%, Sharpe -0.35; 2% of 651 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only, strict suspend: ₹20 lakh, risk 0.50% | 1 | CAGR 0.1%, drawdown 0.0%, Sharpe 0.43; 100% of 192 candidates rejected as one lot too large | ||||||
| 4 Portfolio with whole lots | B long only, margin 30%: ₹50 lakh, risk 1.00% | 81 | CAGR 1.0%, drawdown 5.4%, Sharpe 0.41; 48% of 192 candidates rejected as one lot too large |
Rules and parameters
Rules
- Universe: top 50 by trailing 60-session futures traded value (proxy for Nifty 50), ban list applied
- Model A: close beyond the prior N-session extreme with trend; Model B: pullback to the fast EMA and recovery in trend
- Next session: first 15-minute close beyond the signal-day extreme, entry at the next bar; gap and extension limits
- Stop 1 to 2 ATR, target none to 3R, optional trail, hold 2 to 5 sessions, time exit 15:15; contract expiry at least 2 sessions past the planned exit
- Portfolio: 0.5% risk, 2% open risk, 4 positions, 1 per sector, margin 50%, single 20%, notional 2×, daily and drawdown controls, correlation 0.75
Parameters
- capital
- ₹20 lakh, swept to ₹1 crore
- periods
- walk-forward 24-month development, 3-month outer tests 2020-01 to 2025-09; sealed 2025-10 onward not fetched
- costs
- current schedule (STT 0.05%) decides; historical view reported; execution 0.05% per side, stress 2x
- data
- NSE F&O bhavcopy + Dhan 15-minute underlying
- pre-registration
- research/sfx/STRATEGY_SFX.md
- code
- research/sfx/ (fetch_fo, fetch_i15, build, features, simc, search, wf, port); trades in results/wf_trades.csv
Instrument
Top 50 stock futures by traded value, real contract daily data, whole lots · capital ₹2,000,000
Known limitations
- Intraday futures prices estimated from the underlying; hybrid backtest
- Earnings NOT excluded: no calendar reachable from this server
- Nifty 50 membership proxied by futures turnover; sectors are today's labels
- Margin assumed 20% (no historical SPAN)
- Execution cost 0.05% per side is an assumption (no bid/ask history)
- Sector-relative strength, partial fills, overnight stress and deflated Sharpe not built
- 5 names without bars including DHFL and Jet, which flatters longs
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.