Strike Desk The Model The Audit
Priced, Not Predicted

Built and verified 19 August 2026 · account (client code withheld)

Priced, not predicted

A working model for an options seller, with every claim tested against data it has never seen. It does not forecast the market — we tested that and it fails. It prices the risk of a strike, which is a question the data can actually answer.

VERIFIED

Option prices come from NSE's own daily settlement archive. Checked against 66,419 of our real fills: 99.97% of contracts found, and 100% of fill prices inside that day's traded range. The archive's index level matches an independent source to 0.000%. Every model number below is out-of-sample.

Model accuracy
26%
better than guesswork (Brier)
Calibration error
0.5 pts
20,272 out-of-sample checks
Structural edge
+2.29
vol points, positive 82% of days
Backtest
474
expiries, 11.6 years, real prices

What we tested, and what survived

claims, not opinions

Fails
Predicting direction from chart patterns20 candlestick, momentum and volatility features. 11 years. Walk-forward, never looking ahead. 2,062 out-of-sample predictions. Ridge regression scored 50.97%; gradient boosting 51.65%. Guessing “up” every single day scores 54.03%. Both models are worse than the guess, including on the days they were most confident. We ran the nonlinear model specifically so “you only tried a linear model” could not be the answer.
Fails
Using a volatility forecast to time his bookVolatility genuinely is forecastable — 26% of variance explained. But its correlation with his actual daily P&L is +0.004. His book is exposed to the direction of the move (correlation −0.277), not its size (−0.161). The one thing that is forecastable is the one thing his current book does not care about.
Holds
Pricing the chance a strike gets reachedThe seller's real question. Answered from the empirical distribution of past moves, so fat tails are preserved rather than assumed away. 20,272 out-of-sample checks, calibration error 0.5 points, Brier score 26% better than guesswork.
Holds
The structural edge that pays himImplied volatility persistently exceeds what the market goes on to deliver: +2.29 volatility points over 21 days, positive on 82% of days, positive in every year from 2018 to 2026 and in every volatility regime. This is why selling options works at all — and it requires no forecast of anything.

The model

does 5% mean 5%?

A probability model is only useful if its numbers mean what they say. Each dot is one probability band; the dashed line is perfect calibration. Dot size is the number of observations.

0%10%20%30%40%50%0%10%20%30%40%50%model saidactually happened
Predicted versus realised breach rate, 20,272 out-of-sample checks. Every band sits on the line.
Model saidActually happenedChecks
under 1%1.07%469
1–2%2.79%682
2–5%4.66%1,415
5–10%7.76%2,165
10–20%14.78%3,376
over 20%47.86%12,165

One correction was necessary and is built in. The raw model understated the far-out-of-the-money tail by up to 1.8× — it said 1.5% where reality was 3.0%. For a seller that is the dangerous direction to be wrong in: it is how a ₹5 call becomes a ₹260 call. The correction is measured from the data, not guessed, and after it every band lands within 0.2 points.

Two things we will not overclaim. India VIX on its own scores marginally better than the model (Brier 0.18967 against 0.19128) — the market's own estimate is hard to beat, and the model earns its place through calibration and the tail correction rather than by outsmarting the market. And blending the two adds nothing measurable.

Why selling options pays at all

the variance risk premium

Buyers of protection persistently overpay. This is the engine under his whole strategy, and it exists whether or not anybody can predict direction.

HorizonPremiumPositive ont-statistic
5 days+2.83 vol pts82.0% of days8.8
10 days+2.5882.2%5.6
21 days+2.2982.1%3.1
42 days+1.9881.2%1.7

Realised volatility here uses the Yang-Zhang estimator, which counts overnight gaps and the intraday range. That matters: the simpler close-to-close measure ignores both, understates how much the market actually moved, and so flatters the premium — by 0.7 vol points at the 5-day horizon. The figures above are the conservative ones. t-statistics are deflated for overlapping windows, which otherwise overstate significance enormously.

