Execution algorithms

VWAP, TWAP & POV

structural
Reviewed 4 June 2026. As of 2026: a permanent feature of the market, not an edge that decays.

The schedules a desk actually ships. TWAP spreads evenly over time; VWAP matches the volume curve; POV trades a fixed fraction of volume. Each is both a benchmark and an algorithm you’re measured against.

See it move

VWAP · TWAP · POV schedulesswitch the scheduleIX-VWAP
ScheduleVWAP
Benchmarkvolume-weighted
Slices26
grey = market volume curve · teal = your child orders

What to notice. TWAP ignores the volume curve and slices evenly. Simple, but it over-trades in quiet periods. VWAP shapes its children to the U-shaped volume curve so each slice is a small, similar fraction of what's trading. POV just tracks a fixed share of live volume.

What is TWAP?

TWAP (time-weighted average price) slices the parent into equal pieces spread evenly across the execution window, e.g. one-sixtieth every minute for an hour. Its benchmark is the simple time-average of the price over the window. It is the simplest schedule, predictable, and it ignores how volume actually distributes through the day.

Chop the parent of size QQ into NN equal children at equal time intervals; each child is the same size regardless of how busy the market is.
nk=QNfor every slice k=1,,Nn_k = \frac{Q}{N} \quad \text{for every slice } k = 1, \dots, N

Strength: dead simple, minimal assumptions, and good when you have no reliable volume forecast or volume is roughly flat, common in thin, 24/7 crypto books where there is no reliable intraday U-shape. Weakness: it over-trades the quiet middle of the day and under-trades the busy open and close, so it pushes the market more when liquidity is thin. And being perfectly even, it is the most predictable schedule, easy to detect and game (see schedule gaming).

What is VWAP?

VWAP (volume-weighted average price) shapes the schedule to the market's expected volume curve, trading more shares when the market historically trades more (the open and close) and fewer in the quiet midday. Its benchmark is the day's volume-weighted average price, and the goal is to track that benchmark by participating in proportion to volume.

Intuition: if you trade in the same proportion as the rest of the market throughout the day, your average price converges to the market's VWAP: you become an average-coloured drop in the flow, minimising both impact and detectability relative to TWAP.

The VWAP benchmark over a window is every trade's price weighted by its volume: the price at which the typical share traded that day, the standard benchmark institutions are graded against.
VWAP=ipiviivi\text{VWAP} = \frac{\sum_i p_i\,v_i}{\sum_i v_i}

The catch: VWAP needs a volume forecast. The classic approach uses a historical intraday profile (the U-shape) per name; the modern approach learns it. A bad forecast (or an unexpected volume surge) means your static schedule under- or over-participates. This forecast quality is where the 2026 edge actually lives, since the algorithm itself is commoditised.

What is POV (percentage of volume)?

POV (also "participation") trades a fixed percentage of whatever volume actually trades, in real time, e.g. always be 10% of the market. Unlike a static VWAP schedule fixed in advance, POV is a feedback rule: it speeds up when the market is active and slows when it is quiet, automatically adapting to volume surprises.

POV sets each interval's child to a fixed participation rate ρ\rho times the volume VkV_k that actually traded in that interval: no forecast, the market sets your pace.
nk=ρVk,ρ=0.10    Vk=100,000    nk=10,000n_k = \rho \, V_k, \qquad \rho = 0.10 \;\Rightarrow\; V_k = 100{,}000 \;\Rightarrow\; n_k = 10{,}000

Strength: robust to volume surprises a static VWAP cannot see, since a midday news spike pulls POV along with it. It also self-limits impact: you never become a large fraction of the flow. Weakness: your completion time is uncertain. If volume dries up, you may not finish by the deadline. And POV chases volume that may itself be your competitors' (or your own) activity, which can create feedback. A common compromise is a VWAP schedule with a POV cap.

What about implementation-shortfall (IS) algos?

An implementation-shortfall algorithm does not target VWAP; it targets the arrival price, the mid at the instant the trade decision was made (Perold 1988). It explicitly trades off market impact against timing risk, front-loading when urgency or volatility is high. It is the schedule that operationalises the Almgren–Chriss optimum.

The benchmark difference matters. VWAP grades you against the day's average; IS grades you against where the price was when you decided. Beating VWAP can still lose money versus arrival if the whole day drifted against you. IS measures the cost that actually hurts: decision price to realised price.

