Negative Volume Index Indicator: Formula, Settings and How to Read It

The Negative Volume Index compounds price returns only on bars whose volume was lower than the previous bar's, leaving the index untouched on every other bar. It starts from a base of 1000 and follows Dysart's premise that better-informed participants act when activity is quiet.

Senzoukria · Indicators · Updated September 2026


Negative 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 Negative Volume Index measures

On each bar the index is multiplied by one plus the percentage change in close, but only when volume strictly decreased against the previous bar; equal volume changes nothing, which is the original strict-inequality convention. The base is 1000 by default and carries no unit — only the relative change of the index means anything. The seed is placed on the first bar loaded, so loading more history shifts the whole curve, and when a previous close is zero the index is held rather than broken. The series runs continuously and is not reset at the session open.

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:

NVI — Negative Volume Index (Fosback / Dysart) : NVI[0] = base (défaut 1000) NVI[i] = NVI[i−1] × (1 + (close[i] − close[i−1])/close[i−1]) si volume[i] < volume[i−1], sinon NVI[i−1] POURQUOI : la thèse de Dysart est que l'« argent malin » se positionne les séances CALMES, quand la foule est absente. Le NVI ne retient donc que la performance des barres à volume en BAISSE — sa tendance est réputée dire ce que font les mains fortes, pas ce que fait le bruit. Base 1000 (défaut, convention Fosback) : l'indice n'a pas d'unité, seule sa VARIATION relative compte ; 1000 rend les % lisibles à l'œil. Graine posée sur la première barre chargée (même corollaire que l'OBV : plus d'historique = courbe décalée). Volume ÉGAL → indice inchangé (inégalité STRICTE, convention d'origine). close[i−1] = 0 → contribution 0, indice GELÉ : exception documentée en en-tête — un null couperait un indice cumulatif et lui ferait perdre son ancrage. CONTINU — pas de reset session.

How to read it

  • The index only moves on lower-volume bars, so long flat stretches are its normal state and not a fault.
  • A rising index describes positive returns concentrated in the quiet bars of the period observed; a falling one describes the opposite.
  • Compare its direction with price: agreement means quiet and busy bars pushed the same way, disagreement isolates where the returns actually came from.
  • Traditional use compares the index with a long moving average of itself rather than reading its level, because the level depends on where your history begins.
  • On a 24-hour futures chart, remember that volume falls for reasons of clock time as much as of participation.

Parameters and defaults

Base defaults to 1000, the Fosback convention, and accepts 1 to 100,000. It is purely a scale choice and changes nothing about the shape of the curve. There is no period parameter: the only structural rule is the strict volume comparison between consecutive bars, which is fixed. The line is blue (#2962ff) by default.

Negative Volume Index — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Basenumber10001 – 100000

What it does not show

The index is built on close-to-close returns and total volume — no aggressor side, no range, no intra-bar structure. Dysart's premise comes from work on daily equity data and does not transfer automatically to intraday futures or to 24-hour markets, where volume tracks the session clock as much as participation. Because the seed sits on the first loaded bar, levels are not comparable between two charts with different history depths. Bars with exactly equal volume are skipped entirely, so instruments with coarse volume reporting can freeze the index for long stretches.

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.

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 Negative Volume Index tell you?
It tracks how price performed on bars where volume declined against the previous bar, ignoring the rest. Its direction summarises the returns earned during quieter activity. It is a description of those bars, not a forecast, and its absolute level has no meaning on its own.
Why does my NVI stay flat for long stretches?
The index only updates when a bar's volume is strictly lower than the previous bar's. Bars with higher or exactly equal volume leave it unchanged, so flat sections are expected — especially on instruments where volume rises steadily into an active period.
What is the difference between NVI and the Positive Volume Index?
They share the same engine and differ only in the trigger. NVI compounds returns on bars whose volume fell, PVI on bars whose volume rose. Bars with unchanged volume move neither, since both use strict inequalities.

Keep reading