TradeTech Analytics

NSE Nifty 500 · daily bars · long-only · stock futures (whole lots) · v1.2.0 · closed 2026-10-21 (paper run cancelled before its first decision)

Ironbark FAILED GATE

Nifty 500 five-day LightGBM swing with TabFM veto and ATR sizing. The ranker has genuine skill and looked good as futures in development (+13% a year at 2x costs, alpha t above 4), but on the second look at 2024-01 to 2025-09 the 4-name version earned only +4.7% a year at 2x (index +9.4%) with alpha close to zero, and the 6-name version lost money. It fails the pre-registered gate; the paper run was cancelled and the 2025-10 hold-out was not opened.

Verdict

Signal real, edge did not hold on the second look

Delivery equity fails on costs. As stock futures in whole lots at ₹50 lakh, the 4-name version made +13.0% a year at 2x costs in development (2018-2023, drawdown 7%) but only +4.7% in 2024-01 to 2025-09 (index +9.4%, drawdown 19%); the 6-name version made -1.4%. Pre-registered gate failed; paper run cancelled; hold-out left sealed.

  • 1. Signal: the LightGBM ranker predicts five-day outperformance with rank IC +0.065 (t 12.9) in 2018-2020 and +0.051 (t 12.2) in 2021-2023 (development only).
  • 2. Delivery equity (the blueprint): the strategy trades 400 to 600 times a year and costs take 15% to 22% of capital a year; -11.6% a year at standard costs, -42% at 2x. Intraday versions also fail (gross +55% to +113% a year is an open-print artefact; net negative).
  • 3. Stock futures cost schedule on cash prices (₹20 lakh, liquidity proxy for F&O eligibility) looked positive and passed a first reserved-period test (4 names 2x +9.6%). That result is superseded: it ignored lot sizes and used a proxy universe.
  • 4. Lot-aware version (owner approved Dhan futures data and ₹50 lakh): real lot sizes from Dhan (median contract ₹6.2 lakh), futures accounting, carry charged on notional, current F&O list as universe. Development 2x: candidate A (4 names) +10.9% and +14.6% in the two halves, +13.0% over 2018-2023, drawdown 7.2%, alpha +10.1% (t 4.2); candidate B (6 names) +13.9%, drawdown 13.3%. Both positive at 3x.
  • 5. Reserved period 2024-01 to 2025-09 (second use of that period; rules committed first): A +6.4% / +4.7% / +2.5% a year at 1x / 2x / 3x, drawdown 5.8% to 9.2%, alpha +1.8% (t 0.4) at 2x; B +1.9% / -1.4% / -5.6%, drawdown up to 20%. Index +9.4%, drawdown 18.8%. The average trade fell from +0.93% to +0.17%.
  • 6. Gate (written before the run): 2x and 3x CAGR each above 4% a year after the allowance, drawdown ≤ 20%, positive alpha. A fails on 3x (2.5% - 4% = -1.5%); B fails on 2x and 3x. Result: FAIL for both.
  • 7. Why not trust the development numbers: the universe is today's F&O list (look-ahead); names outside that list with similar liquidity earned only +4.0% and +2.1%. Development choices were made on the same data (20 combinations tried). The edge shrank to near zero in the later period.
  • 8. Dhan publishes no expired futures contracts, so no multi-year backtest on real futures prices is possible. Twelve weeks of real futures bars (2026-07-29 to 2026-10-19) show the carry assumption is about right (basis median 4.9% a year) and that futures open prices scatter about 0.9% around spot-implied levels, an execution-noise term the backtest does not include.
  • 9. TabFM (Google Research, June 2026) is a tabular in-context model, not a chart reader; weights are non-commercial. Bounded test (500 rows): no demonstrable lift. It was never part of a tested strategy.
  • 10. Decision: do not paper-trade this as a candidate and do not open the 2025-10 hold-out for it (nothing to confirm). The ₹20 lakh paper run was stopped before its first decision. Longbow Learned (weekly version of the same model) remains in paper trading.

Promotion gates

PASS
Signal has information
Rank IC +0.065 and +0.051, t above 12 in both halves.
FAIL
Delivery-equity version profitable at 2x costs
-42% a year at 2x for the blueprint rules; best slower variant -5.8%.
PASS
Futures version profitable at 2x and 3x in development
Candidate A: +13.0% at 2x, +8.8% at 3x (2018-2023); candidate B: +13.9% and +9.1%.
PASS
Drawdown under 20%
A: 7.2% (2x, reserved 2024-2025); B: 16.4%. Index 18.8%.
FAIL
Reserved period: 2x and 3x CAGR after the 4% allowance above zero
A: 2x +0.7%, 3x -1.5%. B: 2x -5.4%, 3x -9.6%.
FAIL
Reserved period: beats the Nifty 500
A +4.7% at 2x against +9.4% (lower risk: beta 0.30, drawdown 7% against 19%); B -1.4%.
FAIL
Reserved period: positive alpha with t above 2
A alpha +1.8% (t 0.4) at 2x; B negative.
INCONCLUSIVE
Second model (TabFM) adds value
500 rows, 20 days: no demonstrable lift; licence blocks production use.
INCONCLUSIVE
Hold-out (2025-10 onward) opened
Not opened: the strategy failed the earlier gate, so there is nothing to confirm.

Explain the strategy

