Positive Volume Index Indicator: Formula, Settings and How to Read It
Positive Volume Index (PVI) is a cumulative index that changes only on bars where volume rose against the previous bar; on every other bar it holds its last value. Developed by Fosback from Dysart's work, it isolates the price action that occurred while participation was expanding.
Senzoukria · Indicators · Updated September 2026
Positive Volume Index ships with the Senzoukria desktop app, in the Volume group of the indicator catalogue. It is drawn in its own panel below the chart.
What Positive Volume Index measures
Starting from a base of 1000, each qualifying bar multiplies the running index by one plus the bar's percentage price change, so the index compounds returns instead of summing them. Bars whose volume is equal to or below the previous bar's leave the index untouched, which makes long flat stretches normal and meaningful. A previous close of zero freezes the index for that bar, since a percentage change has no definition there. The series runs continuously with no session reset. It is the exact mirror of the Negative Volume Index, and the pair is meant to be read together: PVI traces what happened on the busy bars, NVI what happened on the quiet ones.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
PVI — Positive Volume Index (Fosback / Dysart) — miroir exact du NVI : PVI[i] = PVI[i−1] × (1 + (close[i] − close[i−1])/close[i−1]) si volume[i] > volume[i−1], sinon PVI[i−1] POURQUOI : le pendant du NVI — il ne retient que les barres à volume en HAUSSE, c'est-à-dire ce que fait la FOULE. Les deux se lisent ENSEMBLE : NVI et PVI qui montent de concert = tendance saine ; PVI seul qui monte pendant que le NVI stagne = mouvement porté par le bruit. Def séparée (et pas un paramètre « side » d'une seule def) pour que chacun s'active et se colore indépendamment — même choix que min-delta/max-delta. Mêmes conventions que le NVI : base 1000, volume égal → inchangé, close[i−1] = 0 → indice gelé, continu.
How to read it
- Read the slope, not the level. The base is an arbitrary starting point and the absolute number carries nothing.
- Rising PVI means price advanced on the bars where volume was expanding.
- Flat stretches are not missing data: they are runs of bars where volume did not increase, and the index correctly stood still.
- Read it against NVI. Both rising together is the conventional reading of a broadly supported trend; PVI rising alone describes a move carried by the busy bars only.
- Because it compounds percentage moves, a large point move on a high-priced instrument can shift it less than expected.
Parameters and defaults
The base defaults to 1000 and may be set anywhere from 1 to 100,000, with the line color as the only other input. The base rescales the vertical axis and changes nothing about the shape of the curve or the timing of any turn, so choose it to make the pane readable or to align with another index you compare against.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Base | number | 1000 | 1 – 100000 |
What it does not show
PVI is a legacy indicator built for daily equity and index data, where the crowd-versus-informed-money reading attached to it originated. That interpretation is a convention of technical analysis, not a measured property of intraday futures or crypto data. The curve is anchored to the first bar loaded, so its shape depends on how much history the chart holds and two users with different lookbacks see different levels. It ignores volume magnitude entirely — a marginal volume increase and a tripling qualify identically. It knows nothing about the aggressor side, and since it never resets at a session boundary, overnight gaps compound into it directly.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- Volume — Volume
- Buy/Sell Volume — Volume
- Average Trade Size — Volume
- Volume ROC % — Volume
- Relative Volume — Volume
- Trade Count — Volume
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- What does the positive volume index measure?
- It compounds the percentage price change of every bar whose volume was higher than the previous bar's and ignores the rest, so the curve traces how price behaved during expanding participation. Its level is arbitrary; only its direction and its relationship with the negative volume index are read.
- How do you use PVI and NVI together?
- They partition the same series: PVI captures the bars where volume rose, NVI the bars where it did not. The conventional reading is that both rising together describes a broadly supported trend, while PVI rising while NVI stays flat describes a move carried only by the busy bars. That is an interpretive convention, not a measured result.
- Why is the positive volume index flat for long stretches?
- Because it only updates on bars where volume increased from the previous bar. Through a session of steadily declining volume the index can hold the same value for many consecutive bars. Those flat sections are part of the calculation, not gaps in the data.