What it measures
A plain average of the session’s prices treats a quiet bar and a crowded bar alike. VWAP does not: it asks at what price the session’s volume changed hands, on average. If most of the volume traded high in the range, VWAP is high in the range.
It began as a yardstick for dealing, not for charts. Someone who has to buy a large amount over a day can compare the average price they paid with the day’s VWAP: below it, they paid less than the volume-weighted average of everyone’s trades. Its use as a benchmark is usually traced to a 1988 paper by Berkowitz, Logue and Noser.
Because it is a running average from the session’s first bar, each new bar counts for less as the session goes on. Early in a session the line follows the price closely; late in it, the line hardly moves. Then the session ends, both sums are thrown away, and the next one starts from its own first bar.
A session is a day’s trading on an exchange, from the open to the close. The invented chart on this page has no clock and no days, so a session is defined plainly: a fixed number of bars, counted from the chart’s first bar. With a session of 20 bars, bars 1 to 20 are the first session, bars 21 to 40 the second, and so on. The length is the setting.
How it is calculated, step by step
- 01
Work out each bar’s typical price.
TP = (high + low + close) ÷ 3. It stands in for the prices traded inside the bar, which a chart of bars does not record.
- 02
Multiply it by the bar’s volume.
TP × volume. A bar with more volume contributes more.
- 03
Add those products up from the session’s first bar.
Running sum of TP × volume.
- 04
Add the volumes up from the same bar.
Running sum of volume.
- 05
Divide.
VWAP = sum of (TP × volume) ÷ sum of volume. At the session’s first bar it is simply that bar’s typical price.
- 06
At the next session’s first bar, start both sums again from zero.
This is the reset. The line jumps to the new bar’s typical price and the previous session plays no further part.
The exact figure uses every trade: each trade’s price times its size. From bars it is an approximation, closer the shorter the bars are. Some programs use the close in place of the typical price. An anchored VWAP is the same sum begun at a bar the reader chooses and never reset. If a stretch has no volume at all the formula divides by zero; this page shows the typical price for such a bar.
A worked example, by hand
Five bars, written high / low / close, each with its volume: 11 / 9 / 10 with 100, then 13 / 10 / 13 with 100, then 16 / 12 / 14 with 300; then 15 / 11 / 13 with 200, then 17 / 13 / 15 with 600. A session here is three bars, so bar 4 begins a new one.
- Typical prices: (11 + 9 + 10) ÷ 3 = 10; then 12, 14, 13 and 15
- Bar 1: 10 × 100 = 1,000. VWAP = 1,000 ÷ 100 = 10
- Bar 2: add 12 × 100 = 1,200. VWAP = 2,200 ÷ 200 = 11
- Bar 3: add 14 × 300 = 4,200. VWAP = 6,400 ÷ 500 = 12.8
- Bar 4, a new session: both sums start again. 13 × 200 = 2,600. VWAP = 2,600 ÷ 200 = 13
- Bar 5: add 15 × 600 = 9,000. VWAP = 11,600 ÷ 800 = 14.5
The plain average of the first three typical prices is 12. VWAP is 12.8, because the bar with the most volume was the highest. At bar 4 the line steps to 13 for no reason in the market: the first session has been forgotten.
The numbers in this example were chosen to be easy to add up. They are not prices of anything.
How people read it
- As a benchmark for a fill. A purchase below the session’s VWAP was made below the volume-weighted average price of the session so far; a sale above it, above. This is its original use.
- The price against the line. A price above VWAP is above the session’s volume-weighted average: on balance, those who bought during the session are showing a gain on paper. Below it, the reverse.
- The slope. A rising VWAP means recent volume has traded above the session’s average so far.
- As a reference within the day. Some readers watch for the price to return to VWAP after moving away from it. Sometimes it does, and sometimes the line moves to the price instead.
What it cannot tell you
- It cannot carry over. Each session’s line is built only from that session’s bars. Where one session’s VWAP ended and where the next begins are unrelated numbers.
- It cannot mean much early in a session. At the first bar it is that bar’s typical price, and for some bars after it is an average of very little.
- It cannot turn quickly late in a session. By then each new bar is a small fraction of the total, so the line is slow by construction.
- It cannot be the benchmark it is named after in spot forex. There is no central exchange and no record of the amounts traded, so platforms weight by tick volume: the number of price changes on one broker’s feed in each bar. The result is an average weighted by how often that feed’s price moved, not by how much was dealt. It differs from broker to broker, and it is not the figure a dealing desk means by VWAP.
- It cannot draw the price to it. The line is an average of where the price has been. The two meet often because one is made from the other.
Common mistakes
- Reading VWAP across a session boundary as one continuous line. The step at the reset is arithmetic, not a market event.
- Using it on a daily chart without saying where it starts. With one bar to a session, VWAP is each bar’s typical price.
- Treating a forex ‘VWAP’ as volume-weighted. It is weighted by a count of quote changes, and the session it resets on is the broker’s server day, which differs between brokers.
- Comparing the VWAP on two platforms that start the session at different times.
- Treating the line as a level the price must return to before the session ends.
Questions people ask
- How is VWAP calculated?
- For each bar, multiply the typical price, (high + low + close) ÷ 3, by the bar’s volume. Add those products up from the first bar of the session, add the volumes up from the same bar, and divide the first sum by the second. Both sums start again from zero at the first bar of the next session.
- Why does VWAP reset every day?
- Because it answers a question about one session: at what average price has this session’s volume traded? Yesterday’s trades are not part of that. Resetting also keeps the line responsive: a total that was never reset would grow so large that no new bar could move it.
- What is the difference between VWAP and a moving average?
- A moving average covers a fixed number of bars, moves its window forward each bar and gives each bar the same weight, or a weight set by its age. VWAP covers every bar since the session began, however many that is, and weights each by its volume. A moving average runs on across sessions; VWAP starts again.
- Is VWAP meaningful in forex?
- Less than the name suggests. Spot foreign exchange has no central exchange, so there is no figure for traded volume; charting platforms use tick volume, a count of price changes on the broker’s own feed. A forex VWAP is therefore a price average weighted by quote activity, different on each broker, with a session that starts whenever that broker’s server day does. Exchange-traded currency futures have reported volume and a defined session.
The words on this page
An indicator is arithmetic on prices that have already happened. It describes what a price did; it does not predict what a price will do. The chart on this page is invented: a seeded random walk, not a market. This page is an explanation for study. It is not advice, a recommendation or a forecast, and nothing an indicator shows says anything certain about what a price will do next.
