backtests
The "riskless" arbitrage that pays less than a fixed deposit
· 5 days ago · 5 min read · Quantcents Research
Cash-and-carry is the trade everyone is told is riskless. Buy the stock, short its future, hold to expiry. The exchange forces the two prices to meet at settlement, so the gap you buy at is the return you collect. If that gap, annualized, beats the repo rate, you have manufactured a fixed deposit out of the derivatives market.
We ran it across 207 NSE F&O names over January–July 2026, with real Zerodha costs and thresholds fixed before the data was touched. The strategy cleared zero decisively. It lost to the repo rate anyway, and the reason is five minutes long.
The mechanism is real
There is no ambiguity about the convergence. A stock future settles at the spot price on expiry day — that is exchange rule, not a market opinion. So the basis, the gap between the future and the stock, is a decaying quantity with a known terminal value of zero. Everything about the trade lives in how wide that gap is when you enter, and how much of it you actually get.
Doing it by hand
At 9:15 you scan the F&O list for a name whose future is trading far enough above the stock. Annualize that gap over the days left to expiry and you have your expected return for holding the pair. One name flags at 9.78%. You place both legs: buy the stock for full cash, short the same quantity of the future on roughly a third of notional as margin.
By 9:20 you are filled. But the market moved while you were placing, and the gap you actually own is 4.84% — below the 5.25% repo rate, before a single rupee of brokerage. The trade is already losing to a bank deposit at the moment of entry.
Annualized carry, average flagged trade
It cleared zero. That was never the bar.
At the loosest pre-registered threshold — take every trade with any positive basis — the strategy ran 857 trades and returned a mean annualized +0.89%. The odds of a result that consistent arising by chance are roughly one in five thousand trillion. This is a real effect, not noise.
It is also worthless. Beating zero is the wrong benchmark for a trade that ties up full cash for the stock leg plus a third of notional in margin. The money had a riskless alternative earning 5.25%, and the strategy delivered 0.89%.
| Jan–Jul 2026, 207 F&O names | Value |
|---|---|
| Trades at the 0% threshold | 857 |
| Mean annualized return | +0.89% |
| p-value against zero | 1.8×10⁻¹⁶ |
| Carry signalled at 9:15 | 9.78% |
| Carry captured at 9:20 fill | 4.84% |
| RBI repo rate, this window | 5.25% |
| Fill vs repo, before costs | −41bp |
| Trades filling above repo | 57.5% |
Why "just raise the threshold" does not rescue it
The obvious repair is to only take the wide gaps. Demand 8% signalled carry, or 12%, and the average return per trade climbs. It looks like the edge was there all along and we were diluting it with marginal trades.
It is largely an artifact of how the return is computed. Annualized carry is a ratio, and the denominator is days-to-expiry. Filter on a high ratio and you preferentially select trades with very few days left — a small absolute gap over three days annualizes to an enormous number. You then average those ratios and report the mean. The headline rises; the rupees do not follow, because each of those trades holds the capital for days rather than weeks. A mean of ratios is not a portfolio return, and at high thresholds that distinction is doing most of the work.
What this is not
- Not a claim that the arbitrage never pays. A desk that is already long the stock, or that fills both legs inside seconds, is playing a different game with a different cost base.
- Not a costs story. The trade is below repo at the fill price, before brokerage. Cheaper execution does not fix a signal that has already halved.
- Not a small sample. 857 trades across 207 names. The result is precise; it is simply precise about a small number.
- Not advice. A research log, not a trade plan.
What we take from it
The five-minute gap between reading a signal and owning it is not a footnote in this strategy — it is the strategy. Everything the textbook promises is present in the 9:15 data and roughly half of it is gone by 9:20. On this window, on these names, the honest answer is that the money was better off in a fixed deposit.
Sources & method
- Universe: 207 NSE F&O underlyings, January–July 2026, a window not used to develop the rule.
- Trade: buy stock for full cash, short one future of equal quantity, hold to expiry. Margin on the short future assumed at one-third of notional.
- Signal read from the 9:15 print; fill assumed at 9:20 on both legs, the earliest a manual operator realistically completes a pair.
- Thresholds pre-registered before the data was examined; the 0% threshold reported here is the loosest of that set.
- Costs on Zerodha's live equity and equity-F&O schedule, including STT, transaction charges, GST, SEBI and stamp duty.
- Benchmark is the RBI repo rate in force through the window, 5.25%.
Comments
No comments yet. Be the first.
Share this
Reserve your spot
Daily NIFTY / BANKNIFTY brief — coming soon.
Numbers, citations, no hype. We'll email you the day the first edition lands.
Unsubscribe anytime.