Markets: A Rigorous Course

14.19 Hedging a stock portfolio with Nifty options

Core about 35 min

Motivation

M07 · 7.6 showed how to remove a portfolio's market exposure with index futures (Proposition 7.9). An investor who owns a concentrated book of Indian stocks usually wants something different: to keep the upside and limit the damage of a large fall over a known period, for example before a cash need, a pledge-funded position (14.16) or an event (M12 · 12.6). That is a job for index options. This section compares four overlays on one real chain (protective puts, put spreads, collars and short futures), sizes them by beta, prices them as a drag on returns, and works out the Indian tax treatment, which makes a hedge less effective after tax than before it.

Prerequisites M07 · 7.6 (minimum-variance and beta hedges), M08 · 8.8 (Black-76), M09 · 9.4 (the variance risk premium), M09A · 9A.1 (reading the chain), M12 · 12.6 (payoff shapes), M00 · 0.7 and M01 · 1.7–1.8 (taxes and costs), 14.8 (risk limits).

14.19.1Four overlays and the beta-matched floor#

Setup

A portfolio worth V0V_0 has beta β\beta to the Nifty 50 over the hedge horizon [0,T][0, T]: RP=βRN+εR_P = \beta R_N + \varepsilon, where RN=ST/S0−1R_N = S_T/S_0 - 1 is the Nifty's price return and ε\varepsilon the stock-specific part, with mean zero and uncorrelated with RNR_N. (Dividends, and the risk-free return on the beta-neutral part, are ignored in the algebra; they shift every line by the same small amount.) Nifty options are European and cash-settled on the index at expiry; one lot is ℓ\ell units. With NN lots and q=Nℓq = N\ell units, the four overlays pay at TT:

Overlay Payoff at TT Premium at 0
Short futures at F0F_0 q(F0−ST)q(F_0 - S_T) none (margin instead)
Protective put, strike K1K_1 q(K1−ST)+q(K_1 - S_T)^+ q p(K1)q\,p(K_1) paid
Put spread K2<K1K_2 < K_1 q[(K1−ST)+−(K2−ST)+]q[(K_1 - S_T)^+ - (K_2 - S_T)^+] q[p(K1)−p(K2)]q[p(K_1) - p(K_2)] paid
Collar K1<S0<K3K_1 < S_0 < K_3 q[(K1−ST)+−(ST−K3)+]q[(K_1 - S_T)^+ - (S_T - K_3)^+] q[p(K1)−c(K3)]q[p(K_1) - c(K_3)], often near zero

Sizing The portfolio's value at TT moves by βV0/S0\beta V_0/S_0 rupees per index point (with ε=0\varepsilon = 0). A put that is in the money at expiry moves by −q-q rupees per point. Matching the two slopes gives

N⋆=βV0S0 ℓ.(14.24)N^\star = \frac{\beta V_0}{S_0\,\ell}. \tag{14.24}

This uses the spot S0S_0 because the options settle on spot. The futures hedge of (7.18) uses the contract value F0ℓF_0\ell instead; the two differ by the basis, about 1% here.

Proposition 14.30beta-matched put floor

With q=βV0/S0q = \beta V_0/S_0 puts of strike K≤S0K \le S_0 and ε=0\varepsilon = 0, the hedged value at expiry, before premium, is

