TL;DR. Relative Volume (RVOL) divides this bar's volume by the average volume at the same point of the session over the last few sessions. A reading of 1 is a normal amount of trading for that time of day, 2 is twice as busy, 0.5 half as busy. Comparing with the same minute of earlier sessions takes out the open's and the close's usual surges, which a plain average of volume reads as news.
What it measures
- Participation for the time of day. The first half hour of the regular session always trades more than lunch. RVOL asks whether this bar is busy for its own time, so a quiet open and a busy lunch both stand out.
- Two modes. Per bar (the default): this bar against the same bar of earlier sessions. Cumulative: the session's volume so far against the earlier sessions' volume by the same time, which answers "has today been a busy day so far?"
- A ratio, so it reads the same on every instrument. RVOL 2 on ES and RVOL 2 on a stock both mean twice the usual activity for that time, whatever the contract size.
Formula
Inputs in AlgoLift
| Setting | Default | Range | Notes |
|---|---|---|---|
| Sessions | 5 | 1 to 100 | How many earlier sessions the average covers. 5 is a week; 10 and 20 are steadier and take longer to start. |
| Mode | Bar | Bar, Cumulative | Bar compares each bar with the same bar of earlier sessions. Cumulative compares the session's running total with earlier sessions' totals by the same time. |
Outputs in AlgoLift
| Handle | Type | Plotted | Notes |
|---|---|---|---|
| RVOL | Numeric | Always | The ratio, 0 or more, drawn in its own panel with guides at 1 (normal) and 2 (twice the usual). Empty where too few whole sessions came before or the usual volume is 0. |
How to read it
- Above 1: more trading than usual for this time of day. Around 2 and above, something is drawing participants in: a release, a break of a level, a stop run.
- Below 1: a quiet bar for its time. Breakouts on thin volume fail more often because few traders are behind them.
- Cumulative mode climbing through the morning: the session is building into a busy day, a common filter for trend days.
- A spike that fades within a bar or two: an event, not a change in the day's character. Cumulative mode smooths it out.
Best in, worst in
Best in intraday futures and stocks, where the session's volume curve repeats day after day, so the comparison with the same time is meaningful.
Worst in thin overnight hours on a few earlier sessions, where one large trade swings the average, and on holiday weeks, when the earlier sessions were themselves unusual. Use more sessions there, or filter those hours out with a Time Window.
Three setups
1. Only take breakouts with participation
Build the breakout as usual (price above the session's high so far, from Price History), then add a Comparison of RVOL greater than 1.5 and AND it into the entry. The breakout fires only when the bar is busier than usual for its time.
2. Busy-day filter
Set Mode to Cumulative and compare RVOL greater than 1.2 at 10:30 New York, through a Time Window. Trend-following entries are allowed only on sessions trading more than usual by mid-morning.
3. Fade quiet pushes
In a range strategy, take the fade of a move to the VWAP band only when RVOL is below 0.8: a push on thin volume is more likely to come back than one carried by size.
Common mistakes
- Using it on tick or range bars. Those bars have no fixed time in the session, so RVOL stays empty. Use a time series.
- Too few sessions. With 1 or 2 sessions the average is one or two days' noise. 5 to 20 is the usual range.
- Reading it as direction. RVOL is size, not side. Wire a direction rule beside it.
- Tuning the threshold too finely. A rule that works at 1.5 and fails at 1.4 and 1.6 has found noise (overfitting in trading).
RVOL compares this bar with the same point of earlier sessions, so 1 is normal for that time of day and 2 is twice as busy. It measures participation, not direction.