Beating the benchmark and executing well are two different achievements
The short answer
VWAP and TWAP each name two separate things. One is a benchmark, a price computed after the session from trades that already happened. The other is a schedule, an instruction issued before it about your own order. Measured on 243,400 security sessions of exchange files from 2022-01-03 to 2026-09-18, the day's volume weighted average price sat a median 49 basis points from the day's close and 168 at the ninetieth percentile, so the benchmark choice alone is worth real money. In a seeded simulation calibrated to the same data, a buy order at 20 per cent of a day's natural volume paid 83 basis points more than the price on screen at decision time while measuring only 10.6 behind the day's volume weighted average. The benchmark absorbed 87 per cent of the footprint, because it is computed from prices the order moved.
Every measured figure comes from the exchange's own security level session files, and every simulated figure from a stated, seeded model whose one free scale is pinned to those files. What VWAP is on its own is covered in the deep dive on session and anchored VWAP. This page is the comparison and the execution decision.
Two different objects share one acronym
A benchmark is arithmetic performed on a finished session. It takes trades that already happened, weights them somehow, and produces one number. A schedule is an instruction written before the session that tells a parent order how much quantity to release in each interval. The first is a score. The second is a behaviour. Neither implies the other, and the pairing is free: a desk can run a time proportional schedule and be measured on the volume weighted benchmark, or run a volume proportional schedule and be measured against the price at the moment the decision was taken.
Naming a schedule after a benchmark is a specific engineering decision, not a description. A volume proportional schedule is a schedule built to minimise tracking error against the volume weighted benchmark. Minimising tracking error against a number is not the same objective as paying the least, and the rest of this page is about how far apart those two objectives can get.
| Object | What it is | What it optimises | What it assumes |
|---|---|---|---|
| VWAP as a benchmark | Market traded value divided by market traded quantity, over a stated window. | Nothing. It is arithmetic on a finished session. | That the window is right and your own trades did not shift it. |
| VWAP as a schedule | Release quantity in proportion to the volume forecast for each interval. | Tracking error against that benchmark, at a constant participation rate. | That today's volume shape resembles the forecast shape. |
| TWAP as a benchmark | Prices sampled at equal time intervals, ignoring how much traded at each. | Nothing. Also arithmetic on a finished session. | That time, not traded value, is the right weighting here. |
| TWAP as a schedule | Release equal quantity in every interval of equal length. | Predictability of your own flow, with no volume forecast in it. | That volume cannot be usefully forecast, so no forecast can be wrong. |
One holds the slice constant, the other holds the rate constant
The mechanical difference is one sentence and most pages never write it. A time proportional schedule holds the slice constant and lets the participation rate float. A volume proportional schedule holds the participation rate constant and lets the slice float. Everything else follows from that.
The participation rate is what the order book feels. A thousand share slice is invisible where sixty thousand trade and a shove where eight thousand do. A schedule that fixes the slice has handed control of its own footprint to the volume pattern, the one thing it declined to forecast. A schedule that fixes the rate keeps its footprint steady and has handed control of its completion path to a forecast that may be wrong.
Stated as bets, the two are opposites. A time schedule bets that intraday volume cannot be usefully predicted, so no forecast can be wrong. A volume schedule bets that today's shape will resemble the expected one. The first is a claim about the limits of knowledge, the second about the stability of a pattern, and they can both be wrong on the same day in opposite directions.
The two benchmarks are different prices, and the gap is measured
Before measuring anything, the instrument has to be proved. The security bhavcopy publishes an average price field for every security and session. It should equal turnover divided by traded quantity, which is the day's volume weighted average price. It does, but only above a turnover floor, because turnover is published rounded to two decimals of a lakh and that rounding swamps a thin security.
| Turnover band | Security sessions | Median deviation | 99th percentile |
|---|---|---|---|
| under 1 lakh | 6,188 | 55.23 | 2213.0 |
| 1 lakh to 1 crore | 48,269 | 1.71 | 38.9 |
| 1 crore to 10 crore | 41,931 | 0.12 | 3.9 |
| above 10 crore | 52,957 | 0.04 | 1.7 |
Above ten crore rupees of turnover the two agree to 0.04 basis points at the median. Below one lakh they disagree by 55 basis points, which is the rounding and not a market fact. Everything below uses the top 200 securities by turnover in each session, 243,400 security sessions across 1,217 sessions from 2022-01-03 to 2026-09-18.
On that universe the day's volume weighted average price sat a median 49 basis points away from the day's close, 97 at the seventy fifth percentile and 168 at the ninetieth. Two participants in the same security on the same day, one scored against the close and one scored against the volume weighted average, are being scored against numbers that differ by that much. The gap does not shrink in the most liquid names, which is the first result that surprises people.
| Turnover band | Security sessions | Median gap to close, basis points | 90th percentile gap | Range position, 10th | Median | 90th |
|---|---|---|---|---|---|---|
| top 50 by turnover | 60,850 | 52 | 191 | 0.34 | 0.53 | 0.69 |
| ranks 51 to 200 | 182,550 | 48 | 161 | 0.34 | 0.51 | 0.68 |
| all 200 | 243,400 | 49 | 168 | 0.34 | 0.52 | 0.68 |
The right hand panel is the finding that bears directly on a schedule. Take the day's journey from open to close and ask where along it the volume weighted average landed. Halfway would be 0.50. On the 210,122 security sessions that moved more than 0.3 per cent open to close, the median was 0.74, and 77 per cent of them sat past the halfway mark. The market's own volume weighted average price is not the midpoint of the day's move. It leans toward the close end.
State the limit of that measurement plainly, because it is why the rest of this page is a simulation. A daily file cannot separate the volume profile from the price path: an average leaning toward the close is equally consistent with volume arriving late and with the price making most of its journey early and then resting. The daily record settles the benchmark question and cannot settle the schedule question.
The bet that today looks typical, priced against its own record
A volume proportional schedule needs a forecast of today's volume. The cheapest honest test of that forecast is to ask how close a security's volume on any given day sits to its own recent level. Take a fixed universe of 118 securities that were in the top 200 by turnover on at least sixty per cent of sessions and present on at least ninety five per cent, so the sample carries no selection toward busy days, and compare each day's volume with the median of that security's own previous twenty sessions.
| Percentile | Multiple of trailing median volume |
|---|---|
| 5th percentile | 0.47 |
| 10th percentile | 0.55 |
| 25th percentile | 0.73 |
| Median | 0.99 |
| 75th percentile | 1.40 |
| 90th percentile | 2.09 |
| 95th percentile | 2.84 |
The median is 0.99, which is the reassuring part and the only part most descriptions quote. The tails are the schedule's problem. 41 per cent of days landed outside a band of two thirds to one and a half times the trailing median, 11 per cent came in above twice it and 7 per cent below half. A schedule betting that today resembles the recent normal is wrong by a wide margin on roughly two days in five.
One thing in the same data is stable, and the contrast is the useful part. The weekly shape barely moves: across 1,217 sessions the top hundred securities took a median 63 per cent of all cash turnover, and weekday to weekday variation in aggregate turnover runs to a few per cent rather than to factors. That weekly shape is also partly rule rather than nature, because equity derivatives expiries moved to a fixed weekday per exchange from 1 September 2025.
| Weekday | Relative turnover before | Sessions | Relative turnover from | Sessions |
|---|---|---|---|---|
| Monday | 0.947 | 188 | 0.990 | 55 |
| Tuesday | 0.994 | 190 | 0.988 | 55 |
| Wednesday | 0.995 | 189 | 0.988 | 55 |
| Thursday | 1.024 | 189 | 0.993 | 53 |
| Friday | 1.040 | 188 | 1.041 | 55 |
Read that as a measured null as much as a finding. Thursday's excess fell from 1.024 to 0.993 once expiries left it, the direction the mechanism predicts, but no matching Tuesday excess appeared: 0.988 against 0.994 before. The effect did not simply move across the week, and 55 sessions is a short record.
A time schedule pushes hardest where the market is thinnest
No intraday file is available in this environment, so the profile is stated rather than measured, and the results are reported across three of them so nothing turns on the exact shape. Each is a weight per fifteen minute interval across the twenty five intervals of a 6 hour 15 minute session, heavy at the open, thinning through the middle, thickening into the close.
| Profile | First interval, per cent | First hour, per cent | Last interval, per cent | Thinnest interval, per cent | Peak participation, multiple | Peak rate at a 5 per cent order, per cent |
|---|---|---|---|---|---|---|
| Flat | 4.0 | 16.0 | 4.0 | 4.0 | 1.00 | 5.0 |
| Moderate U | 7.1 | 23.4 | 5.5 | 3.1 | 1.30 | 6.5 |
| Strong U | 9.2 | 27.7 | 7.1 | 2.4 | 1.65 | 8.2 |
That multiple is the whole of the time schedule's exposure and it is arithmetic, not a simulation result: a fixed slice divided by the thinnest interval's share, 1.30 times the average on the moderate profile and 1.65 times on the stronger one. It compounds with the day level dispersion measured above. An order sized at 5 per cent of typical volume, on a day arriving at the measured tenth percentile of 0.55 times typical, is already at 9.1 per cent of the realised day before the profile does anything.
A large order moves the average it is graded against
Here is the part generic pages omit, and it is the reason a benchmark score is not an execution result. The volume weighted benchmark is computed from the day's actual prints. A large order contributes prints of its own and displaces the prices everybody else trades at. So the number it is scored against contains its own footprint, and the bigger the order the more of the benchmark it wrote.
The simulation makes that measurable. A permanent footprint follows a square root law in cumulative quantity done, so the schedule changes when the displacement arrives rather than its total, and a temporary cost on the order's own fills is proportional to the participation rate in each interval. Both coefficients are one in units of the series' own volatility, and the day's volatility is set by bisection so the model's median high to low range equals the measured median of 303 basis points, giving 235. Two numbers are then reported: the cost against the price on screen at decision time, and the shortfall against the day's realised volume weighted average.
| Order size, per cent of the day's natural volume | Basis points against the arrival price | Basis points against the realised volume weighted average | Share of the cost the benchmark absorbed |
|---|---|---|---|
| 0.5 per cent | 11.9 | 0.31 | 97 per cent |
| 1.0 per cent | 16.8 | 0.61 | 96 per cent |
| 2.0 per cent | 23.9 | 1.23 | 95 per cent |
| 5.0 per cent | 38.6 | 3.01 | 92 per cent |
| 10.0 per cent | 56.2 | 5.78 | 90 per cent |
| 20.0 per cent | 83.0 | 10.64 | 87 per cent |
At 0.5 per cent of the day's volume the two measurements differ by a rounding error. At 20 per cent they differ by a factor of 8. Nothing dishonest has happened in between. The order pushed the price, the price it pushed went into the average, and the average then reported that the order had traded near the average. An execution desk showing a benchmark score of a few basis points on a very large order is describing a real arithmetic fact and is not describing what the position cost.
Two consequences follow. A benchmark computed from prints that include your own is not independent of you, so it cannot be an unbiased scorecard at size. And a participant paid to beat that benchmark has a mechanical interest in trading in a way that moves it, which is a different activity from trading in a way that minimises cost. The arrival price has no such property, which is why shortfall against the decision price is the harder and more honest measurement, and why choosing the right null comes before any comparison means anything.
Three sessions where each one is the wrong instrument
| Session | Time schedule, tracking | Volume schedule, tracking | Time schedule, peak rate | Volume schedule, peak rate |
|---|---|---|---|---|
| Ordinary session, volume forecast perfect | 10.75 | 2.23 | 6.5 | 5.0 |
| Ordinary session, measured volume dispersion | 16.5 | 12.5 | 29.9 | 26.4 |
| Thin session, whole day at 0.55 times typical volume | 16.9 | 12.9 | 54.4 | 48.0 |
| Atypical session, last two and a half hours at three times volume | 34.6 | 38.3 | 49.2 | 43.6 |
Row one is the definitional result. With the profile forecast exactly right, the volume proportional schedule's deviation from the benchmark is 2.23 basis points, all of it its own impact and none of it dispersion, while the time schedule sits at 10.75. That is the entire case for the volume schedule, and it holds only while the word forecast is doing no work.
Row three is the thin session. Tracking barely moves; the peak participation rate is what changes, the time schedule's ninetieth percentile going from 30 per cent to 54 per cent. A rate at that level is not participating in a book, it is the book, and the square root law stops describing what happens next. The case against a time schedule is a case about the rate, not about the benchmark.
Row four is the atypical session, and it reverses the ranking. Under a stated late session volume shock the volume proportional schedule deviated from the realised benchmark by 38.3 basis points and the time schedule by 34.6. The schedule designed to track the benchmark tracked it worse than the one that ignores it, because it had committed to a shape the session did not deliver while the indifferent schedule had committed to nothing. A forecast is an advantage only while it is right, and its failure is not symmetric with having made none.
The third case defeats both. Spreading an order across a session is only free if the price is going nowhere. Give the session a drift and the cost of every schedule rises in proportion to how late it trades, exactly and linearly, because the drift enters each fill through the time at which that fill happened.
| Drift across the session | Immediate | Front loaded | Volume proportional | Time proportional |
|---|---|---|---|---|
| 0 basis points | 72 | 43 | 38 | 38 |
| 75 basis points | 73 | 53 | 74 | 76 |
| 150 basis points | 75 | 64 | 109 | 113 |
| 300 basis points | 78 | 84 | 180 | 188 |
Because the relationship is linear, the crossing point is exact rather than searched for. Immediate execution overtakes a full day volume proportional schedule at a drift of 74 basis points across the session, 0.31 times the day's own volatility, and overtakes the time schedule sooner, at 69, because it trades later on average. The schedule competitive in both worlds is the front loaded one, and it is neither benchmark's schedule. A trader with genuine information has moved from how to spread to whether to spread at all.
The close a benchmark runs to is not the close it used to be
Any benchmark or schedule running into the close now has to say which close it means, and for the most liquid part of the market the answer changed recently enough that most live material is wrong. Taking the position from the guides already in this library rather than asserting it here: a closing auction session took effect on 3 August 2026 for cash securities that have derivative contracts available, following a market regulator circular of 16 January 2026. For those securities continuous trading ends at 3:15 pm, the auction runs to 3:35 pm, and the official close is the auction clearing price rather than a volume weighted average of the last thirty minutes. Securities without derivatives still close on the 3:00 pm to 3:30 pm average. The session map is in the trading hours guide, the clearing mechanics in the call auction guide, and the settlement consequences in the guide to pin risk at expiry.
Three things follow for execution. A volume weighted benchmark whose window is the last thirty minutes of continuous trading now ends, for derivative eligible securities, before the price published as the close is discovered. A schedule planning to finish into the close is now finishing into an auction, and an auction order is not a slice, so that is an order type decision rather than a slicing one. And on expiry day the chain runs further, because the derivatives settlement price is built on the cash close; the same guides record a consultation on expiry day settlement price methodology issued on 12 September 2026 with comments open to 3 October 2026. Any execution rule written against the old close should be re-read against the current one, and the current one confirmed with the exchange rather than with this page.
At retail size the schedule is not the decision
The honest version, which is the version most pages on this topic avoid. Take the median daily turnover of the fixed liquid universe measured above, about ₹ 205 crore, and express a few order sizes as a share of it, then apply the same square root footprint the simulation uses.
| Order size | Share of the day's traded value | Modelled permanent footprint, basis points |
|---|---|---|
| ₹ 50,000 | 0.0024 per cent | 0.77 |
| ₹ 5 lakh | 0.0244 per cent | 2.44 |
| ₹ 25 lakh | 0.1221 per cent | 5.47 |
| ₹ 1 crore | 0.4885 per cent | 10.93 |
At these sizes the footprint is a fraction of a basis point and the schedule is not the binding constraint. The explicit cost stack and the spread crossed on entry are both larger, and both are covered in the full cost breakdown and the guide to modelling costs in a backtest. Whether an order rests or takes, and where it sits in the queue when it rests, matters more at retail size than any slicing rule, and that is a separate mechanism.
The value of understanding this at retail size is not that you will run a schedule. It is that you can read one. When a security's volume bulges at an odd hour or its price sits pinned to a level for an afternoon, somebody's schedule is running, and knowing which kind tells you roughly what happens when it finishes. The second use is reading an execution report.
What to ask of an execution report
Many Indian brokers now publish some execution quality statistic, and a benchmark number in isolation is close to uninformative. Four questions make it informative, and each one comes from a mechanism above.
Against which benchmark, over which window. A volume weighted average of what period, or the close, or the price at the moment the order was received. The measured gap between the day's volume weighted average and the day's close was a median 49 basis points, so the answer changes the number materially before anything else is discussed.
Does the benchmark include my own trades. If the quantity is large relative to the day, the answer is yes and the score is partly self referential, by up to the 87 per cent absorption measured above. This is the question that separates a scorecard from a measurement.
What was the participation rate, not the slice. The rate is what the book felt and what the impact model responds to. A report quoting slice sizes has quoted the input and withheld the variable.
What was the shortfall against the decision price. This is the number that includes the cost of waiting and the cost of the footprint, and it is the only one of the four that cannot be improved by moving the market. It is also the one least often shown.
The habit underneath all four is knowing what a number was computed from before deciding what it proves. A figure that can be improved by influencing its own inputs deserves harder questions, whether it appears in an execution report or in a published performance claim.
Frequently asked questions
Is VWAP a benchmark or an execution algorithm?
Both, and they are separate objects sharing a name. The benchmark is market traded value divided by market traded quantity over a stated window, computed afterwards from everybody's trades including yours. The schedule is an instruction issued beforehand telling your own order how much to release in each interval. You can run a time proportional schedule and be scored on the volume weighted benchmark, or the reverse.
What does a TWAP schedule actually optimise?
It holds the slice constant and lets the participation rate float, which is a deliberate refusal to forecast: a schedule with no volume forecast in it cannot have a wrong one. The cost is that the rate then rises wherever the market thins. On the stated moderate profile the peak rate is 1.30 times the schedule's own average and on the stronger profile 1.65 times.
What does a volume proportional schedule optimise?
Tracking error against the volume weighted benchmark, and nothing else. With the profile forecast exactly right that tracking error is zero by construction, which the simulation reproduces: dispersion around the benchmark falls to zero and only the order's own impact remains. Everything it gives up is hidden in the word forecast.
Can a trader beat the VWAP benchmark by moving it?
Yes, and the effect is large. The benchmark is computed from prints the order produced and prices it displaced, so a large order partly scores its own paper. In this simulation an order at 20 per cent of the day's natural volume paid 83 basis points against the price on screen at decision time and measured 10.6 behind the day's volume weighted average, so about 87 per cent of the footprint was absorbed by the benchmark.
When is a time schedule the wrong choice?
In a thin or news driven session, where the participation rate matters more than the slice size. Holding the slice fixed while the day's volume arrives at the measured tenth percentile of a security's own recent level, 0.55 times typical, pushed the ninetieth percentile of peak participation from 30 per cent to 54 per cent. The schedule did not change. The market did.
When is a volume proportional schedule the wrong choice?
On a day whose volume shape does not resemble the forecast, which is commoner than the word atypical suggests. Under a stated late session volume shock its root mean square deviation from the realised benchmark was 38.3 basis points against the time schedule's 34.6. The schedule built to track the benchmark tracked it worse than the one that ignored it, because it had committed to a shape the day did not deliver.
How atypical is an atypical day in Indian equities?
Measured on a fixed universe of 118 consistently liquid securities across 1,217 sessions, a security's daily volume sat outside a band of two thirds to one and a half times its own trailing twenty session median on 41 per cent of days, with a tenth percentile of 0.55 and a ninetieth of 2.09. A schedule assuming today resembles the recent normal is betting on something that fails on roughly two days in five.
Does any of this change if the trader has real information?
It changes the question. Spreading an order is only free if the price is going nowhere. With the costs in this simulation, an order at 5 per cent of the day's volume executed immediately beats a full day volume proportional schedule once the expected drift across the session exceeds about 74 basis points, or 0.31 times the day's own volatility. Above that the timing question has replaced the benchmark question.
Does any of this matter at retail size?
Not as a schedule decision. A five lakh rupee order in a security with the median daily turnover measured here is about 0.0244 per cent of that day's traded value, and the modelled permanent footprint is a fraction of a basis point. It matters as a reading skill: what a large participant is doing to the tape you are watching, and what an execution report is claiming.
Has anything changed recently that dates older material on this topic?
Yes. A closing auction session took effect on 3 August 2026 for cash securities with derivative contracts available, so for those securities the official close is an auction clearing price rather than a volume weighted average of the last thirty minutes of continuous trading. Any benchmark running to the close, and any schedule finishing into it, now aims at a different construct. This page takes that point from the existing guides in this library.
How the measured figures were produced. The published average price field was first checked against turnover divided by traded quantity across the most recent 60 sessions, band by band, because turnover is published rounded to two decimals of a lakh and that rounding exceeds the quantity being measured in a thin security. The build refuses to write unless the field reconciles above ten crore rupees of turnover and fails to reconcile below one lakh, so the instrument is proved in both directions first. Benchmark statistics use the top 200 securities by turnover in each session, 243,400 security sessions. Volume stability uses a fixed universe of 118 securities present in at least ninety five per cent of sessions and in the top 200 on at least sixty per cent of them, with no filter on the current day, so nothing selects toward busy days. Every figure is a percentile of a measured distribution or a count.
How the simulated figures were produced. Twenty five fifteen minute intervals. The price path is a random walk whose volatility was set by bisection so the simulated median high to low range equals the measured median of 303 basis points, giving 235 basis points a session; a twenty five point walk understates a continuous extreme, so that figure is if anything slightly high and the impact figures scaled by it slightly large. Each interval's natural volume is the stated profile weight times a lognormal draw of log standard deviation 0.576, the measured log dispersion of daily volume against its own trailing twenty session median. Permanent impact follows a square root law in cumulative quantity executed, coefficient one in units of the day's volatility, so the total depends on order size alone and the schedule governs only its timing. Temporary impact applies to the order's own fills only, at coefficient one times interval volatility times the participation rate. Natural volume prints at the displaced mid without the temporary component, which understates the circularity rather than overstating it. 6,000 paths per configuration, seed 90129, common random numbers across schedules; the drift table uses 30,000 because immediate execution carries the reciprocal of a single volume draw and converges slowly. Results scale linearly in both coefficients, which are the parameters to vary first. This is a model, not a measurement, and not a forecast.
The position is stated as at 20 September 2026, on exchange data through 2026-09-18. The closing auction and expiry settlement facts were not independently re-verified from this environment and are carried from the library pages cited above; confirm the current session structure and closing price methodology with the exchange before acting on anything here, and take advice on your own circumstances.
Ready to go deeper than this article?
Bharath Shiksha is a 90-volume curriculum across 6 stages, from chart reading at ₹14,999 through capital raising, or the full bundle at ₹1,49,999. Reading an execution number by asking what it was computed from, and whether your own trades are inside it, is method rather than a setting to copy, and it is taught that way here.
Take the free diagnostic →