Key takeaways
– The Negative Volume Index (NVI) is a technical indicator that tracks price changes only on days when trading volume falls relative to the previous day. It was developed in the 1930s and popularized by Norman Fosback.
– NVI is intended to highlight price moves that occur on lower-volume days—moves some analysts attribute to “smart money” (institutional or informed traders).
– NVI is most useful when combined with the Positive Volume Index (PVI) and with a moving average (commonly a 10-day SMA of the NVI) to generate signals.
– NVI is simple to calculate, but it has limitations: it depends on reliable volume data, can be slow to react, and should be used with confirming indicators and risk controls.
What is the Negative Volume Index (NVI)?
The NVI is a cumulative line that changes only when the current day’s volume is lower than the previous day’s. On such “down-volume” days, the NVI is adjusted by the percentage price change; on higher-volume days the NVI remains unchanged. The idea: price moves on low-volume days may reflect the behavior of informed or institutional traders, so following those moves can reveal an underlying trend different from the high-volume crowd-driven moves.
Short history and intuition
– Invented by Paul Dysart in the 1930s and brought to wider attention by Norman Fosback in Stock Market Logic.
– NVI focuses on down-volume days; the complementary Positive Volume Index (PVI) focuses on up-volume days.
– Many practitioners treat NVI as a “smart money” indicator and PVI as an indicator of the broader market/trend.
NVI formula and a worked example
Formula (daily):
– If Volume_t < Volume_{t-1}:
NVI_t = NVI_{t-1} × (1 + (P_t − P_{t-1}) / P_{t-1})
(equivalently NVI_t = NVI_{t-1} × (P_t / P_{t-1}))
– If Volume_t ≥ Volume_{t-1}:
NVI_t = NVI_{t-1}
Start value:
– Choose an initial baseline for NVI (common choices are 100 or 1,000). The absolute scale is arbitrary; only the relative movement matters.
Example:
– Start NVI_0 = 1000.
– Day 1: Price = $100, Volume = 1,000,000 (baseline)
– Day 2: Price = $102, Volume = 900,000 (volume down; price +2%)
NVI_2 = 1000 × (102 / 100) = 1,020
– Day 3: Price = $101, Volume = 1,100,000 (volume up)
NVI_3 = 1,020 (unchanged because volume rose)
Practical steps to compute and use NVI
1. Gather data
– Daily price (typically close) and daily volume for the security or index.
– Ensure volume series is consistent (same data vendor, adjusted for corporate actions when relevant).
2. Initialize
– Choose a starting date and baseline (e.g., NVI_start = 1,000).
3. Compute the NVI series
– For each trading day t after the start:
– If Volume_t SMA10)
– Sell signal: NVI crosses below its 10-day SMA (NVI < SMA10)
– Alternatively, watch for divergences: price making new highs while NVI fails to confirm (bearish divergence) or price new lows while NVI holds up (bullish divergence).
5. Confirm with other indicators and price action
– Use NVI in combination with PVI, volume patterns, trendlines, momentum indicators (RSI, MACD), and fundamental context.
– Backtest any rule on historical data and apply suitable position sizing and stop-loss rules.
Spreadsheet (Excel) example formula
Assume:
– Column A = Date
– Column B = Close price (P)
– Column C = Volume (V)
– Column D = NVI
Row 2 is first data row with baseline:
– D2 = 1000
Row 3 formula:
– =IF(C3 < C2, D2 * (B3 / B2), D2)
Simple Python/pseudocode
– Initialize nvi = 1000
– for t from 1 to len(data)-1:
if volume[t] < volume[t-1]:
nvi = nvi * (price[t] / price[t-1])
nvi_series.append(nvi)
How traders commonly use NVI
– Follow trends: upward NVI on low-volume days is bullish; downward NVI on low-volume days is bearish.
– Use the NVI’s 10-day SMA crossover for mechanical signals (as proposed by Fosback).
– Combine with PVI: some traders watch both—if both show bullish signals, confidence increases; if they diverge, interpret cautiously.
– Use divergences between NVI and price for early warnings of trend weakness.
Strengths and practical advantages
– Simple to compute and interpret.
– Isolates price moves that occur on down-volume days, offering an alternative view of trend drivers.
– Works well as a confirming or filtering tool when combined with other indicators.
Limitations and caveats
– Reliant on quality, consistent volume data; some indexes (e.g., S&P 500 index) don’t have direct volume; use ETF/aggregate volume proxies instead.
– NVI updates only on down-volume days, so it can be slow and may lag in fast markets.
– Modern market structure (high-frequency trading, off-exchange trades) makes interpreting volume more complex than in the 1930s–1970s.
– Signal rules (like the 10-day SMA) are heuristic; they should be backtested and adjusted for the asset/timeframe you trade.
– Not a stand-alone buy/sell system—use risk management and confirmatory indicators.
Practical rules-of-thumb and examples
– Default starting NVI = 1,000. Compute NVI daily, using closes and volumes from the same data source.
– Default moving average = 10-day SMA (per Fosback). Treat crossovers as signals only after confirmation from price action or another indicator.
– Use PVI and NVI together: PVI tends to reflect high-volume retail-driven moves; NVI may reflect quieter institutional shifts.
– Backtest any signal/parameters on the target asset class and timeframe before trading with real capital.
Implementation checklist before trading
1. Confirm your volume data source and handling of corporate actions.
2. Choose baseline NVI and moving-average length.
3. Compute NVI and plot it beneath price with its SMA.
4. Backtest signals (entry, exit, stops, position sizing).
5. Combine with at least one independent confirmation indicator.
6. Monitor slippage, commissions, and overnight risk.
Sources and further reading
– Investopedia — “Negative Volume Index (NVI)” (source article): https://www.investopedia.com/terms/n/nvi.asp
– Fosback, Norman—Stock Market Logic (for historical description and recommended SMA rules)
Disclaimer
This article is educational and not investment advice. Indicators like the NVI should be used as part of a well-defined trading plan including risk management and backtesting.