Volume profile: the complete guide
A price chart organises the market by time. A volume profile turns that axis ninety degrees and organises it by price: how many contracts changed hands at each level, regardless of when. This guide builds one from scratch, names the four things it shows, and spends most of its length on the setting that quietly decides what you see.
A volume profile is a histogram of contracts traded at each price over a chosen window. Its point of control is the busiest price, its value area the band holding roughly 70% of the volume. It records where business was done. It says nothing about where price goes next.
Rotating the axis
Every chart you have looked at organises volume by time. The bars along the bottom answer one question: how much traded in this minute, this hour, this day. It is a useful question, and not the only one. A volume profile rotates it ninety degrees and asks how much traded at this price, regardless of when.
The construction is arithmetic, not interpretation. Choose a window — a session, a week, the life of a range. Divide the price axis into rows. Add up every contract that traded inside each row. Draw the totals as horizontal bars. That is the entire algorithm, which is why two people with the same data and the same settings are obliged to produce the same profile. Very little in this field has that property.
What comes out is a silhouette of the window's business. Long bars are prices the market kept coming back to; short bars are prices it crossed on the way somewhere else. That is a description of what happened — and the gap between description and prediction is what this page keeps coming back to.
The four objects on every profile
Everything a volume profile offers reduces to four features of that silhouette. Learn them in this order, because each one is defined in terms of the one before it.
- Point of control. The single row carrying the most volume — the price at which the largest quantity changed hands. It is a mode, not an average, which is what separates it from VWAP: a volume-weighted average can land on a price where almost nothing traded, pulled there by activity above and below it.
- Value area. The contiguous band around the point of control holding roughly 70% of the window's volume, bounded by the value area high and low. It is grown outward one row at a time, taking the larger neighbour at each step and stopping before the target is exceeded — so it holds at most the target, and normally a little less.
- High volume nodes. Bulges: prices where a lot traded relative to their neighbours. Both sides were willing to transact there in size, so the auction at that price finished its work rather than being cut short. Price slows inside them and tends to come back.
- Low volume nodes. Pinches: prices where almost nothing traded. The auction there was interrupted — the market either rejected the price or transited it in a hurry. Two opposite behaviours follow from one structure, and which applies is settled at contact, not in advance.
The row-size problem
Here is the part most introductions skip. A profile has no natural resolution: you choose one by setting how many ticks of price go into each row, and that choice manufactures or destroys the very features you were about to trade.
Take twelve consecutive price rows from a synthetic session, one tick each, carrying these volumes: 700, 1 600, 240, 1 500, 1 400, 200, 1 350, 1 450, 300, 1 250, 1 100 and 900 contracts. At one tick per row the profile is unambiguous. The busiest price is the second row with 1 600 contracts, and three pinches stand out — rows three, six and nine, each smaller than both its neighbours.
Now double the row size, which merges the rows in pairs. Rows one and two become 2 300, rows three and four become 1 740, rows five and six become 1 600. The pinch at row three has been buried: 240 merged with 1 500 is 1 740, larger than the 1 600 sitting next to it, so it is no longer a low point. Two pinches survive. One never existed as anything but a consequence of the setting.
The point of control moves as well, and further than you would guess. At one tick it sits on row two. At two ticks the busiest bucket is rows seven and eight combined at 2 800 contracts — five rows from the answer of a moment earlier. Shift the bucket boundary by a single tick without changing the row size at all, and it moves a third time, to rows four and five at 2 900.
None of the three readings is an error. They are three honest summaries of one dataset at three resolutions, and the market has no opinion about which you picked. The rule follows: before you trade a node, widen the rows one step and look again. A feature that survives is a property of the data. A feature that vanishes was a property of your settings.
A workable starting point is 30 to 60 rows across a session profile — for most instruments, the day's range divided by roughly forty. The number matters far less than writing it down and keeping it. Two profiles built at different row sizes are not comparable, and comparing them anyway is how a trader concludes a level moved when only the setting did.
| Setting | Point of control lands on | Low volume nodes visible |
|---|---|---|
| One tick per row | Row 2, at 1 600 contracts | Three, at rows 3, 6 and 9 |
| Two ticks per row, boundary on row 1 | Rows 7 and 8 merged, at 2 800 | Two: the pinch at row 3 is absorbed |
| Two ticks per row, boundary shifted one tick | Rows 4 and 5 merged, at 2 900 | One: only the rows 6 and 7 pinch survives |
Volume profile is not market profile
The two are drawn the same way and count different things, and the confusion is old enough now to be inherited rather than reasoned. A market profile splits the session into half-hour brackets and marks every price that traded during each one — a single mark, one TPO, whether one contract or ten thousand went through. A volume profile counts the contracts and ignores the clock entirely.
So the volume profile measures participation and the market profile measures duration. They broadly agree on quiet sessions, because when nothing much happens time and volume accumulate together. They part company at the extremes: a release trades enormous size in ninety seconds and barely registers as time, while an overnight drift stacks marks at prices where almost nothing changed hands.
When the two points of control land far apart, that gap is the reading rather than a malfunction. The price where the market lingered and the price where it transacted are not the same price — worth knowing before you decide which of them to defend.
| Criterion | Volume profile | Market profile |
|---|---|---|
| Unit counted | Contracts traded at a price | Brackets in which a price traded |
| What a long row means | A lot changed hands there | The price stayed in play a long time |
| Weight of one large trade | Its full size, on one row | One mark, same as a single contract |
| Needs a volume feed | Yes | No — price and time are enough |
| Value area target | Around 70% of contracts | Around 70% of the marks |
| Where they disagree loudest | A release: huge volume, almost no time | A quiet drift: many marks, almost no volume |
Levels that outlive the session
A profile built for one session dies with it, but three of the things it produced can be carried forward onto tomorrow's chart.
- Naked points of control. A past session's point of control that price has never returned to test. Inventory was built there, then the market left without giving those participants another chance to transact. What remains is unresolved interest — the mechanical basis for treating the level as a probable target. A target, not a support level, and it stops being naked the moment it is touched.
- Composite nodes. A profile built across many sessions rather than one. Its nodes are considerably more durable than intraday ones, because they record agreement reached repeatedly rather than once.
- Prior value area edges. Yesterday's value area high and low bound what the market accepted yesterday, which makes them a reference for judging whether today's move out of that band is being accepted or rejected.
How old levels stop meaning anything
A caution applies to all three: a carried level is only as relevant as the price regime that produced it. After a catalyst that redefines value — a policy decision, an inflation print, an earnings release — a level from before it can sit untested for a long time and quietly stop describing anything. Age is not the criterion. Whether the conditions that built the level still hold is.
A cluster also beats a single line, for a structural reason rather than a statistical one. Three past points of control within a few ticks of each other describe a band the market has independently agreed on three times. One on its own describes one session, and that session may have been strange. The corollary is a habit worth breaking: a chart carrying thirty lines has no levels on it, because nothing on it is distinguishable.
What a volume profile cannot do
This is not a disclaimer bolted on at the end for form. A volume profile is a good measurement with narrow reach, and the reach is narrow for structural reasons no better tool and no amount of practice will widen.
Say it plainly: a profile is a record of the past drawn on the price axis. Everything it appears to say about the future is supplied by the reader. The five limits below are permanent.
- There is no direction in it. The histogram is symmetric with respect to what comes next: the same shape precedes a continuation and a reversal. Any directional claim attached to a profile came from somewhere else, and it is worth being honest about where.
- It does not say which side was aggressive. A profile sums total volume at a price, and every contract had a buyer and a seller. A long row tells you a great deal changed hands, never who was pushing. That question belongs to a footprint chart, which splits the same volume by which side crossed the spread.
- It has no clock inside it. A node built over six hours and one built in ninety seconds are indistinguishable once the window closes. The profile discards the order in which its volume arrived — precisely what you want when deciding whether a level is being defended right now.
- Its resolution is your choice. The nodes are partly an artefact of the row size, as above. This limit is unusual in that you control it, which makes forgetting it the least forgivable of the five.
- It cannot see what never traded. Resting size pulled before it filled, stop orders never triggered, iceberg quantity the market never reached — none of it appears. A profile records executions, so it is silent about every intention that shaped the session without printing.
How to read one without fooling yourself
Fix the construction before the session and do not touch it during: the window, the row size, the value area target, the session definition. Each of those moves your levels. Changing one after you have marked a chart means comparing two different maps and calling the difference a signal.
Use the profile to choose locations, and something else to decide what happens at them. It answers where would this matter very well — the value area edges, the pinch between two nodes, an untested point of control from three sessions ago. It is silent on whether the level is holding when you arrive. That question belongs to the flow: what is being absorbed, what is trading through, whether aggression continues past the level or dries up on contact.
Target node to node, and never into a pinch. A take-profit in the middle of a low volume node is an instruction to exit at the one price the market has shown it wants to cross quickly. Aim at the shelf on the far side of the gap rather than at the gap.
Then treat every level you mark as a question, not an answer. The profile has told you where the market did its business. Whether it defends that price today is decided by participants who have not arrived yet and who owe your chart nothing.
In short
- A volume profile answers where business was done, on the price axis. It carries no statement about direction or timing.
- Point of control, value area, high volume node and low volume node are the four objects, each defined in terms of the one before it.
- The row size is not cosmetic. The same session read at two settings gives different nodes and a different point of control — so widen the rows one step before trading a node.
- A volume profile counts contracts, a market profile counts half-hours. When their points of control disagree, the disagreement is the reading.
- Carried levels — untested points of control, composite nodes, prior value area edges — are targets and references, not support and resistance.
Frequently asked
- What is the difference between a volume profile and a market profile?
- The unit they count. A volume profile counts contracts traded at each price; a market profile counts the half-hour brackets in which a price traded, one mark per bracket whatever the size. Contracts versus half-hours: participation versus duration. They agree on slow sessions and separate around anything fast.
- What row size should I use for a volume profile?
- A workable starting point is 30 to 60 rows across a session profile — for most instruments, the day's range divided by roughly forty. The number matters less than fixing it, recording it, and never comparing profiles built at two settings. The test that protects you is different anyway: widen the rows one step and check whether the node you were about to trade is still there.
- Is the point of control support or resistance?
- Neither: it has no fixed polarity. Approached from below it behaves like resistance, from above like support, so the label is decided by the direction of arrival rather than by the level. Read it as a magnet rather than a wall — it marks where the largest inventory was built, which is why price tends to return, and says nothing about what happens on the return.
- Does the value area really contain 70% of the volume?
- No, and it never does. The band grows outward from the point of control and stops before the target would be exceeded, so it holds at most the target and usually a little less. Anything reporting exactly 70.0% did not build the band that way. The 70 itself is a convention rounded from one standard deviation of a normal distribution, which covers 68.27% — a borrowed analogy, not a measurement of the market.
- Does a volume profile work on a 24-hour market?
- The construction works anywhere a traded volume series exists, including instruments that never close. The complication is that there is no natural session boundary, so you invent one — and where you put it changes the point of control, the value area and every node between. Pick one convention and never mix it with another.