Volume Profile Calculator

Calculate Point of Control (POC) and Value Area from supplied volume-at-price observations. Review grouped levels, the actual included volume share and the calculation rules.

Price & Volume Data

Format: Price,Volume, no header. Initial values and all three presets are synthetic examples, not market data.

Default target: 70% (not a probability)

Price level grouping

Volume Profile Concepts

POC: Price with highest volume (Point of Control)

VAH: Value Area High (highest included rounded level)

VAL: Value Area Low (lowest included rounded level)

Point of Control (POC)
102.5
Volume: 320.00K (19.8%)
Value Area High (VAH)
103.5
Highest Included Level
Value Area Low (VAL)
101.5
Lowest Included Level
Total Volume
1.61M
11 price levels
Value Area Volume
73.1%
1.18M

Key Levels Summary

VAH level:103.5
Maximum-volume level:102.5
VAL level:101.5

Volume Profile Chart

105
40.00K
2.5%
104.5
60.00K
3.7%
104
90.00K
5.6%
103.5
150.00K
9.3%
103
280.00K
17.3%
102.5
POC
320.00K
19.8%
102
250.00K
15.5%
101.5
180.00K
11.1%
101
120.00K
7.4%
100.5
75.00K
4.6%
100
50.00K
3.1%
Point of Control (POC)
Value Area
Outside Value Area
Supplied volume grouped by rounded price level
Price LevelVolume% of TotalZone
10540.00K2.5%—
104.560.00K3.7%—
10490.00K5.6%—
103.5150.00K9.3%Value Area
103280.00K17.3%Value Area
102.5320.00K19.8%POC
102250.00K15.5%Value Area
101.5180.00K11.1%Value Area
101120.00K7.4%—
100.575.00K4.6%—
10050.00K3.1%—

Start with volume at price, not candle volume

This tool sums supplied price,volume pairs for one instrument and period. Use trade-level observations or an already aggregated volume-at-price dataset. A candle close and its total volume do not reveal the prices of all trades inside that candle. For OHLCV inputs, the CSV volume profile analyzer documents a uniform-allocation approximation.

Keep volume units, session boundaries and data adjustments consistent. Shares, contracts, crypto base units and tick counts describe different activity. The calculator does not fetch quotes, verify your data source or determine a session. Prices stay in your input units; they are not assumed to be dollars.

Rounding and tie rules you can reproduce

  1. Each input price is rounded to the nearest multiple of the positive increment, anchored at zero. Exact halfway ties round toward the higher price, including negative prices. Repeated bucket values are summed.
  2. POC is the level with maximum summed volume. Equal maximum volumes choose the lower price, regardless of row order.
  3. The value area starts at POC. Compare the next supplied level above and below; include the larger one. Equal volumes expand downward first. Continue until the target is met or exceeded.
  4. VAH and VAL are the centers of the highest and lowest included rounded levels. They are not outer bin edges. Absent price levels are not filled or certified as zero.

Try the hypothetical pairs 100,20; 101,40; and 102,30 on separate lines, with increment 1 and a 70% target. Total volume is 90 and POC is 101. The target is 63, so adding level 102 reaches 70 units: 77.7778% of the total. VAL is 101 and VAH is 102. A value-area target is not a normal-distribution interval or the probability of a future price range.

How this differs from a native profile

TradingView native profiles can use lower-timeframe bars, tick-rounded rows and tool-specific range selection. Its documented value-area stopping and tie rules differ from this calculator. Match data, interval, anchors, session, row boundaries and method before comparing outputs. No agreement or trading-performance benchmark is claimed.

Volume Profile distributes volume by price. TPO Market Profile counts time-price opportunities, and VWAP is a volume-weighted average price. A maximum-volume level need not equal VWAP or a fair-value estimate. POC and value-area boundaries describe this sample; they do not identify institutional orders or establish support, resistance, a mean-reversion tendency or a profitable entry.

Input checks and interpretation

Enter 1 to 10,000 rows, with exactly two finite numeric fields per nonblank line. Negative prices are allowed; volume must be nonnegative and the total positive. The target must be 50–95%. At most 2,000 grouped levels are displayed. The entire result is withheld if a row or setting is invalid, so an omitted bad row cannot silently change the total.

Gaps and missing observations matter. This method expands among supplied levels and can cross an unobserved price gap. Repeated rows add volume again; remove unintended duplicates before import. Changing the increment or range can move POC and value area. Compare alternative samples and retain the inputs if you want to reproduce a result.

For the native definitions and current method, read TradingView volume profile concepts and Fixed Range Volume Profile. These sources describe native tools; the explicit algorithm above is this page's own convention. Educational analysis only, not investment advice.

Questions about this calculation

What data does this calculator need?

Enter price,volume pairs from one instrument and defined observation period. They must already represent volume at price. An OHLCV candle close paired with its entire volume assigns every trade to that close and does not reconstruct a true volume profile. Use the OHLCV analyzer for an explicitly approximate allocation.

Is POC fair value or a price target?

Here POC is the rounded supplied level with the largest summed volume. Equal volumes select the lower level. It describes this input sample; it does not prove fair value, institutional intent, support, resistance or a future price target.

Why can the value area contain more than 70%?

The calculator starts at POC and adds the larger neighboring supplied level until the selected percentage is met or exceeded. A whole level can overshoot. Equal neighboring volumes expand downward first. VAH and VAL are the highest and lowest included rounded level centers, not bin edges.

What happens to missing levels or repeated prices?

Repeated prices in the same rounding bucket are summed. Missing price levels are not inferred; the next supplied level is the next candidate for expansion. Omitting observations can change POC and value area. Include verified zero-volume levels only when your source actually establishes zero.

Does 70% mean one standard deviation?

No. It is a configurable share of the entered volume, not a normal-distribution assumption, confidence interval or probability that price stays inside. The actual included share is displayed.

Draft a Testable Volume-Profile Rule

Specify the data source, grouping, range and confirmed-bar rules for Pineify's Coding Agent. Inspect and test generated code; this calculator does not place orders or create alerts.