The edge holds in every volatility regime, and is richest when volatility is already high (+4.84 points in the top VIX quintile, positive 89% of the time) — consistent with the backtest finding that the most volatile expiries earned the most. Fear is when protection is overpriced.

And here is the other half, which matters more. In March 2020 implied volatility was 23 while realised came in at 86 — a −63 volatility point stretch. A persistent edge with a violent left tail is exactly why position sizing matters more than strike selection. The premium is collected in small amounts and lost in large ones.

The backtest

474 expiries, 11.6 years, real prices

Short strangles on NIFTY, entered four sessions before expiry, held to settlement, priced at NSE's own settlement figures, with his measured all-in cost of 0.21% of turnover. One lot per leg throughout, so the columns compare like with like.

13.80.5%Sharpe 1.2712.61.0%Sharpe 1.1810.31.5%Sharpe 1.478.82.0%Sharpe 1.697.32.5%Sharpe 1.595.43.0%Sharpe 1.834.14.0%Sharpe 2.69
Risk per expiry (standard deviation, ₹ thousands) by how far out the strikes were sold. Sharpe ratio beneath each bar.
SoldPremium takenNet P&LKeptWin rateWorst expirySharpe
0.5% out₹17.6 L₹2,18,25912.4%61%−₹63,2721.27
1.0% out₹11.7 L₹1,74,74015.0%67%−₹61,9491.18
2.0% out₹5.3 L₹1,67,33131.3%86%−₹55,0971.69
3.0% out₹2.7 L₹1,15,86542.6%93%−₹46,5961.83
4.0% out₹1.6 L₹1,13,87969.4%99%−₹32,8952.69

The careful conclusion, and not the one we expected. Selling further out does not make more money — paired across the same 167 expiries, the difference between 1% and 3% out is not statistically distinguishable (t = 0.56). It makes the same money at less than half the risk: standard deviation per expiry falls from ₹12,572 to ₹5,403 and Sharpe roughly doubles. That is a risk result, not a return result, and saying otherwise would be selling you something.

This is independent confirmation. The tradebook said the same thing across 8,826 of his own positions; this says it again on market data that has nothing to do with him.

The strategy change worth testing

tested today, on 167 real expiries

His book is deliberately lopsided — 67.5% of the premium he sells is calls. That is what exposes him to the one thing nobody can forecast. So we tested the alternative directly: sell the call and the put at the same distance.

BookNet P&LWin rateWorst expiryDepends on directionDepends on size of move
Call-heavy (his style)₹1,52,39283%−₹62,748−0.475−0.668
Balanced 2% / 2%₹1,67,33186%−₹55,097−0.142−0.696
Balanced 3% / 3%₹1,15,86593%−₹46,596−0.196−0.539

Balancing the book earns 10% more, loses less on its worst day, and cuts dependence on market direction by 70% (−0.475 to −0.142) while dependence on the size of the move is untouched. That matters because size is the part that is forecastable and direction is the part that is not.

This is the single change with the best evidence behind it: it improves return and risk and removes the exposure that caused three of his four worst days.

How to use a volatility forecast

and how not to

The intuitive rule — “sit out when volatility is expected to be high” — is wrong, and we can show it costs money.

Expiries grouped by forecastNet P&LAverageWin rate
Calm forecast₹24,878₹54189%
Middle₹51,686₹1,14984%
Volatile forecast₹90,767₹1,97385%

The expiries the model flags as most volatile are the ones that made the most money. When volatility is expected to be high, options are priced richer — and the seller is paid for it. Skipping them would have thrown away 30% of the profit.

RuleNet P&LWorst expiryVolatility of returnsSharpe
Take everything, flat size₹1,67,331−₹55,097₹8,4711.69
Take everything, size by forecast₹1,39,534−₹31,444₹6,2251.92
Skip the most volatile quarter₹1,16,445−₹26,000₹5,2132.20

