Market Profile System Development
Market Profile is a market analysis methodology developed by Peter Steidlmayer in the 1980s for Chicago Board of Trade. Unlike traditional candlestick charts, Market Profile displays distribution of time across price levels, forming a "profile" of trading activity.
TPO (Time Price Opportunity) Concept
Basis of Market Profile — TPO-letter. Every 30 minutes of trading session gets its own letter (A, B, C... to Z and beyond). At each price level where price traded in given period, corresponding letter is placed. Column of TPO-letters at each level forms the profile.
What it shows: more TPO-letters at price level = longer market traded there. Levels with maximum TPO — "value acceptance" zones, market considered these prices fair.
Key Market Profile Structures
POC (Point of Control) — price level with most TPO-periods. Similar to Volume Profile POC, but based on time not volume.
Value Area — range covering 70% of TPO-activity. VA boundaries (VAH/VAL) — key levels.
Initial Balance (IB) — range of first two TPO-periods (first hour of trading). Its width determines expected day volatility: wide IB → Range Day, narrow IB → possible Trend Day.
TPO Count — total number of TPO-letters in profile. Shows trading activity for day.
Types of Trading Days
Classification by profile shape:
| Day Type | Profile Shape | Trading Logic |
|---|---|---|
| Normal Day | Normal distribution (bell) | Trade within VA |
| Trend Day | Extended profile, no clear POC | Follow the trend |
| Double Distribution | Two separate POCs | Mode change, caution |
| Normal Variation | Wide IB + range test | Trade expansion |
| Neutral Day | IB in middle, both directions expansion | Uncertainty |
Market Profile in Multi-Day Context
Composite Profile — multi-day profile showing structure accumulation over week/month. Multiple days' POCs form "institutional price levels".
Naked POC — previous day's POC not tested in subsequent days. Market tends to return to untested POCs — these are trading targets.
VA Reference:
- Price opens inside VA → 80% probability to remain in VA
- Price opens beyond VA and cannot enter → trend continues
- Price opens beyond VA and returns → reversion to POC/opposite VA boundary
Algorithmic Implementation
Input data: minute OHLCV data or tick data aggregated to 30-minute periods.
Initial Balance calculation: high and low of first trading hour.
Visualization: TPO letters arranged in profile histogram beside price chart. POC highlighted as horizontal line, Value Area as shaded rectangle.
System architecture: Python for calculations, 1-minute OHLCV data from exchanges, PostgreSQL/ClickHouse for storing composite profiles, WebSocket API for real-time updates, React + TradingView Lightweight Charts for visualization.
We develop complete Market Profile system with session/composite profiles, TPO visualization, day type classification and real-time calculation.







