On 10 Jun 2026 the 23,250 call of the 30 Jun Nifty expiry traded 10,854 contracts all day; it is the strike nearest the future. Suppose a fund wants to buy 500 lots of the future in one go. At 65 units a lot and the spot close of 23,214.95, that is Rs 75.4 crore of notional. The chain files carry option volumes and not the future's, so the order is set against 4.6% of that one option's day as a yardstick for size only. The way it is cut up decides what it costs. This lesson sets out the two costs of an order, the one that falls with patience and the one that grows with it, and the model that prices the trade off. The schedules are made up and the chain volumes are real. Nothing here is a view on where Nifty goes.

3By the end you can

  1. Measure the cost of an order as implementation shortfall and split it into impact and timing risk.
  2. Use the square root rule to see how cost grows with order size as a share of volume.
  3. Compare an equal schedule and a front loaded one on impact and risk, and say what moves the choice.
The RupeeCase terminal on sample data: Holdings, Returns, Risk, History: what is in each tab?
Watch in the terminal: what is in each tab? A short tutorial on sample data.

The idea, plainly

What does it cost to trade a large order?

The yardstick is implementation shortfall: the price at which the decision to trade was made, less the average price actually paid, times the quantity. A buyer who decides at 23,240.10 and pays 23,246.60 on average has a shortfall of 6.5 points a unit, which on 500 lots of 65 units is 2,11,250 rupees. The shortfall has two sources that pull against each other. Market impact is what your own buying does to the price: a bigger order, sent faster, pushes the price further. Timing risk is what the market does to you while you wait: the price you have not yet bought at keeps moving, up or down, with the volatility of the day. Trade everything at once and impact is large and timing risk is zero. Trade a little at a time and impact shrinks, but the unbought part is exposed for longer.

How big is impact, and how does it grow?

Two kinds are worth separating. Temporary impact fades after your order is done; it is the price of demanding liquidity quickly. Permanent impact stays because the market read your order as information. A rule of thumb that fits many markets is that impact per unit grows with the square root of the order size as a share of the day's volume. Quadruple the order and each unit costs about twice as much; the total cost grows by eight. The constant in front differs by market and must be measured on your own fills, so this lesson uses the shape of the law and not a rupee value.

The RupeeCase terminal on sample data: Charges by kind: what are brokerage, STT, GST and the platform fee?
Watch in the terminal: what are brokerage, STT, GST and the platform fee? A short tutorial on sample data.

That is why participation matters. An order of 100 lots is 0.9% of the strike's day, 400 lots is 3.7% and 1,600 lots is 14.7%. The chain gives volume in contracts, and one contract is one lot.

Sixteen times the order costs four times as much per unit

Impact per unit under the square root rule for three order sizes: 1 for 100 lots, 2 for 400 and 4 for 1,600, beside each size as a share of one strike's day volume100 lots, 0.9% 1; 400 lots, 3.7% 2; 1,600 lots, 14.7% 4.Impact per unit, square root rule, relative to the smallest order100 lots, 0.9%1400 lots, 3.7%21,600 lots, 14.7%4
The share is the order as a part of the 10,854 contracts traded in the 23,250 call on 10 Jun 2026. The scale is relative: the square root rule gives the shape, and the multiplier in front must be measured on real fills. Source: NSE end of day data (volume), RupeeCase model (impact scale). As of 10 Jun 2026.

What does the Almgren and Chriss model add?

It puts the two costs on one scale. The trader sells or buys X units over T, in n equal slices. Each slice causes temporary impact that grows with its size. The inventory not yet traded carries variance from price moves. The model asks for the schedule that minimises expected cost plus a risk aversion λ times variance. If λ is zero the answer is equal slices: the time weighted average price schedule, because with linear impact the cost of a slice rises with the square of its size and equal slices spread it thinnest. If λ is positive the answer tilts to the front: sell or buy more early, to cut the time the unbought part is at risk. A higher λ, or higher volatility, tilts it more. A trader with no view on price and a dislike of risk leans forward; one who is patient and has a view that favours waiting does not.

Maths: the Almgren and Chriss schedule

x(t) = X × sinh(κ(T−t))
÷ sinh(κT)

κ² = λ × σ² ÷ η

Here x(t) is the quantity still to trade at time t, σ is the volatility of the price per unit time, and η is the coefficient of temporary impact. When κT is close to zero the sinh ratio becomes a straight line and the schedule is equal slices. As κT grows the curve bends and more of the order is done early. The expected cost of the schedule is the permanent impact term, which is fixed, plus η times the sum of squared slice sizes over the slice length. The variance is σ² times the sum, over slices, of the squared quantity still held after each. These two sums are what the example below prints.