VT+q(K−ST)+={V0[1−β(1−K/S0)],ST≤K,V0[1+β(ST/S0−1)],ST>K.(14.25)V_T + q(K - S_T)^+ = \begin{cases} V_0\big[1 - \beta(1 - K/S_0)\big], & S_T \le K,\\ V_0\big[1 + \beta(S_T/S_0 - 1)\big], & S_T > K.\end{cases} \tag{14.25}

So the worst loss is βV0(1−K/S0)\beta V_0(1 - K/S_0) plus the premium paid (with its financing). For the put spread the floor holds only for K2≤ST≤K1K_2 \le S_T \le K_1; below K2K_2 the portfolio again loses βV0/S0\beta V_0/S_0 per point. For the collar the gain above K3K_3 is capped at βV0(K3/S0−1)\beta V_0(K_3/S_0 - 1).

Proof

With ε=0\varepsilon = 0, VT=V0[1+β(ST/S0−1)]V_T = V_0[1 + \beta(S_T/S_0 - 1)]. If ST≤KS_T \le K, adding q(K−ST)=(βV0/S0)(K−ST)q(K - S_T) = (\beta V_0/S_0)(K - S_T) gives V0+βV0(ST−S0)/S0+βV0(K−ST)/S0=V0[1+β(K−S0)/S0]V_0 + \beta V_0(S_T - S_0)/S_0 + \beta V_0(K - S_T)/S_0 = V_0[1 + \beta(K - S_0)/S_0], which does not depend on STS_T. If ST>KS_T > K the put pays nothing. For the spread, below K2K_2 the short put pays −q(K2−ST)-q(K_2 - S_T), restoring the slope βV0/S0\beta V_0/S_0. For the collar, above K3K_3 the short call pays −q(ST−K3)-q(S_T - K_3), which cancels the portfolio's slope, so value stays at V0[1+β(K3/S0−1)]V_0[1 + \beta(K_3/S_0 - 1)].∎

What the floor does not cover Proposition 14.30 assumes ε=0\varepsilon = 0 and a known β\beta. In practice:

  • Stock-specific risk ε\varepsilon is untouched. A concentrated book of 10–15 stocks has idiosyncratic volatility of the order of 15% a year (an assumption here; estimate yours from residuals of the regression in M06 · 6.5). Over 81 days that is 15%×81/365=7.07%15\% \times \sqrt{81/365} = 7.07\% of V0V_0, one standard deviation.
  • Beta risk. A single-stock beta has a standard error of 0.1–0.3 (M06 · 6.5); a portfolio's is smaller but not zero, and betas rise in crashes (14.6). An error of 0.2 in β\beta is an error of 0.2×15%=3%0.2 \times 15\% = 3\% of V0V_0 in a 15% fall.
  • Lot rounding. N⋆N^\star is rarely an integer.

14.19.2Worked example: ₹50 lakh, beta 1.1, on 5 November 2026#

Portfolio V0=₹50,00,000V_0 = \text{₹}50{,}00{,}000, β=1.1\beta = 1.1 (an assumed figure for a concentrated large- and mid-cap book). The hedge runs to the January 2027 monthly expiry.

Market, NSE F&O bhavcopy of 5 Nov 2026 (settlement prices; lot 65). Nifty spot (UndrlygPric) 24,536.6. January future (expiry 25 Jan 2027, 81 days) 24,834.8: an annualised carry ln⁡(F/S)/T=5.44%\ln(F/S)/T = 5.44\%. Implied volatilities are Black-76 on the January future with r=5.5%r = 5.5\%.

January 2027 option Settlement OI (units) Contracts traded Black-76 IV Delta
24000 put 267.75 3,58,020 12,858 13.04% −0.275
23500 put 175.95 1,95,325 7,815 13.97% −0.189
22500 put 91.35 1,86,030 4,341 16.67% −0.096
25500 call 281.85 2,03,710 11,094 11.75% +0.323

The skew is visible: the 22,500 put (8.3% out of the money) is priced at 16.7% volatility, the 25,500 call at 11.8%. Protection against a crash is the expensive side of the chain; the collar sells the cheap side to pay for it.

Size By (14.24), N⋆=1.1×50,00,000/(24,536.6×65)=3.45N^\star = 1.1 \times 50{,}00{,}000/(24{,}536.6 \times 65) = 3.45 lots (3.41 on the futures value, as in M07 worked example 7.10). Three lots cover 87% of the beta exposure; four would cover 116%, which for the futures hedge means a net short position. The example uses three lots (q=195q = 195).

The four overlays

  • Short futures: sell 3 January futures at 24,834.8.
  • Protective put: buy 3 lots of the 24,000 put (2.2% out of the money) for ₹52,211, 1.04% of the portfolio.
  • Put spread: buy the 24,000 put, sell the 22,500 put; net ₹34,398 (0.69%).
  • Collar: buy the 24,000 put, sell the 25,500 call (3.9% out of the money); net credit ₹2,750.

Entry costs at the M01 · 1.7 rates (₹20 brokerage per order, STT 0.15% of option premium sold and 0.05% of futures sold, exchange charges, SEBI fee, stamp duty, GST): ₹47 for the put, ₹105 for the spread, ₹176 for the collar and ₹2,555 for the futures, mostly STT on ₹48.4 lakh of futures sold. Options held to expiry and settled in the money pay STT of 0.15% of the intrinsic value (M01 · 1.7); that is included below.

Outcomes at expiry, pre-tax, with ε=0\varepsilon = 0 (₹, and % of V0V_0):

Nifty at expiry Unhedged Short futures Protective put Put spread Collar
−15% (20,856) −8,25,000 (−16.50%) −51,711 (−1.03%) −2,65,119 (−5.30%) −5,67,923 (−11.36%) −2,10,288 (−4.21%)
−5% (23,310) −2,75,000 (−5.50%) +19,826 (+0.40%) −1,92,865 (−3.86%) −1,75,110 (−3.50%) −1,38,034 (−2.76%)
0% 0 +55,594 (+1.11%) −52,258 (−1.05%) −34,503 (−0.69%) +2,573 (+0.05%)
+5% +2,75,000 (+5.50%) +91,362 (+1.83%) +2,22,742 (+4.45%) +2,40,497 (+4.81%) +2,26,204 (+4.52%)
+10% +5,50,000 (+11.00%) +1,27,130 (+2.54%) +4,97,742 (+9.95%) +5,15,497 (+10.31%) +2,61,973 (+5.24%)

Reading the table:

  • The futures hedge removes most of the market exposure in both directions and earns the basis (₹58,149 on 3 lots, less costs) when the market is flat: the hedged part of the book earns roughly the risk-free rate, which is what a beta-zero position should earn (the cost-of-carry argument of M07 · 7.1).
  • The put costs about 1% whatever happens and caps the loss near 5% in the crash: the 2.2% distance to the strike times β\beta, plus the premium, plus the 13% of exposure left unhedged by rounding.
  • The put spread is cheaper but protects only down to 22,500. In a 15% fall it recovers less than a third of the loss. It is insurance against a moderate fall, not a crash.
  • The collar is nearly free and protects like the put, but gives away everything above 25,500. In the +10% case it earns less than half of the unhedged gain.
  • Around every row sits the stock-specific risk: one standard deviation of ε\varepsilon is ₹3.53 lakh (7.07%), larger than the hedged loss in every protected row.

14.19.3Cost, drag and when a hedge is worth buying#

Drag Rolled continuously at this price, the 81-day put costs 1.044%×365/81=4.7%1.044\% \times 365/81 = 4.7\% of the portfolio a year, and the spread 3.1%. That is of the order of the equity risk premium itself (M06 · 6.5), so a permanently hedged book gives up most of the reason to own equities. The futures hedge has no premium, but the hedged part earns only the risk-free rate: its cost is the forgone equity premium on the hedged amount, β×ERP×T\beta \times \text{ERP} \times T on V0V_0.

Is the put cheap or dear? Under the pricing measure the put is worth what it costs. Under your own probabilities its value is e−rT EP[(K−ST)+]e^{-rT}\,\mathbb E^{\mathbb P}[(K - S_T)^+]. One estimate: apply each historical 57-trading-day Nifty log return (the number of NSE sessions to the January expiry) from 2015 to 5 Nov 2026 to today's spot.

  • Over all 2,859 overlapping windows the discounted mean payoff is ₹311.6 against a price of ₹267.75; the realised volatility of those returns is 16.5% against an implied 13.0%.
  • Excluding the windows that start in January–June 2020 (the Covid crash), it is ₹235.2: below the price.
  • Using 51 non-overlapping windows, the mean is ₹324 with a standard error of ₹122.

The data cannot say whether the put is cheap. The answer turns on one episode, which is the nature of crash insurance. The broader evidence on index options (M09 · 9.4) is that implied variance exceeds realised variance on average, so a systematic buyer of puts should expect to pay a premium over time.

A hedge has positive value to you if either:

  1. You believe the probability of a large fall over the horizon is higher than the price implies. This is a view, and should be recorded and scored like any forecast (M13).
  2. The fall would cost you more than its rupee amount. Examples: a known cash need at a date (a house purchase, a tax payment); a portfolio carrying pledged-share margin or MTF debt, where a fall forces a sale (14.16, 14.18); a drawdown limit (14.8) that would force you to cut the book at the bottom. In each case the hedge is bought for the shape of the payoff (M12 · 12.6), not for its expected value.

A hedge bought because "the market feels high" is neither. It is a market-timing bet that carries a negative expected return.

14.19.4The tax mismatch#

The portfolio and the hedge are taxed under different heads (M00 · 0.7; Income-tax Act, 2025, from tax year 2026-27):

  • gains and losses on the shares are capital gains: STCG at 20%, LTCG at 12.5% above ₹1.25 lakh, taxed only when realised;
  • gains and losses on index options and futures are non-speculative business income, taxed at the slab rate in the year they arise.

The set-off rules make the asymmetry worse (M00 · 0.7.3). A capital loss can be set off only against capital gains; it cannot absorb business income. A non-speculative business loss can be set off against other income except salary, including capital gains, and carried forward for 8 years against business income only.

In the −15% case (30% slab plus 4% cess, 31.2%, ignoring surcharge):

  • The put hedge makes ₹5,59,881 of business income in the year: tax ₹1,74,683.
  • The portfolio's ₹8,25,000 loss is unrealised and saves no tax this year. If the shares are sold, it is a capital loss that cannot be set off against the hedge gain.
  • After tax, the hedged outcome is −8,25,000+5,59,881×(1−0.312)=−₹4,39,802-8{,}25{,}000 + 5{,}59{,}881 \times (1 - 0.312) = -\text{₹}4{,}39{,}802 (−8.80%), against −5.30% before tax. Only 69% of the hedge's protection survives tax.
  • Restoring the pre-tax protection after tax would need about N⋆/(1−0.312)=5.0N^\star/(1 - 0.312) = 5.0 lots. That over-hedge is a net short position in rising markets, so it is a trade-off, not a fix.

In the +10% case the futures hedge loses ₹4,22,870, a business loss.

  • Set against other business income, it saves ₹1,31,935 at 31.2%.
  • Set against realised long-term capital gains, it saves only ₹52,859 at 12.5%.
  • With no income to absorb it, it saves nothing until it is used (within 8 years, against business income only).

Hedge gains are taxed at the highest rate the investor pays. Hedge losses are often worth only the capital-gains rate, or nothing for years. Before hedging, work out your own position (which heads of income you will have this year) with a chartered accountant, and treat the after-tax table, not the pre-tax one, as the hedge's true payoff.

14.19.5Futures or options?#

Situation Better tool Why
Cut beta for a period, no view on the tails (rebalancing, a tactical de-risk) Short futures (M07 · 7.6) No premium, no variance risk premium paid; tracking is tight because the basis is small
Keep the upside, cap a crash loss over a known horizon Protective put Convex payoff; maximum cost known at entry
The same with a budget, accepting tail risk Put spread Cheaper, but protection ends at the short strike
Willing to give up upside above a level Collar Near-zero premium; the short call finances the put
Large hedge for a long period Futures, rolled Options beyond the next few months have sparse strikes (13 strikes for March 2027 in the 5 Nov 2026 bhavcopy, against 117 for January) and wide markets
Little spare cash or collateral Puts Futures and short calls need margin, and a rally creates daily mark-to-market outflows (₹4.20 lakh on the 3 short futures in the +10% case) while the gains on the shares are unrealised

The liquidity point in the last row is how futures hedges fail in practice: the hedge is right on paper, but a sharp rally drains cash, and the investor sells shares or closes the hedge at the wrong time. Size a cash or collateral buffer for at least a two-standard-deviation rally over the horizon (14.18 does the same calculation for margin calls).

14.19.6Practitioner notes#

  • Estimate β\beta on weekly returns over two years against the Nifty and round it to one decimal; the second decimal is noise. Recompute NN when the portfolio changes by more than one lot's worth.
  • Strikes 2–5% out of the money are the usual compromise. Deeper puts are cheaper in rupees but dearer in implied volatility (the skew above) and protect only against crashes.
  • Hedging ends at expiry. Decide in advance whether you will roll, and at what cost. A rolling programme is a permanent drag (14.19.3).
  • Close in-the-money options before expiry if the 0.15% STT on intrinsic value at exercise exceeds the cost of selling the option (STT is 0.15% of premium on a sale; compare the two with the current rates).
  • See it live: https://oicharts.com/indices/nifty-50 for the index level you are hedging. Option prices come from the NSE chain or the bhavcopy (M09A · 9A.1–9A.2).

Create a free account

Reading is open to everyone. An account keeps your progress, answers, notes and code drafts, and gives you the study plan, the journals and the simulator. Running code needs an account approved for it.