A computer model ranks stocks by how likely they are to beat the market over the next few days, and the strategy holds the top few using futures. It looked good in the past data it was developed on, but in the next period it earned less than simply holding the index, so it was not taken further.

Report

Lot-aware futures version at ₹50 lakh: candidates A and B, development and reserved periods, 1x / 2x / 3x costs

periodcandidatecostsCAGRafter_4pct_allowanceworst_fallSharpebetaalphaalpha_tindex_CAGRindex_worst_falltradesavg_exposure
Development walk-forward 2018-2023A1x15.3%11.3%5.7%2.220.2012.0%5.112.8%38.3%68336%
Development walk-forward 2018-2023A2x13.0%9.0%7.2%1.880.1910.1%4.212.8%38.3%66236%
Development walk-forward 2018-2023A3x8.8%4.8%11.5%1.310.186.3%2.612.8%38.3%63037%
Development walk-forward 2018-2023B1x15.4%11.4%12.5%1.690.2711.3%3.612.8%38.3%98655%
Development walk-forward 2018-2023B2x13.9%9.9%13.3%1.550.2610.0%3.212.8%38.3%98055%
Development walk-forward 2018-2023B3x9.1%5.1%17.3%1.020.275.6%1.712.8%38.3%92457%
Reserved period 2024-01 to 2025-09 (second look)A1x6.4%2.4%5.8%0.900.303.4%0.89.4%18.8%21737%
Reserved period 2024-01 to 2025-09 (second look)A2x4.7%0.7%7.2%0.680.301.8%0.49.4%18.8%21437%
Reserved period 2024-01 to 2025-09 (second look)A3x2.5%-1.5%9.2%0.370.30-0.4%-0.19.4%18.8%20937%
Reserved period 2024-01 to 2025-09 (second look)B1x1.9%-2.1%15.0%0.240.46-2.4%-0.49.4%18.8%35556%
Reserved period 2024-01 to 2025-09 (second look)B2x-1.4%-5.4%16.4%-0.100.45-5.6%-1.09.4%18.8%35656%
Reserved period 2024-01 to 2025-09 (second look)B3x-5.6%-9.6%20.0%-0.530.46-10.1%-1.89.4%18.8%34757%

Rules and parameters

Rules

  1. Universe: Nifty 500 members on the day (effective dates), listed in Dhan's current F&O list (look-ahead), at least 120 sessions of history, average traded value ≥ ₹5 crore a day.
  2. Features (34), all known at the close of day t and converted to percentile ranks among eligible names: returns over 1, 2, 3, 5, 10, 20, 60 and 120 days, 120-to-20-day momentum, volatility (10 and 60 days), ATR14 %, day range, overnight gap, close position in the day's range, distance from 20- and 60-day highs and 20-day low, price over 5-, 20- and 50-day averages, RSI 2 and 14, MACD histogram, volume over its 20-day average, log traded value, 60-day beta, 20-day relative strength, a causal wavelet-denoised slope, and market state (index returns over 5, 20, 60 days, 20-day index volatility, share of stocks above their 50-day average).
  3. Label: the stock beats the cross-sectional median return from the next open to the close five sessions later.
  4. Model: LightGBM classifier (250 trees, 31 leaves, learning rate 0.05, at least 3000 rows per leaf, L2 50), 3 seeds averaged; one model per calendar year trained on all earlier eligible rows (every second session) with an 8-session embargo.
  5. Entry: decision at the close of day t; buy at the open of t+1 if the stock ranks in the top 20 by score, the correlation rule passes (at most 2 current or accepted holdings with 60-day return correlation above 0.6) and the 3% daily-drawdown halt is off.
  6. Size: risk 0.6% of equity divided by 3 x ATR14, capped at 25% (4 names) or 20% (6 names) of equity, rounded to whole lots (1 lot modelled as ₹6.2 lakh of contract value); at most 4 or 6 names; no cash outlay (futures), margin not binding.
  7. Stop: 3 x ATR14 below the entry open, checked on the daily low; a gap through the stop fills at the open.
  8. Exits: rank falls below 150 at any time (most exits), or the rank leaves the top 20 once held 15 sessions, or 15 sessions held (sell at the next open). Exits are decided at the close and executed at the next open.
  9. Halt: if equity falls 3% or more in a day, no new entries the next session; exits and stops continue.
  10. Costs: stock-futures schedule (exchange fee and 0.02% securities transaction tax on sells, ₹20 plus 18% tax per order), slippage 0.03% per fill for traded value ≥ ₹100 crore a day and 0.05% below that (assumptions), all multiplied by 1x, 2x or 3x; carry charged at repo less 1.5% on notional; free cash earns repo less 1.5%.

Parameters

capital
₹50,00,000
candidate A
4 names, cap 25%, top 20
candidate B
6 names, cap 20%, top 20
lot value
₹6.2 lakh modelled (current median; 10th to 90th percentile ₹4.6 to ₹9.2 lakh)
windows
development 2018-01 to 2023-12; reserved 2024-01 to 2025-09 (used twice); 2025-10 onward sealed
slippage
0.03% / 0.05% per fill (assumption)
data
Dhan daily panel (cash prices), Dhan scrip master (lots, F&O list), 12 weeks of futures bars
code
research/mfs/ (feat, wf_lgb, sim, lot_grid, final_test2, export)

Instrument

Stock futures on names in Dhan's current F&O list (lot about ₹6.2 lakh of contract value); modelled on cash prices · capital ₹5,000,000

Known limitations

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.