Volatility is a sizing signal for an option seller, not a go/no-go signal. Sizing by the forecast keeps 83% of the profit while cutting the worst expiry by 43%. Skipping keeps only 70%. Neither is free — every route to lower risk costs return, and anyone who tells you otherwise is selling something.

Sell the near expiry, not the far one

new finding · confirmed against published research

A landmark study of the variance premium (Dew-Becker, Giglio, Le & Rodriguez, Journal of Financial Economics, 2017) found the entire premium sits at the front of the curve — and is statistically zero beyond three months. We tested that on NIFTY, on real settlement prices, using independent trades only (one per expiry).

Expiry soldTradesAvg daysPremium keptWin rateSharpeWorst trade
Front — this week138764.6%94%3.78−₹621
Near — 10–35 days1371642.0%85%3.66−₹723
Mid — 36–70 days326325.7%66%1.41−₹1,682
Far — 71–200 days2810710.9%61%0.54−₹2,345

Selling 3% out of the money, the share of premium that survives to expiry falls from 64.6% on the front expiry to 10.9% on a far one. Sharpe drops seven-fold and the worst trade nearly quadruples. Selling a distant expiry means holding four times the risk to keep a sixth of the premium.

This is a tenor rule, not a timing rule. It needs no forecast, no volatility view and no market call — only a decision about which expiry to sell. It is the rare case where independent academic work and this account's own market data point the same way.

Two honest caveats. The mid and far buckets rest on 32 and 28 independent trades — suggestive, not settled. And the Sharpe figures above are already deflated: an earlier version using overlapping daily entries reported roughly double these numbers, because 646 entries shared only 167 genuinely independent expiries.

The full record: 474 expiries, 2015–2026

including COVID — and it changes one conclusion

The backtest above covered 167 expiries from 2024. Extending NSE's archive back to 2015 gives 474 expiries across 11.6 years — and includes March 2020, which the shorter window did not. Every trade is priced at one unit, because NIFTY's lot size changed four times in this period and rupee totals would measure exchange policy rather than strategy.

SoldAvg premiumPremium keptWin rateWorst expiry…as a multiple of premium
1% out₹127.18.2%67%−₹1,386−11×
2% out₹64.019.4%83%−₹1,346−21×
3% out₹35.328.6%91%−₹1,284−36×
4% out₹22.537.3%97%−₹1,165−52×

The moneyness gradient holds over the full 11.6 years: selling further out keeps more of the premium (8.2% → 37.3%) and wins far more often (67% → 97%). That is now confirmed three separate ways — across 8,826 of his own positions, across 167 recent expiries, and across 474 expiries spanning two crashes.

A correction to what this page said earlier

On the shorter 2024–26 window we reported that selling further out delivered “the same money at less than half the risk.” Over the full record that is too generous. The worst expiry barely improves as you move out (−₹1,386 → −₹1,165, about 16%) while the premium collected falls 5.6-fold (₹127 → ₹22). Measured against what you actually take in, the tail gets worse: from 11× the average premium to 52×. The 2024–26 window simply contained no crash. This is the picking-up-pennies shape, and it is the honest version.

The practical reading is unchanged but better founded: sell further out for the higher hit rate, and control the tail with position size, not with strike distance. Distance buys you frequency; only size buys you survival.

Year (3% out)Premium keptYearPremium kept
201537.8%202116.6%
201632.9%202247.6%
201799.8%202363.0%
201894.6%202474.5%
201983.5%2025−6.2%
2020−19.8%202669.3%

Ten profitable years out of twelve. The two losses are 2020 and 2025, and the single worst expiry in the whole record is 12 March 2020 — which lost 36 times the premium it collected. An option seller should expect a losing year roughly one year in six, and should size so that year is survivable rather than terminal.

Tools you can run

All free. No paid data feed, no credentials, no subscription.