What does India change?

Algo orders on NSE cannot be market orders, so every slice is a limit order and its price must be chosen: inside the spread it may not fill, across it you pay the spread. The ten orders a second threshold for retail algos is no bar to a slicing program that sends one order a minute. On the venue side, the cash market has had a closing auction session since 3 Aug 2026 (SEBI circular of 16 Jan 2026). SEBI's circular of 15 Oct 2026 moves it to 3:30 to 3:40 pm from 7 Dec 2026, with a random close between 3:38 and 3:40. Only limit and market orders may be placed in it, with no new iceberg or stop loss orders, and from 8 Feb 2027 unexecuted icebergs from the continuous session carry into it as fully disclosed limit orders. The auction is for shares. Index futures trade on until 3:45 pm from 7 Dec 2026, except that expiring index contracts stop at 3:30 pm on expiry day. A schedule for a basket of shares that ends at the close must now say how much goes to the auction; a schedule in the future has no auction to use. The slicing tools in everyday use are explained in the question on slippage, VWAP and TWAP.

Two terms to hold on to from 19.11

Two terms to hold on to from 19.11Two terms to hold on to from 19.11. Implementation shortfall: The decision price less the average price paid, times the quantity. It collects impact, timing and delay in one number. Market impact: The move in price caused by your own order. The temporary part fades after the order; the permanent part stays.Implementation shortfallThe decision price less the average pricepaid, times the quantity. It collects impact,timing and delay in one number.Market impactThe move in price caused by your own order.The temporary part fades after the order; thepermanent part stays.
From the module glossary. Source: Module 19.11, Optimal execution and market impact.

How do VWAP, TWAP and a model schedule differ?

A TWAP spreads the order evenly in time and ignores volume. A VWAP follows the day's expected volume curve, which in Indian equity derivatives is heavy near the open and the close and thin at lunch, so it trades more when others do and tries to stay a small part of the flow. The model schedule starts from neither. It starts from risk aversion and volatility and says how fast to go. In practice a desk takes the model's urgency and applies it to a volume curve: slice sizes follow expected volume, scaled forward or back by how much risk it is willing to carry. The curves differ by contract and by day of the week, and an expiry day looks nothing like a mid cycle day.

What does the model leave out?

Quite a lot. It assumes the price has no drift, so it has no opinion on whether waiting is rewarded; a buyer who expects the price to rise leans forward for a reason that has nothing to do with risk. It assumes every slice fills, but a passive limit order may not, and the unfilled part must then be sent harder. It assumes any slice size is possible, but orders come in whole lots, and 500 lots in five slices is easy while 503 lots in seven is not. It treats impact as the same in every slice, when a quiet book just after an announcement is thinner than a busy one. And it ignores information leakage: slices of the same size at fixed intervals tell the rest of the market what is coming.

Where this section sits in module 19.11

Where this section sits in module 19.11Where this section sits in module 19.11. 1. The idea, plainly 2. Worked example: five slices of 500 lots 3. The common mistake 4. Key takeaways01The idea, plainly02Worked example: five slices of 500lots03The common mistake04Key takeaways
Sections 1 to 4 of 4; the highlighted one is next. Source: Module 19.11, Optimal execution and market impact.

How would I measure my own impact?

Keep a record of every parent order: the decision time and price, the quantity, every child order with its time, price and size, and the market's volume over the same minutes. Regress the cost of each parent order on the square root of its share of volume, with volatility as a second term. With a few hundred orders you will have a constant of your own and its uncertainty; with a dozen you will have a guess. The constant belongs to a contract and a period. The strike used here is an option, with a wider spread and a thinner book than the future, so its constant would not carry over to the index future.

Worked example: five slices of 500 lots

Take the order of 500 lots in five equal time slices over an hour. Nifty's at the money implied volatility on the chain, at the strike nearest the future, was 15.0%. Over a session of 6.25 hours, one hour is the daily figure divided by 2.5, so one standard deviation of the future over the hour is about 88.0 points. Left entirely undone for that hour, the order would carry a one standard deviation swing of Rs 28.6 lakh. That is a measure of exposure and not a forecast of a gain or a loss.

The front loaded schedule trades 200 lots in its first slice and 43 in its last

Lots traded in slices 1, 3 and 5 of two schedules for a 500 lot order: the equal schedule trades 100 in each and the front loaded one 200, 79 and 43Equal, slice 1 100; Equal, slice 3 100; Equal, slice 5 100; Front, slice 1 200; Front, slice 3 79; Front, slice 5 43.Lots traded in the slice, made up scheduleEqual, slice 1100Equal, slice 3100Equal, slice 5100Front, slice 1200Front, slice 379Front, slice 543
Model, not market data. Almgren and Chriss schedule for κT = 2.5 over five slices, rounded to whole lots, beside equal slices. The chain supplies the future and the lot size for the exposure. Source: RupeeCase model; the future and lot size are from NSE end of day data. As of 10 Jun 2026.

