Volume Profile and Market Profile
Volume Profile is the closest thing technical analysis has to a primary source. It is not a transformation of price; it is a record of where price actually transacted.
9.0Why this chapter exists
Most indicators in this book are derivatives of price. Volume Profile is not.
It is a direct record of where business got done: at every price level the market visited during a session, how much volume actually transacted there. The resulting horizontal histogram is the cleanest visual answer technical analysis offers to the question every working desk asks first thing in the morning, "where did yesterday's institutional flow agree the market belonged?"
Volume Profile and its time-based cousin Market Profile (Pete Steidlmayer's original construction at the Chicago Board of Trade in the 1980s, popularised for screen traders by Jim Dalton) are the institutional standard for reading auction-market structure. The vocabulary, value area, point of control, naked POC, day type, initial balance, is what desks speak. A trader who skips this chapter will be unable to follow conversations about market structure that take ten seconds elsewhere.
This is one of the longer chapters because the framework is rich and the depth is justified. The construction comes first, then the landmarks (POC, VAH, VAL, single prints, naked POCs), then Dalton's day-type taxonomy, then the composite multi-day profile, and finally the naked POC retest framework, which is one of the highest-quality standalone trades anywhere in the book. The failure-mode section closes things out with the conditions under which profile-based reading breaks down.
If you already know enough TA to skim most of Parts I and II, do not skim this. It is the chapter most worth reading twice.
9.1Volume Profile vs Market Profile (TPO)
Volume Profile
A volume profile is a horizontal histogram of volume transacted at each price level over a defined window. The window can be a single session, multiple sessions, weeks, months, or arbitrary date ranges.
For each price level p:
volume_at_p = sum of volume of all trades that occurred at price p
Plot the resulting distribution horizontally, with price on y-axis and volume on x-axis.
The result looks like a "mountain" shape with one or more peaks, with the bulk of the volume concentrated near the peaks and tails extending out to the session's high and low.
TPO (Time Price Opportunity), the original Market Profile
TPO predates Volume Profile and was Steidlmayer's original construction. Instead of measuring volume at each price, TPO measures time: how many half-hour periods (or similar time-bins) saw the price visit that level.
For each price level p:
tpo_at_p = number of time periods during which p was traded
TPO produces a similar-looking histogram (each time-bin marked with a letter, A through Z, stacked horizontally), but the dimension is time rather than volume. The labels carry information that volume profile loses: which times of day touched which levels.
Which to use
For most modern decisions, Volume Profile is preferred because volume is more directly informative about institutional participation. Time visiting a level can occur with light volume; volume cannot.
However, TPO retains value for:
- Day-type classification, the original Dalton taxonomy is built on TPO and produces cleaner classifications than ad-hoc volume rules.
- Identifying "single prints" (a price level visited by exactly one time-bin), which marks rapid moves through a price; useful for finding gaps that may retest.
- Reading session evolution, the letter labels show the market's path through time, which volume profile flattens.
A trader who knows both can use whichever is more legible for the question at hand. For the rest of this chapter, we use "profile" generically and call out volume vs TPO where the distinction matters.
9.2The core landmarks
Every profile, regardless of construction, has the same handful of named features.
Point of Control (POC)
The price level with the most volume (or, for TPO, the most time) in the session. It is the visual peak of the profile distribution.
The POC is the institutional "where price got done" benchmark. It is the most-tracked horizontal level on any profile-aware desk's chart. POCs from the current session and from prior sessions are primary reference points.
Value Area High (VAH) and Value Area Low (VAL)
The bounds of the price range that contains 70% of the session's volume (or TPO count). The 70% comes from the convention that ~1 standard deviation of a normal distribution covers roughly 68%; rounded to 70%. Different practitioners use different exact percentages (some use 65%, some 70%); 70% is the most common.
Single prints (TPO concept)
A price level visited by exactly one time-bin. Single prints occur during fast directional moves where price travels through a range quickly. The single-print region is structurally similar to a fair-value gap (Chapter 3): a price band where insufficient transactional agreement was reached, suggesting a possible retest.
Naked POC
A POC from a prior session that has not been retested by subsequent price action. Naked POCs are durable magnets, with empirical retest rates around 75% within 30 sessions on liquid index futures (Dalton, Mind Over Markets; informally validated by the author on 2024-2025 ES data).
Single Distribution vs Double Distribution
A session's profile may have one peak (single distribution) or two distinct peaks separated by a low-volume "valley" (double distribution). The double distribution marks a session that found two distinct value areas, often because the session shifted regime mid-day (e.g., morning trend, afternoon balance at a different level).
9.3The Initial Balance and its role
The Initial Balance (IB) is the price range traced out by the first hour of RTH (09:30 to 10:30 ET on ES). The IB is structurally important because:
- It represents the opening auction's reaction to overnight conditioning, the first hour of decisive participation.
- It sets the day's scaffold: subsequent price action either extends through the IB (one-time-frame extension), oscillates around it, or retraces back into it.
- Its width is informative: a wide IB (relative to recent IB ATR) suggests an active session ahead; a narrow IB suggests a quiet session likely to remain in range.
IB extension probabilities (Dalton)
Empirically, on ES:
- No IB extension (price stays inside IB for the rest of the session): ~30% of sessions. Range Day or Non-Trend Day classifications.
- Single-side extension (price extends through one side of IB but not the other): ~50% of sessions. Normal or Normal Variation Day classifications.
- Double-side extension (price extends through both sides at different times): ~15% of sessions. Neutral Day classification.
- Strong directional extension (price extends through one side and never returns to IB): ~5% of sessions. Trend Day classification.
These percentages are practitioner consensus, validated informally on 2024-2025 ES data; treat as a working calibration rather than a precise estimate.
IB extension as a tradeable signal
When the IB has been formed (10:30 ET) and price approaches an IB extreme, the question is whether the extension will hold (continue beyond) or fail (reverse back into IB). The conditioning rules:
- Trend regime + IB extension breakout with order-flow confirmation = continuation high probability. Framework 2 (Trend Continuation).
- Range regime + IB extension breakout without order-flow confirmation = false breakout high probability. Framework 3 (Range Fade with Sweep) at the extension extreme.
The IB is one of the structural levels in Chapter 5's quality score. Its base weight is high during the session (typically 2.5 to 3.0) and decays after the session (it is not a persistent overnight level).
9.4Day type classification (Dalton, six types)
Dalton's day-type framework classifies each session by 11:00 to 12:00 ET into one of six types. The classification informs the rest of the day's playbook.
Trend Day
The cleanest of the six. Price extends through one side of the IB and never comes back. Opens near the low and closes near the high, or vice versa. The TPO profile elongates; the volume distribution skews hard. By 11:00 ET, the day's direction has been chosen and the only question is how far the trend goes. The continuation playbook (Framework 2) was built for this regime. Range fades against the trend lose money in distribution; do not take them.
Normal Day
What most days are. The IB forms within typical width, extends through one side, holds the extension for a while, and eventually returns into IB before the close. Distribution is symmetric or slightly skewed. The full tactical playbook is in play, with Trend and Range frameworks both viable depending on which intra-session structure dominates. The decision tree at 10:30 is more nuanced here than on a Trend Day, because the day's character has not yet committed.
Normal Variation Day
A wider Normal Day. Extends through one side, then later through the other, producing two regions of activity on the profile. Often the busiest tactical day of the week, with multiple high-quality setups available. The risk is over-trading, because the day produces more candidates than a disciplined trader takes.
Neutral Day
The bell curve of the day-type taxonomy. Both sides of IB tested early, then a long mid-session auction in the middle, settling near the IB midpoint. Range fades at the extremes dominate. Mid-session breakouts on a Neutral Day fail at high rate, because the institutional consensus is "this price is fair" and any push to the extremes runs out of conviction quickly.
Non-Trend Day
Compressed IB, no meaningful extension, volume below average. Often a holiday-week day, a Friday afternoon, or a session before tier-one news. The profile is narrow and tightly clustered. Most discretionary frameworks lose money on Non-Trend Days because their stops are wider than the realised range. The discipline is to recognise the day type by 11:00 and either trade IB-extreme fades with very tight stops or skip the session entirely.
Double Distribution Day
The structurally interesting one. Two distinct peaks separated by a low-volume valley, often the signature of a mid-session regime change: a morning trend that exhausted, followed by an afternoon balance at a different level, or vice versa. Two POCs, two value areas, two distinct stories. The transition between the distributions is itself a regime-shift signal that disciplined traders treat as the most important moment in the session. The second distribution becomes the operative profile for late-session tactical decisions.
Classification by 11:00 ET
The day-type classification is most reliable when made by 11:00 ET, after the IB has formed and the first IB extension (if any) has played out. Early classifications (before 10:30) are speculative; the IB is not yet locked in.
A trader who can classify the day type by 11:00 ET has a substantial edge over one who waits until end-of-day; the playbook is locked in for the next 4 to 5 hours of trading.
9.5The naked POC retest framework
The most actionable single trade in profile-based analysis.
Definition
A naked POC is a POC from a prior session that has not been retested. Untested means: no subsequent session's price action has touched the POC's price level.
Empirical reliability
Practitioner consensus and informal validation on liquid index futures (ES, NQ): naked POCs retest at high frequency, with approximately 75% retesting within 30 sessions. The exact rate depends on:
- Time since formation: older naked POCs are more likely to retest, not less, because price has had more sessions to swing past them.
- Distance from current price: naked POCs within 1× to 2× daily ATR retest at very high rates; those many ATRs away retest at lower rates within a fixed window.
- Market regime: in trending regimes, naked POCs in the direction of the trend retest; against-trend naked POCs may take much longer.
The trade structure
When price approaches a naked POC:
- Anticipation: the move toward the naked POC is itself an opportunity, depending on the entry. Approaching from above with the POC below is a downside target; approaching from below with the POC above is an upside target.
- At the POC: is the POC defended (price pauses, reverses) or absorbed (price punches through)? Order-flow confirmation distinguishes.
- After the touch: the naked POC becomes a "tested POC" and loses its naked status; its value as a magnet is consumed.
Sizing the trade
Naked POC retest trades are high-confidence setups. Risk per trade typically 1.0% (standard tier). Stop placement: behind the POC if approaching from one side, or at the structural high/low of the prior swing if entering on a fade at the POC. Targets: prior swing extremes, or the next significant level.
Failure modes
- Naked POC formed in a thin session. A POC from a low-volume session is less informative; the "where business got done" reading is weak when not much business got done.
- Naked POC inside the value area of a more recent session. The POC's nakedness is technical, but the value area of the more recent session has overwritten its institutional relevance.
- Naked POC in a regime that has shifted dramatically. A POC from a calm-volatility week is less reliable as a magnet during a crisis-volatility week.
9.6The composite (multi-day) profile
Profile analysis extends beyond single sessions. A composite profile aggregates volume across multiple sessions and reveals structures that single sessions cannot.
Construction
Sum the volume-at-price across N sessions (typical: 5, 20, or 60 sessions). The resulting profile shows the longer-horizon institutional value area.
Composite landmarks
- Composite POC: the price with the most aggregate volume over the N-session window. Often a more durable level than any individual session's POC.
- Composite Value Area: the 70% volume range over the window. Useful for identifying balance areas where institutional consensus has been established.
- Balance Areas: regions where the composite profile is concentrated and price has spent multiple sessions in agreement. Breakouts from balance areas have above-average follow-through.
Operational use
The composite profile is most useful for:
- Pre-session preparation: identifying long-horizon levels that will frame the session.
- Trend-day target setting: if today is a Trend Day, where does the trend likely extend to? The next composite-POC or VA edge is a candidate target.
- Range vs trend identification: if price is inside a long-running balance area, range fades dominate; if price is breaking out of one, trend continuation dominates.
Composite limitations
- Composite profiles can lag. A 60-session composite includes 60 sessions of structure, some of which may be obsolete after a regime shift.
- Window choice matters. 5-session composites are tactical; 60-session composites are structural. They tell different stories.
- Roll boundaries. A composite that crosses a contract roll requires careful handling; either compute on unadjusted contracts and translate, or accept the artifact and discount levels near the roll.
9.7The opening drive interaction with profile
The first hour of RTH (the IB) builds the day's profile in a sequence that is itself informative.
The opening auction's role
The cash open is the moment when the day's most concentrated price discovery happens. Volume in the first 5 to 15 minutes is typically 3 to 5× the next 15-minute window's average, reflecting the resolution of overnight conditioning into a daily bias.
Open-relative-to-prior-VA
Where the open prints relative to the prior session's value area is informative:
- Open inside prior VA: "in-balance" open. Suggests continuation of the prior session's structure; range setups are favored.
- Open above prior VAH: "out-of-balance up" open. The market is pricing higher than yesterday agreed. Likely to either accept (trend day continuation up) or reject (mean-reversion back into prior VA).
- Open below prior VAL: "out-of-balance down" open. Symmetric to the above.
Combined with Open Type (Chapter 13)
An out-of-balance up open with an Open Drive up classification is a high-conviction Trend Day setup. An out-of-balance up open with an Open Auction or Open Rejection-Reverse is a fade setup back into prior VA.
Profile context and open-type classification multiply in their information content.
9.8Operational tooling
To use Volume Profile institutionally, the platform must support:
- Session-aware profile construction. RTH-only profiles by default; ETH overlays optional.
- Naked POC tracking. Some platforms track this automatically; others require manual marking.
- Multi-session composite. Variable lookback window.
- Volume-vs-time toggle. Both Volume Profile and TPO/Market Profile views.
Sierra Chart, ATAS, and NinjaTrader all support this natively. TradingView's profile is acceptable but limited; the author's Trend & Levels indicator computes naked POCs internally because TradingView's built-in tools do not.
For systematic research, profile computation in Python is straightforward:
def volume_profile(bars, n_bins=60):
price_range = (bars['low'].min(), bars['high'].max())
bin_edges = np.linspace(price_range[0], price_range[1], n_bins + 1)
profile = np.zeros(n_bins)
for _, bar in bars.iterrows():
# distribute bar volume across the price levels it touched
bar_volume_per_bin = bar['volume'] / max(1, count_overlapping_bins(bar, bin_edges))
for i in range(n_bins):
if bar['low'] <= bin_edges[i+1] and bar['high'] >= bin_edges[i]:
profile[i] += bar_volume_per_bin
return profile, bin_edges
The bin distribution approach is approximate; for tick-precision profiles, true tick data is required.
9.9Failure modes
-
Including ETH in RTH profiles. Dilutes the institutional value area; produces noisy POCs at off-hours prices that no daytime trader defended.
-
Ignoring contract roll on composite profiles. Naked POCs computed across roll boundaries on a back-adjusted chart are referencing a price that the new contract never traded. Either re-compute on unadjusted, or skip composite levels near the most recent roll.
-
Single-session profile over-trust. A POC from a single low-volume session (holiday, half-day, Friday afternoon) is not the institutional consensus the framework assumes.
-
Treating all naked POCs equally. Naked POC empirical reliability varies with age, distance, and regime context. Apply the same conditioning logic as Chapter 5's level scoring.
-
Profile-only reading without regime context. A high-quality range fade at the prior session's VAH is not automatic in a Trend-Vol regime; the trend overwhelms profile structure.
-
Misreading the composite window. A 5-day composite tells a different story than a 60-day composite. Use the window appropriate to the decision; do not pick the window that produces the desired narrative.
9.10The integrated stack treatment
Volume Profile is Layer 2 of the institutional stack (§10 of the Research Summary), directly above session-aware reference levels. It is one of the most-used components of the working desk's chart.
The order of operations:
- Mark RTH-only profiles for the current and recent sessions.
- Identify naked POCs from the past 20 to 30 sessions.
- Mark composite VA boundaries (5-day and 20-day).
- Cross-reference with anchored VWAP family (Chapter 10) and structural levels (Chapter 5).
- Use the resulting clustered structure as the watch-level set for the day.
Without profile, the chart is missing its primary record of institutional agreement.
9.11Diagram concepts referenced in this chapter
- D9.1: Profile construction step-by-step. Five panels showing how a profile builds bar-by-bar over a single session, with the POC and VA edges emerging.
- D9.2: TPO vs Volume Profile comparison. Same session shown two ways. Reader sees that TPO carries time information that volume profile compresses.
- D9.3: Day type taxonomy gallery. Six small-multiples, one per Dalton day type, with the characteristic profile shape and distribution highlighted.
- D9.4: Naked POC retest histogram. Empirical distribution of time-to-retest for naked POCs on ES (or another contract) over a year of data; expected to peak in the 5-15 session range.
- D9.5: Composite profile across 20 sessions. Multi-session composite with composite POC, composite VA, and current price marked; balance areas highlighted.
- D9.6: IB-extension classification flowchart. A decision tree from "IB closes" through "extension or no extension" through "single side or both" to a day type label.
9.13Exercises
Exercise 9.1: Manual profile construction. Build a TPO profile by hand for one ES RTH session using 30-minute bins. Identify the POC, VAH, VAL. Compare to your platform's automated profile. Note any divergences and their cause.
Exercise 9.2: Day type tagging. For 20 recent ES sessions, classify each by Dalton's six day types. Tag the time of classification (when did you commit to the type?). Tabulate accuracy: how often was your classification at 11:00 ET correct vs revised by end of day?
Exercise 9.3: Naked POC tracking. Identify all naked POCs on ES from the trailing 30 sessions. For each, compute distance from current price and time since formation. Track over the next 30 sessions which retest. Compute the empirical retest rate and compare to the practitioner-quoted ~75%.
Exercise 9.4: Composite profile building. Construct a 20-session composite profile for NQ. Identify composite POC, composite VA, and balance areas. Compare to the most recent session's profile. Where do they agree, where do they differ? The differences are the structural shifts.
Exercise 9.5: IB extension probability calibration. Over 60 sessions of ES, tabulate IB extension outcomes (no extension / single-side / two-side / strong directional). Compare to the practitioner-quoted percentages. Calibrate to your contract and time period.
Next chapter: VWAP and Anchored VWAP, the institutional execution benchmark and one of the most reliably tradeable levels in the book.