$ python3 strike_advisor.py --spot 24450 --dte 4 --vix 12.5 --ladder

   distance   strike   chance it is reached
      1.0% CE  24,694                45.0%
      2.0% CE  24,939                12.1%
      3.0% CE  25,184                 3.9%     <- calibrated, tail-corrected
      3.0% PE  23,716                 6.1%     <- puts riskier than calls, as reality shows

$ python3 strike_advisor.py --spot 24450 --dte 4 --strike 24800 --premium 12 --qty 3750
    chance it is reached   27.1%
    premium collected      Rs 45,000
    EXPECTED VALUE        -Rs 38,592
    you break even if the breach chance is under 14.6%  (model says 27.1%)
    -> NEGATIVE EDGE

Strike advisor

strike_advisor.py

Probability a strike is reached, and whether the premium covers it.

Backtester

backtest.py

Any short-premium rule replayed on 167 real expiries.

Chain downloader

fetch_chain.py

NSE's daily option chain, free. 647 sessions pulled so far.

Data gate

verify_chain.py

Refuses to trust the chain until fills match. Currently 100%.

On TradingView, and what to pay for

Avoid
TradingView via MCPThere is no official TradingView MCP server; all five we examined are unofficial. TradingView's terms licence data for display only and explicitly prohibit “algorithmic decision-making” and automated processing — backtesting is exactly that, and repeat breaches draw permanent bans. One popular repo ships rotating-proxy infrastructure; another stores your TradingView password in environment variables. Decisively: none of them can return an NSE option chain at all. It would be worse data, obtained riskier, than what we already have for free.
Careful
Kite Connect at ₹500/monthZerodha's own documentation is explicit that instrument tokens exist only for live contracts and cannot be retrieved for expired ones. For backtesting options history that is close to disqualifying. It remains useful for live automation — auto-pulling the morning book — not for research.
Use
NSE bhavcopy, freeThe full daily chain: every strike, every expiry, settlement price, underlying, open interest. Verified at 100% against our own fills. Keep it internal — NSE's terms restrict redistribution, so this belongs in research, not in a product.

What we still cannot tell you

  • We do not know the capital base. Contract notes record trades and charges, never AUM. Net P&L is exact and reconciled; any return percentage needs a denominator only the three of you have. We have deliberately not published one, because a margin-based guess would be wrong — running spreads rather than naked shorts changes it several-fold.
  • Daily bars cannot test intraday rules. An at-the-money weekly option swings intraday by a median 82% of its closing premium. Hold-to-expiry strategies are testable on this data; anything with an intraday stop or target is not.
  • Sample size — now largely addressed. An earlier version of this page rested on 167 expiries, and warned that six extra expiries once swung a near-money strategy from +₹56,000 to −₹8,386. The record now runs to 474 expiries over 11.6 years, including March 2020. What remains thin is the far-tenor comparison, which rests on 32 and 28 independent trades.
  • Calibration is not clairvoyance. A well-calibrated 3% means it happens three times in a hundred, not never. The model cannot know that today is the day a trade pact lands.
  • Execution cost has now been stress-tested, and it survives. Duarte, Jones & Wang (Journal of Finance, 2024) warn that option backtests priced at the mid can be biased by more than the entire edge. Rather than invent a bid-ask spread the data does not contain, we asked the inverse question: how much slippage would it take to break the result? Charging up to 8 ticks (₹0.40) against us on every leg, on both entry and exit, cuts total P&L by only about 4% and leaves the ranking across strike distances unchanged. The reason is structural — a hold-to-expiry seller crosses the spread essentially once: 91% of 3%-out expiries finish worthless, so there is nothing to buy back. That warning bites hardest on strategies that round-trip frequently; this is not one. It would apply in full to any intraday variant.
  • Independent confirmation worth knowing. Bhat (Journal of Futures Markets, 2024) studied NIFTY options specifically and found short-option strategies earn their premium overnight and give it back intraday — the seller is paid for bearing overnight risk. That is the same conclusion this account's own data reached independently: 82% of the profit sits in overnight and multi-day positions, and gap-ups do the damage.