· VOLUME PROFILES
What a volume profile measures
A volume profile counts how many contracts traded at each price. A worked ES session shows what the bars measure and the four things they leave out.
SHORT ANSWER
A volume profile measures the number of contracts or shares that traded at each price over a chosen period, drawn as horizontal bars. It shows where volume built up. It does not show when the trades happened, which side started them, how long price stayed there or how much size was resting in the book.
A volume profile measures how many contracts traded at each price during a chosen period. It draws the result as horizontal bars beside the price axis, one bar per price row. Volume at price is the plain name for the same thing. The count is simple. The mistakes come from reading time, side, sequence or resting size into bars that record none of them.
How the count works
Every trade has a price and a size. The profile takes each trade and adds its size to the bar at that price. A trade of 12 contracts at 5,011.25 adds 12 to the 5,011.25 bar. The profile ignores the time of the trade and which side started it.
Each contract counts once. A 12-lot trade has a buyer of 12 and a seller of 12, and the profile adds 12, not 24. This matches how exchanges report volume.
A worked session
Here is an invented profile for one morning in the E-mini S&P 500 future, ES, with one row per 0.25 tick.
| Price | Contracts traded | Share of session |
|---|---|---|
| 5,012.00 | 1,200 | 5.1% |
| 5,011.75 | 2,400 | 10.2% |
| 5,011.50 | 3,900 | 16.5% |
| 5,011.25 | 5,600 | 23.7% |
| 5,011.00 | 4,800 | 20.3% |
| 5,010.75 | 3,100 | 13.1% |
| 5,010.50 | 1,700 | 7.2% |
| 5,010.25 | 900 | 3.8% |
The session traded 23,600 contracts across eight prices. The longest bar is 5,011.25 with 5,600 contracts. That price is the point of control, or POC, which means the price with the most traded volume. The three rows from 5,011.50 down to 5,011.00 hold 14,300 contracts, which is 60.6% of the session.
The profile stores these eight totals and nothing else.
What the bars leave out
When the volume traded
The 5,600 contracts at 5,011.25 could have traded across two slow hours. They could also have traded in one four-minute burst after a data release. The profile draws the same bar in both cases. A TPO profile counts time at each price instead of volume, so it can separate those two mornings. A later note compares the two methods.
Which side started the trades
A bar of 5,600 contracts says nothing about whether buyers lifted offers or sellers hit bids. Suppose 3,500 of those contracts were aggressive sells and 2,100 were aggressive buys. The volume profile still shows 5,600. A delta profile splits each bar by aggressor side and would show 2,100 against 3,500. The note on what a delta number counts explains how a platform decides which side a trade belongs to.
How price moved through the levels
Two sessions can end with identical profiles and different paths. In one, price opened at 5,010.25 and rose. In the other, price opened at 5,012.00 and fell. Both could leave the eight bars above. The profile drops the order of events, so read it next to a price chart.
What rested in the book
The profile counts only filled trades. Suppose a trader rested 800 contracts on the bid at 5,010.50 for an hour and cancelled them all. The 5,010.50 bar stays at 1,700, because none of the 800 traded. A liquidity heatmap records that resting size. The note on how to read a liquidity heatmap covers that view.
Settings that change the shape
The same trades can produce different profiles. Three settings matter.
- The period. A profile of the morning, the full day session or a whole week covers different trades and gives a different POC.
- The row size. With two ticks per row, one row would hold 5,011.25 and 5,011.50 together. That row would hold 9,500 contracts and become the longest bar.
- The session definition. A profile that includes the overnight session counts trades that a regular hours profile leaves out.
Note the settings next to any profile you save. Without them, two screenshots of the same day may not match.
Where to find a volume profile
Every platform listed on this site includes volume profiles, among them ATAS, Sierra Chart and NinjaTrader. Liquivue draws volume and delta profiles next to its futures heatmap. The rankings page sets the platforms side by side with their sources.
A check you can run
Pick one quiet ten-minute period on any chart. Copy its time and sales, sum the contracts at each price by hand, and compare your totals with the profile your platform draws for the same ten minutes. If a row differs, check the row size and the session start first, because those two settings explain most mismatches.
Questions
What does a volume profile show?
It shows the total number of contracts that traded at each price during the period you choose. The longest bar marks the price with the most volume, called the point of control.
How is a volume profile different from a volume histogram under the chart?
The histogram under a chart adds up volume per time bar. A volume profile adds up volume per price, so it ignores time and stacks every trade at the price where it printed.
Does a volume profile show buying or selling?
No. Every trade has a buyer and a seller, and the profile counts each contract once. A delta profile splits the volume at each price by aggressor side.
Does a volume profile show resting orders?
No. It counts only trades that happened. Limit orders that rested in the book and never filled add nothing to it.
Educational content about market data and charting software. It is not trading or investment advice. Trading involves risk.