Volume profile and TPO: audit how profiles are built
Reconstruct POC ties, value-area coverage, composite sessions, TPO counts and price-grid effects using original, checkable datasets.
What you will practise
Explain why a profile level changes by checking its population and calculation rules before assigning a trading narrative.
Before you start
- Identify a volume-profile maximum and calculate trade-level VWAP.
- Distinguish an observation window from a forecast or trading signal.
Course outline
- 1
Volume profile POC: resolve equal-volume price levels
Find every price row sharing the highest volume before a profile picks one POC. Test how a tie-breaking rule changes the displayed point of control.
7 minIn short: When several price rows share the highest volume, the data have no unique point of control; the displayed POC comes from a tie-breaking rule. In the example, 99 and 101 each hold 9 units: nearest-midpoint-then-lower picks 99, a highest-price rule picks 101.
- 2
Volume profile value area: calculate VAH, VAL and coverage
Build a volume profile value area row by row. A 70-unit target can stop at 60 or 82, so report the actual coverage next to VAH and VAL.
8 minIn short: The value area starts at the highest-volume row and adds the larger adjacent row until a stopping rule ends it; with whole price rows, actual coverage need not equal the target. A 70% target can stop at 60% (VAL 100, VAH 101) or 82% (VAL 99, VAH 101).
- 3
Composite volume profile: merge sessions without duplicates
Build a composite volume profile from aligned session rows. Check boundary trades and see why averaging session POCs gives the wrong answer.
8 minIn short: Build a composite volume profile by aligning session price rows and adding their volumes, then find the POC; averaging session POCs, even volume-weighted, generally misses it. Composite VWAP adds each session's price-times-quantity sum and total quantity before dividing.
- 4
TPO vs volume profile: compare time counts and traded size
Build TPO and volume profiles from one ledger: most time blocks at 99, most volume at 101. Neither point of control is wrong; they measure different things.
7 minIn short: A TPO profile counts the time blocks in which each price traded; a volume profile adds the quantity traded there. From one ledger, 99 can have the most TPOs (3) while 101 has the most volume (12 units), without either profile being wrong.
- 5
Volume profile row size: test how price bins change the chart
Rebuild one trade ledger with different bin widths and origins. Compare bucket-midpoint VWAP estimates with the exact trade-level calculation.
8 minIn short: Volume profile row size (bin width) and grid origin can move the largest bucket while total volume stays the same. In the example, 21 unchanged units put the maximum at [102,103), [100,102) or [101,103), while trade-level VWAP stays 2,129 ÷ 21 ≈ 101.380952.
Related courses
- Range trading: breakout acceptance, volume profile and VWAPDefine a range before the breakout, map uncertain cost zones and combine price acceptance with profiles, VWAP and session context.
- Order flow and CVD: absorption, footprints and data qualityCalculate delta from trades, compare spot and perpetual activity and distinguish a useful observation from a feed or classification artefact.
- Order flow measurement: CVD resets, units and timingReconcile CVD resets, estimated delta, base and quote units, delayed trades and unknown classifications using original tapes and timelines.
Open full-size diagram- Volume profile POC: resolve equal-volume price levels
- Volume profile value area: calculate VAH, VAL and coverage
- Composite volume profile: merge sessions without duplicates
- TPO vs volume profile: compare time counts and traded size
- Volume profile row size: test how price bins change the chart
Educational material. Examples do not establish a profitable strategy. Trading costs, gaps and liquidation can produce losses beyond a planned stop.