Front loading buys lower risk at the price of higher impact

Impact and risk of the front loaded schedule against equal slices set at 100: impact 133 and risk 44Impact, equal 100; Impact, front loaded 133; Risk, equal 100; Risk, front loaded 44.Index, equal slices = 100Impact, equal100Impact, frontloaded133Risk, equal100Risk, frontloaded44
Model, not market data. Impact is the sum of squared slice sizes and risk the sum of squared lots still held after each slice, both set to 100 for the equal schedule. A trader who cares little about risk would pick the equal schedule; one who cares more would lean forward. Source: RupeeCase model; the future and lot size are from NSE end of day data. As of 10 Jun 2026.

Volatility moved a lot in the files, so a fixed schedule carries that risk

India VIX daily close from 1 Jul 2025 to 15 Sep 2026India VIX: from 12.5 at 1 Jul 2025 to 13.4 at 15 Sep 2026, high 27.9 at 30 Mar 2026, low 9.15 at 26 Dec 2025.1015202530Jul 2025OctJan 2026AprJul13.4
India VIX closes. When volatility rises, κ rises with it, and the same model asks for a schedule that leans further forward. Source: NSE end of day data, computed by RupeeCase. As of 15 Sep 2026.
Read 4 more paragraphs, 181 words

The equal schedule trades 100 lots in each slice. The front loaded schedule, from the formula with κT = 2.5, trades 200, 124, 79, 54 and 43.

Now the two costs, in index form. With linear temporary impact, cost follows the sum of squared slice sizes. The equal schedule scores 50,000 and the front loaded 66,382, so 1.33 times as much. Risk follows the sum of squared inventories after each slice: 3,00,000 for the equal schedule and 1,32,234 for the front loaded one, only 44% of it.

Neither schedule is better in itself. The equal one costs less impact and exposes the order to the market for longer; the front loaded one does the reverse. The model's job is to make the exchange rate between the two visible, and risk aversion is the dial that picks the point on it.

Volatility moves the dial too. The India VIX line shows how much that one gauge moved in the files; a schedule fixed at the start of the hour is exposed to whatever happens to it.

Read the fills yourself

Any set of your own fills can be scored the same way. Write down the decision price, the average price paid and the quantity. Compute the shortfall in points and in rupees. Then split it into the part you can trace to your own order, by comparing your slices with the market's volume in the same minutes, and the part that came from the market moving on its own.

Try it yourself

Take an order of 500 lots and three schedules: equal slices, a schedule with more in the last slice and a schedule with more in the first. Compute the sum of squared slice sizes and the sum of squared lots still held. Rank the three on each. Which one would you expect a risk averse desk to use, and which one a desk that expects the price to drift in its favour while it waits?

The common mistake

The belief: Slicing an order always lowers its cost. Slicing lowers impact and raises timing risk, and that is the whole model. A buyer who slices over the whole session while the price rises pays for the waiting. A slice also leaves a trail: a program that sends the same size at regular intervals can be read, and the rest of the market can step in front of it. A schedule is only a plan. It is chosen for the cost the trader can bear, from numbers measured on that market and not copied from another. The square root rule gives the shape, and its constant must come from your own fills.

The term this section turns on: Timing risk

The term this section turns on: Timing riskThe term this section turns on: Timing risk. Timing risk: The variance of the part of an order not yet traded, from price moves while it waits.Timing riskThe variance of the part of an order not yettraded, from price moves while it waits.
From the module glossary; every term is in the Learn glossary too. Source: Module 19.11, Optimal execution and market impact.

Key takeaways

  • Shortfall is the decision price less the average price paid.
  • Impact falls with patience; timing risk grows with it.
  • Per unit impact grows with the square root of the order size.
  • Equal slices suit zero risk aversion; more risk aversion tilts forward.
  • Algo orders on NSE are limit orders, so each slice needs a price.
  • Measure the impact constant on your own fills.
The RupeeCase terminal on sample data: Sharpe and volatility: how bumpy was the ride?
Watch in the terminal: how bumpy was the ride? A short tutorial on sample data.

Before you trade. Derivatives trading carries a high risk of loss. SEBI's study "Profitability of Individual Traders in the Equity Derivatives Segment (FY25 to FY26)" (August 2026) found that 87.7% of individual traders in equity F&O made net losses in FY26, with aggregate net losses of Rs 91,685 crore. Read the SEBI study