Market Profile / TPO Charts: The Time-Based Framework for Reading Futures Auctions
Reading futures auctions through the lens of time, not volume
Overview #
Two traders can stare at the same candlestick and see completely different things. A candle gives you open, high, low, close — nothing about where in that range the market spent its time. Market Profile fixes that. Each trading session gets divided into 30-minute blocks, each assigned a letter (A through the alphabet). Where price trades during that 30 minutes gets a letter. Stack all the letters and you have a frequency distribution — not of volume, but of time.
The distinction matters. Volume Profile tells you where the most contracts changed hands. Market Profile tells you where the market chose to spend its time. They're different reads on the same auction. In overnight sessions where volume is thin but price parks at a level for three hours, Volume Profile writes that off as noise. Market Profile captures it. Both have value. They answer different questions.
Peter Steidlmayer developed Market Profile at the Chicago Board of Trade in the early 1980s [9]. James Dalton later codified the methodology in Mind Over Markets [10] and Markets in Profile. The framework gave traders a structured way to read auction mechanics: where price was accepted, where it was rejected, and what that pattern implied about the next day's probable range.
Futures traders on NexusFi have debated Market Profile endlessly — whether it still works alongside electronic markets, how to combine it with Volume Profile and order flow, and which elements deserve a place in a modern trading toolkit. The core methodology has held up. Markets still accept and reject price. The auction still produces day types that repeat with statistical regularity. The Initial Balance still defines most sessions' range. The letters have changed (electronic markets run 23 hours), but the framework is intact.
The Core Framework #
The entire methodology rests on a single idea from auction market theory: price moves to help trade. When price finds an area where buyers and sellers agree on value, it parks there — transactions flow freely, both sides are willing. When price reaches an area where one side refuses to participate, it leaves quickly, leaving few or no letters at that level.
Time is the proxy for value. More time at a price = more acceptance = more letters = a fatter row in the profile. A narrow row or single print at a price = quick transit = rejection.
This acceptance/rejection binary powers everything. Day types, Initial Balance, profile shapes, range extension — they all describe whether the market is accepting or rejecting current price territory.
The observable fact this framework captures: in any futures market, most sessions are rotational. Price explores up, fails to attract conviction, rotates back, explores down, fails again, rotates back. The resulting profile builds a roughly bell-shaped distribution. The top of the bell (the Point of Control) represents time-based fair value. The tails represent rejected extremes. A handful of sessions every month break this pattern — trend days — where price accepts every new level and never looks back. Day type classification is recognizing which kind of session is developing.
TPO and Volume Profile both build from auction theory, but they ask different questions. Volume Profile asks: where did the most money change hands? Market Profile asks: where did the market choose to spend its time? On high-volume days these readings align. On thin overnight sessions they diverge much — time-based analysis captures something volume misses.
Key Concepts #
TPO Letters and Session Structure #
Each 30-minute trading period gets a letter. For the ES RTH session (9:30 AM - 4:00 PM ET), that's 13 periods: A through M. Where price trades during any given 30-minute period, that letter appears in the profile at that price level.
If ES trades between 5280 and 5295 during the A period, every 0.25-point increment from 5280 to 5295 gets an "A" in the profile. Stack a full day's letters and you get a histogram rotated 90 degrees. Long rows = high time acceptance. Short rows = quick transit. The result is a visual map of the session's auction structure.
The Point of Control (POC) is the row with the most letters — the price level where the market spent the most time. This is time-based fair value. In a balanced session it sits near the center of the profile, though on any given day it can drift as late activity builds.
The Value Area is the price range containing 70% of the session's total TPO letters. The upper bound is the Value Area High (VAH) and the lower bound is the Value Area Low (VAL). When the distribution is bell-shaped and balanced, these boundaries provide statistically meaningful information about where responsive activity tends to occur. When the distribution is imbalanced — a trending day — these levels lose predictive power.
The Initial Balance: The Session's Most Important Reference #
The Initial Balance (IB) is the price range established during the first 60 minutes of RTH trading — the A and B periods combined. It's the most important structure in any Market Profile session.
Why the first hour matters: This is when institutional traders establish their opening positions. The first hour represents the market's first attempt to define today's value. Whether subsequent trading stays within that range (balanced day) or extends beyond it (trend or normal variation day) tells you what kind of session is developing.
IB Width as day-type context:
- Wide IB (large range in first hour): Both sides established early. Extremes may be set. Often resolves as a Normal Day where the IB becomes the full range.
- Narrow IB (tight range): Market hasn't committed. Subsequent range extension is probable. One side will enter with conviction.
The statistical evidence on IB levels is clear. @greenroomhoo analyzed 351 ES trading days: the IB Low was the session's actual low 40% of the time; the IB High was the session's actual high 32% of the time. Range extension beyond 1x IB occurred 37% of the time to both the downside and upside. [1] These are real probabilities — if you're trading the afternoon, knowing whether the IB boundary will hold is directly material to your positioning.
Range extension signals conviction. When price breaks above the IBH or below the IBL, it signals that "other timeframe" participants — institutional money acting on longer-term conviction — have entered. The first range extension is significant. Multiple extensions throughout the day means a trend day is unfolding.
Day Types: The Framework's Predictive Core #
Market Profile's most powerful feature isn't the specific levels — it's day type classification. By 11:00-11:30 AM, most days have revealed which of six types they are, and each type implies specific probable afternoon behavior.
@mfbreakout documented the classic six types: [2]
1. Normal Day: Wide IB establishes in the first hour. Market rotates within the IB without extending. Profile builds a symmetric D-shape. Common on low-trigger days. Responsive trades at IBH/IBL work.
2. Normal Variation of Normal Day: Narrow IB, one side enters mid-morning and extends the range once. More elongated bell. The extension establishes one extreme; the IB provides the other. The most common day type — roughly 40% of sessions.
3. Trend Day: Directional from the open or within the first two periods. IB is narrow and keeps extending in one direction. Profile is a vertical slash, not a bell. This day type occurs 3-4 times per month in ES. Profitable to follow. Catastrophic to fade.
4. Double Distribution Trend Day: Quiet balanced morning, then a second strong directional burst in the afternoon creates a separate distribution cluster. Final profile shows two bell shapes connected by a thin bridge of single prints. The bridge is the most important structure on subsequent days.
5. Neutral Day: Both sides enter, reach equilibrium. IB extends one or two ticks in both directions — extensions both ways. Neither side holds. Profile is wide but balanced. The market is genuinely uncertain about current value.
6. Nontrend Day (Inside Day): Occurs before significant news or uncertainty events. Volume and conviction are low. Price rotates within a tight range around VWAP with no directional resolve. Best trade: no trade.
Profile Shapes: Reading the Auction Character #
Profile shapes encode the day's auction character at a glance:
D-shape (Bell curve): Symmetric. POC near center. Both sides participated in a balanced rotation. The classic fair-value auction shape. VAH and VAL are statistically meaningful bounds. Subsequent session often opens within this distribution.
b-shape: Short lower tail (few letters at bottom), fat upper section. Buyers dominated the session. Market rejected lower prices (thin tail = quick transit) and accepted higher prices (fat area). Bullish character. If next session opens below the b-shape's fat area, buyers may step in.
P-shape: Mirror of b. Fat lower section, thin upper tail. Sellers dominated. Market rejected high prices and accepted lower ones. Bearish character. If next session opens above the P-shape's thin tail, sellers may step in.
B-shape (Double Distribution): Two separate fat areas connected by a thin bridge. The bridge represents a transition zone — price moved through it quickly because neither side wanted to be transacting there. On subsequent sessions, the bridge area is a high-probability reaction zone.
Opening Types: The First Five Minutes Are a Tell #
How price opens relative to the previous session's value tells you the probable intent for the day. Four opening types are widely recognized:
Open Drive: Price opens and immediately drives in one direction without looking back. High conviction. Institutional participation from the start. Trade in the direction of the drive — don't fade it until much later in the session.
Open Test Drive: Price opens, makes a small test in one direction (often back toward previous day's value or POC), fails to accept there, then drives strongly in the opposite direction. The failed test is the tell.
Open Rejection Reverse: Price opens, tests in one direction, gets rejected sharply, then moves decisively the opposite direction. The rejection is more aggressive than a Test Drive.
Open Auction: Price opens and immediately auctions back and forth without conviction. Neither side has control. Often leads to Neutral or Nontrend day. Wait for the IB to form and look for range extension signals before committing.
Trade Setups #
Market Profile generates well-defined setups. They require reading the developing session — they're not mechanical triggers. But the structural logic is sound enough that experienced traders execute them with defined entries, stops, and targets.
Setup 1: Open Outside Value, Return to Value Area #
Scenario: Today opens above yesterday's VAH (or below yesterday's VAL). Price spends the first 30-minute period outside the value area, then trades back inside.
The logic: When price opens outside yesterday's distribution and then re-enters it, the market is saying the opening price was not a fair price. The implied destination is the opposite boundary of the value area — or at minimum, the session POC.
Entry: When price re-enters the VA and the second 30-minute period closes inside value. Target: Opposite VA boundary (VAL if opened above VAH; VAH if opened below VAL). Session POC is a reasonable partial target. Stop: 5-7 ticks beyond the re-entry VA edge. Invalidation: Period close back outside the entry side of the value area.
[3]
Critical context: This works on balanced days. On trend days, a return to value is a fade of the trend — dangerous. If the session is developing as a trend day (narrow IB, kept extending through mid-morning), skip this setup entirely.
Setup 2: Previous Day Level Fade #
Scenario: Balanced day developing. Current session opened within previous VA. The profile is showing a D-shape character.
The trade: When price rotates to the previous day's VAH (upward rotation) or VAL (downward rotation), look for responsive activity — the market fading the extreme back toward POC.
Entry: First period that closes back inside the VA after tagging the boundary. Target: Session POC. Stop: 5-7 ticks beyond the VA boundary. Kill condition: If price spends two or more consecutive periods outside the VA, the level has shifted — exit.
[4]
Setup 3: Double Distribution Single Print Zone #
Scenario: Yesterday was a Double Distribution day. There's a bridge of single prints between the two distributions.
The logic: Single prints are excess — rapid price movement where neither side wanted to be transacting. Markets revisit this zone with high frequency (community-observed pattern; no large-sample formal backtest). When price returns, the zone often attracts strong responsive activity because it represents unfinished auction business.
Entry: Limit order in the center of the single print zone on a return. Target: The POC of the origin distribution (where the day started before the directional burst). Stop: Outside the single print zone (if the zone fills through, the structure is absorbing).
Setup 4: Failed Range Extension #
Scenario: Price breaks above IBH (or below IBL) — extending the range — then fails to attract acceptance at the new level and closes back inside the IB on the subsequent period.
The logic: Range extension that fails indicates the institutional participant who drove the move is done or wrong. When price returns inside the IB with a strong period close, the implied destination is the session POC.
Entry: Period close back inside the IB boundary. Target: Session POC. Stop: Above the failed extension high (2-3 ticks of buffer). Invalidation: Any subsequent period close above/below the extension level.
[5] The key: wait for the period close confirmation. Premature entry on an intra-period spike is the common error.
When It Fails #
Market Profile has failure modes that every practitioner learns the hard way.
Trend days are account-killers for responsive traders. On the 3-4 trend days per month in ES, VAH and VAL are continuation zones, not reversal points. A "fade the extreme" setup on a Trend Day doesn't just fail — it accelerates against you as the trend extends. The tell is the open: narrow IB, directional movement from the first period, no meaningful pullback to prior value. When the IB keeps extending through 11 AM without rotation, stop fading immediately.
Trend days destroy the responsive trader's toolbox. VAH fades, VA re-entries, POC mean-reversion — all of these become losing entries when the day type is trend. The critical tell is the IB: a narrow initial range that extends once early and keeps extending is a trend day. Identify this by 10:30 AM and switch entirely to trend-following mode or stand aside.
The 80% rule is more myth than math. @josh ran 1,000 days of strict ES data with precise criteria and found the "textbook" 80% rule scenario meeting strict definition appeared roughly 8 times in four years. Win rate: 5 out of 8 days (62%). [6] The general tendency — that price entering a value area often completes a rotation through it — has merit. The specific "80%" number, used as a mechanical entry trigger, overstates the reliability. Use it as a tendency with context, not a system.
News events override structure. A perfectly developing D-shape at 1:58 PM ET becomes a trend profile at 2:01 PM when the Fed speaks. Before high-impact releases, the day's structure is provisional. Know the economic calendar before every session.
Globex distorts RTH analysis. When overnight price action creates a large range well above or below the prior RTH structure, the opening auction in RTH is navigating between two frameworks simultaneously. Opening within a large Globex range that's entirely outside prior RTH value means you're in price discovery — normal acceptance/rejection signals are weaker.
Thin sessions produce misleading profiles. Holiday sessions, option expiration days, and pre-announcement drift days have artificially thin participation. Single prints in thin sessions don't mean "market rejected this price" — they mean "nobody showed up." Don't trade thin session structure like normal session structure.
The three reliable tells for dangerous day types: (1) narrow IB that keeps extending = trend day, (2) large overnight range outside prior value = price discovery session, (3) thin volume before major news = structural noise. In all three cases, tighten position size or stand aside until structure clarifies.
Practical Application #
Pre-Market Preparation #
Before RTH open, build a structural map using the prior session's profile. The 20 minutes before the open should produce specific prices to watch, not just a directional bias.
From yesterday's RTH profile:
- POC — time-based fair value anchor
- VAH and VAL — distribution bounds
- IBH and IBL — yesterday's first-hour extremes
- Session high and low — the full extremes
- Any single prints at the session extremes — unfinished business
- Profile shape — what day type was yesterday, and what does it imply today?
From overnight (Globex) session:
- Where did Globex trade relative to yesterday's RTH value?
- Is overnight range inside, overlapping, or outside yesterday's VA?
- Where is the overnight POC? (Thin, but still a data point for context)
The opening hypothesis: Based on overnight location relative to prior value, what are the two probable scenarios? Example: "ES opened overnight above yesterday's VAH. Scenario A: acceptance above VA leads to continued drive higher. Scenario B: rejection at VAH sends price back into prior value." This isn't prediction — it's a conditional framework.
Opening Minutes Protocol #
The first 15 minutes of RTH:
- Watch. Don't trade.
- Identify the opening type: Open Drive, Open Test Drive, Open Rejection Reverse, or Open Auction.
- Is price accepting or rejecting the prior day's value area?
After the B period closes (10:30 AM ET):
- Is the IB wide or narrow relative to recent average?
- Has range extension occurred? In which direction?
- What day type is developing?
Commit to a hypothesis by 10:30-11:00 AM. Update it if the session evolves — but have one.
Integration with Volume Profile #
This is where the methodology becomes professional-grade. Use both simultaneously:
Volume Profile tells you where the most transactions occurred — the dense nodes, the key levels. Market Profile tells you what kind of day is developing — what the opening behavior suggests, which setups are live.
When the TPO-based POC and the Volume-based POC align at the same price, the level has double confirmation: the market chose to transact heavily there AND chose to spend significant time there. These composite POC levels have stronger magnetic pull.
— pointing toward modern platforms that blend both. [7]
Practical integration: Use Volume Profile for finding specific price nodes and key support/resistance. Use Market Profile for reading the session's structural character — what kind of day is this, where are the important boundaries, and what does the opening behavior imply?
Integration with VWAP #
[4]
When you don't have a Market Profile display, VWAP provides a real-time proxy for time-weighted fair value. Price above VWAP = accepting higher prices. Price below = accepting lower. The same acceptance/rejection logic applies.
For traders who can only have one tool on the screen, VWAP is the lightweight Market Profile substitute. But the full Market Profile display adds IB levels, period-by-period development tracking, and shape identification that VWAP can't replicate.
Position Sizing by Day Type #
Responsive setups (VA fade, POC mean-reversion, failed extension) work on balanced days and blow up on trend days. Trend-following setups (Open Drive follow) need trend days to produce targets.
A practical sizing protocol: on unconfirmed day types (before 10:30 AM), use 50% of normal size. Once the day type is confirmed, adjust so — full size on high-confidence balanced-day setups, smaller on any day where type remains ambiguous past 11 AM.
TPO vs. Volume Profile: The Core Difference #
Both tools build from auction market theory. The practical differences:
| Feature | TPO / Market Profile | Volume Profile |
|---|---|---|
| What it measures | Time at each price | Volume at each price |
| Best use | Day type, opening context, session structure | Price attraction nodes, key levels |
| POC definition | Most time spent | Most volume traded |
| Value in thin sessions | Yes (time keeps passing) | Weaker (low volume = weak signal) |
| Standard period | 30-minute bars | Any resolution |
| Day type classification | Core feature | Not available |
| Precise level granularity | Letter-based (coarser) | Tick/bar resolution (precise) |
Neither is superior. They're complementary.
[5]
Use Volume Profile for specific price levels and thick nodes. Use Market Profile for reading the day's structural character — what kind of auction is developing, where the morning anchors sit, and what the afternoon likely holds.
Knowledge Map
References This Article
Articles that build on this topicCitations
- — Data on Initial Balance - ES (2013) 👍 9“140 (40%) of the days the IB Low was the trading hours low for the day. 114 (32%) of the days the IB High was the trading hours high for the day. 131 (37%) of the days the 1xIB level was broken.”
- — Trading Futures with Context (2012) 👍 19“Normal Day - profile structure in which prices auction between two extremes. Trend day - Buyer or seller remains in control the entire day. Prices usually will not return to the opening price.”
- — Trading Futures with Context (2014) 👍 18“In an up trending market, when the current session opens above the previous day's VAH enter a long trade at the prev VAH and again at the previous day's POC. Place a protective stop for both trades 10-15 ticks below the previous day's lower VAL.”
- — Spoo-nalysis ES e-mini futures S&P 500 (2012) 👍 14“During a rotational day, the value area should encompass a majority of the day's activity whereas a trending day will have price leave or better said lead value as the auction continues until balance is restored.”
- — Trading Futures with Context (2014) 👍 10“Many traders have tried to convince me that TPO Market Profile doesn't work. It is old, it is outdated. The HFT's will eat your lunch... It still works as well as the day it was introduced if you just take the time to understand the message it gives.”
- — Volume Profile and Footprint discussion (2012) 👍 19“In the past 4 years, 5 out of 8 days (62%) have fit the picture shown here where the price opens below prior value, and the first 30 minute bar closes inside, and the second 30 minute bar stays inside the prior value area.”
- — Value Area ETH RTH ES (2014) 👍 11“The value area is the core area of a range where most of the trading activity occured. With the help of number crunching machines, the concept can easily be improved.”
- — Volume Profile and Footprint discussion (2015) 👍 14“When a market is in balance, the profile will often be very gaussian/normal/bell shaped. In this situation, the VAH/VAL represent a meaningful representation of one standard deviation.”