Implementation shortfall is the realised average fill price relative to the arrival (decision) mid: the cost that compounds with any adverse drift while you work.
IS=pˉfillparrivalparrival(for a buy)\text{IS} = \frac{\bar{p}_{\text{fill}} - p_{\text{arrival}}}{p_{\text{arrival}}} \quad (\text{for a buy})

IS is risk-aware where VWAP is not. A VWAP schedule is indifferent to volatility; an IS algorithm front-loads when the price is volatile (cut timing-risk exposure) and slows when it is calm (cut impact). That is exactly the impact-vs-timing-risk dilemma from why execution algorithms exist, parameterised by an urgency knob. Set the risk-aversion and the optimal Almgren–Chriss trajectory is your IS schedule; VWAP and TWAP are the risk-neutral, benchmark-tracking limits.

Which schedule, when?

Pick the schedule by the benchmark you are judged on and your urgency. Graded against the day's VWAP and not in a hurry: VWAP. No reliable volume forecast, or a flat / 24-7 market: TWAP. Want to cap your footprint and adapt to live volume: POV. Care about arrival price and willing to trade off risk: an IS / Almgren–Chriss schedule.

The four workhorses by benchmark, adaptivity and fit: TWAP tracks the time-average and ignores volume; VWAP tracks the volume-weighted average via a forecast; POV is a live feedback rule; IS targets the arrival price and is risk-aware.
TWAPpˉtime,VWAPpˉvol,POVρVk,ISparrival\text{TWAP} \to \bar{p}_{\text{time}}, \quad \text{VWAP} \to \bar{p}_{\text{vol}}, \quad \text{POV} \to \rho V_k, \quad \text{IS} \to p_{\text{arrival}}

In one line: TWAP for no-forecast or flat markets and simplicity; VWAP when graded against the day's average with a reliable profile and low urgency; POV for a capped footprint robust to volume surprises; IS when you care about decision-to-fill cost and have a risk-aversion. The schedule selector in the interactive above re-slices the child bars over the volume curve so you can see TWAP over-trade the quiet midday and VWAP fix it by design, and watch POV auto-adapt to a volume surprise that a static VWAP schedule misses entirely.

Worked example

Illustrative synthetic figures as of 2026 (not advice), the kind the simulator above lets you reproduce. Parent: buy 300,000 shares over a 6.5-hour US session; ADV 10,000,000; the historical intraday volume profile is the classic U-shape: about 12% of the day's volume in the first 30 minutes, about 14% in the last 30 minutes, and a flat ~1.3% per 30-minute bucket midday.

TWAP: about 23,000 shares every 30 minutes, flat. In the quiet 13:00 bucket the market trades, say, 130,000 shares, so your 23,000 is ~18% of volume, a heavy footprint and more impact. In the busy close it is only ~3%, under-trading the cheap liquidity.

VWAP: the same 300,000 reshaped to the U, about 36,000 in the first bucket, about 4,000 midday, about 42,000 at the close. In every bucket you are a steady ~3% of volume, so impact is even and minimised relative to TWAP, and you track the VWAP benchmark closely.

POV at 5%: you trade 5% of each bucket's realised volume. If a 14:00 news event triples that bucket's volume, POV trades triple too (pulled along), where a static VWAP schedule would have stuck to its forecast and under-participated. Risk: if the afternoon is quiet, you finish late or unfilled.

Benchmark slippage makes the benchmark choice tangible: the same fills beat VWAP by 1 bp yet cost 16 bps against the morning's arrival price, because the stock drifted up all day.
100.06100.05100.05+1bp (vs VWAP),100.0699.9099.90+16bps (vs arrival)\frac{100.06 - 100.05}{100.05} \approx +1\,\text{bp (vs VWAP)}, \qquad \frac{100.06 - 99.90}{99.90} \approx +16\,\text{bps (vs arrival)}

That gap is exactly why an urgent order should have used IS and front-loaded: a good VWAP result can still be an expensive implementation shortfall. Reverify intraday profiles per name; they shift with index events and expiries.

Where this fits

Common questions

What is VWAP and TWAP?
VWAP (volume-weighted average price) and TWAP (time-weighted average price) are execution schedules that slice a large order into pieces to reduce market impact. TWAP spreads child orders evenly over time; VWAP front- or back-loads them to match the day’s expected volume curve, aiming to fill at the session’s volume-weighted average. Both are benchmarks and algorithms; you are measured against the price they target.