Negative Volume Index
systemic:core-nviIndicatorsfunction1 crInputs
| Name | Type | Description |
|---|---|---|
| Price | floatarray | The **closing price** for each period, used to calculate price percentage changes on low-volume days. |
| Volume | floatarray | The **trading volume** for each period, used to determine whether NVI should update. |
Outputs
| Name | Type | Description |
|---|---|---|
| NVI | floatarray | The cumulative **Negative Volume Index** value, starting at 1000 and updating only on days when volume decreases. |
The Negative Volume Index (NVI) is a cumulative indicator that tracks price changes exclusively on days when trading volume decreases from the previous period. Developed by Paul Dysart in the 1930s and later refined by Norman Fosback, NVI operates on a powerful premise: "smart money" (informed, institutional investors) tends to trade on low-volume days, while the "crowd" dominates high-volume sessions.
The Core Formula
Where:
- = Negative Volume Index at time
- = Closing price at time
- = Volume at time
Key insight: The NVI only updates when today's volume is lower than yesterday's. On high-volume days, the NVI remains flat—essentially "ignoring" the noise of crowd-driven price movements.
How It Works
flowchart TD
START([New Trading Period]) --> VOL{Volume Today<br/>vs Yesterday?}
VOL -->|Volume Decreased| CALC[Calculate Price<br/>% Change]
CALC --> UPDATE[Add % Change × NVI<br/>to Previous NVI]
UPDATE --> RESULT([New NVI Value])
VOL -->|Volume Same<br/>or Increased| HOLD[NVI Remains<br/>Unchanged]
HOLD --> FLAT([NVI = Previous NVI])
style VOL fill:#2563eb,color:#fff
style CALC fill:#059669,color:#fff
style UPDATE fill:#059669,color:#fff
style HOLD fill:#dc2626,color:#fff
style RESULT fill:#059669,color:#fff
style FLAT fill:#6b7280,color:#fff
The "Smart Money" Theory
The NVI is built on a fascinating behavioral hypothesis:
| Volume Condition | Who's Active | NVI Response |
|---|---|---|
| Volume Down | Informed investors ("smart money") | Updates with price change |
| Volume Up | Retail crowd ("noise traders") | Ignores price change |
The reasoning: when volume is low, the general public is less engaged. Price movements during these quiet periods are more likely driven by institutional investors who have access to better information or analysis. Conversely, high-volume days often reflect emotional crowd behavior—FOMO during rallies, panic during selloffs—which the NVI filters out.
The Fosback 96% Signal
Norman Fosback, in his influential book Stock Market Logic, discovered a remarkable asymmetry in NVI signals when combined with a 255-day Exponential Moving Average (EMA):
flowchart LR
NVI[NVI Value] --> COMPARE{NVI vs<br/>255-Day EMA?}
COMPARE -->|NVI Above EMA| BULL[🟢 BULLISH<br/>96% probability<br/>of bull market]
COMPARE -->|NVI Below EMA| BEAR[🔴 BEARISH<br/>53% probability<br/>of bear market]
style BULL fill:#059669,color:#fff
style BEAR fill:#dc2626,color:#fff
style COMPARE fill:#2563eb,color:#fff
| Signal | Condition | Historical Probability |
|---|---|---|
| Strong Bullish | NVI > 255-day EMA | 96% chance of bull market |
| Weak Bearish | NVI < 255-day EMA | Only 53% chance of bear market |
This asymmetry is striking: the bullish signal is far more reliable than the bearish one. This makes NVI particularly valuable for confirming uptrends rather than predicting downturns.
Why 255 days? This approximates one trading year (roughly 252 trading days), providing a long-term smoothing that filters out short-term fluctuations.
Practical Calculation Example
| Day | Close ($) | Volume | Volume Change | Price % Change | NVI Value |
|---|---|---|---|---|---|
| 1 | 100.00 | 500,000 | — | — | 1000.00 |
| 2 | 102.00 | 450,000 | ↓ Decreased | +2.00% | 1020.00 |
| 3 | 101.00 | 480,000 | ↑ Increased | — | 1020.00 |
| 4 | 103.50 | 420,000 | ↓ Decreased | +2.48% | 1045.25 |
| 5 | 102.00 | 550,000 | ↑ Increased | — | 1045.25 |
Observations:
- Day 2: Volume dropped, so NVI increases by 2% (tracking the price gain)
- Day 3: Volume increased, so NVI stays at 1020.00 (ignoring the -0.98% price drop)
- Day 4: Volume dropped again, so NVI rises by 2.48%
- Day 5: Volume spiked up, so the -1.45% price drop is ignored
Notice how the NVI captures the "quiet accumulation" on Days 2 and 4 while filtering out the volatile, high-volume sessions.
Trading Signals
Primary Signals
| Signal Type | Condition | Interpretation |
|---|---|---|
| EMA Crossover (Bullish) | NVI crosses above 255-day EMA | Smart money is accumulating; strong bull signal |
| EMA Crossover (Bearish) | NVI crosses below 255-day EMA | Smart money may be distributing (less reliable) |
| Rising NVI | NVI trending upward | Price gains on quiet days = institutional accumulation |
| Falling NVI | NVI trending downward | Price losses on quiet days = institutional distribution |
Divergence Analysis
flowchart TB
subgraph BULLISH ["🟢 Bullish Divergence"]
A1[Price Falling] --> A2[But NVI Rising]
A2 --> A3[Smart money accumulating<br/>despite price decline]
A3 --> A4[Potential upward reversal]
end
subgraph BEARISH ["🔴 Bearish Divergence"]
B1[Price Rising] --> B2[But NVI Falling]
B2 --> B3[Smart money distributing<br/>despite price increase]
B3 --> B4[Potential downward reversal]
end
style BULLISH fill:#d1fae5,stroke:#059669
style BEARISH fill:#fee2e2,stroke:#dc2626
NVI vs. Positive Volume Index (PVI)
The NVI is often paired with its counterpart, the Positive Volume Index (PVI), which updates only on high-volume days:
| Indicator | Updates When | Tracks | Best For |
|---|---|---|---|
| NVI | Volume decreases | "Smart money" activity | Confirming major trends |
| PVI | Volume increases | "Crowd" activity | Gauging retail sentiment |
When used together, NVI and PVI can reveal whether institutional and retail investors are aligned or diverging—a powerful insight for understanding market dynamics.
Real-World Applications
1. Long-Term Trend Confirmation
The NVI excels at confirming whether a bull market has genuine institutional support. If prices are rising but NVI is flat or falling, it suggests the rally may be driven by retail speculation rather than smart money accumulation—a potential warning sign.
2. Sector Rotation Detection
By applying NVI across different sectors or asset classes, you can identify where institutional capital is quietly flowing. A rising NVI in a sector that hasn't yet shown price strength may signal early accumulation.
3. Market Timing for Long-Term Investors
Given the 96% bullish probability when NVI is above its 255-day EMA, long-term investors can use this as a "stay invested" signal. This helps avoid premature exits during corrections that don't have institutional selling behind them.
Limitations and Considerations
| Limitation | Description |
|---|---|
| Ignores High-Volume Moves | Major price movements on high-volume days are invisible to NVI |
| Lagging Nature | The 255-day EMA creates significant lag in signal generation |
| Asymmetric Reliability | Bearish signals (53%) are far less reliable than bullish ones (96%) |
| Volume Definition Varies | In cryptocurrency markets, "volume" interpretation differs from equities |
| Whipsaws Possible | During sideways markets, the EMA crossover can generate false signals |
Missing Data (Closed-Market Bars)
NVI recurses over the last observed volume and close, not the previous grid slot: a weekend or holiday gap is bridged, so Friday compares directly against the following Monday instead of permanently voiding every Monday's signal.
A slot is None (never a fabricated hold or forward-filled 0% change) whenever it cannot be decided:
| Slot condition | NVI output |
|---|---|
| Volume missing | None — the volume comparison itself is undecidable |
| Volume known, lower than the last observed volume, but price or a prior observed close is missing | None — the percent-change is undecidable |
| Volume known, same/higher than the last observed volume | Previous NVI carried forward (price not needed) |
A missed update is a documented residual, not an error: NVI resumes from its last computed value at the next fully-decidable bar. The first slot with an observed volume seeds NVI at 1000; every slot before it is None.
Indicator Profile
quadrantChart
title NVI Indicator Profile
x-axis Low Popularity --> High Popularity
y-axis Low Reliability --> High Reliability
quadrant-1 High potential
quadrant-2 Established leaders
quadrant-3 Niche tools
quadrant-4 Popular but risky
NVI - Stocks: [0.40, 0.75]
NVI - Crypto: [0.20, 0.45]
Profile Dimensions
| Dimension | Stocks | Crypto | Explanation |
|---|---|---|---|
| Popularity | 0.40 | 0.20 | Classic indicator from 1930s with dedicated following among institutional analysts. Less known in retail crypto trading. |
| Reliability | 0.75 | 0.45 | The Fosback 96% signal provides strong reliability for stocks. Cryptocurrency volume data is less standardized, reducing reliability. |
| Complexity | Moderate | Moderate | Conditional update logic requires understanding volume-price relationships. The "smart money" theory is intuitive once explained. |
| Versatility | Moderate | Low | Primarily designed for long-term trend confirmation. Less applicable to short-term crypto trading strategies. |
| Recent Interest | Stable | Growing | Established indicator with consistent following. Crypto traders beginning to explore volume-based indicators. |
Further Reading
- Positive Volume Index (PVI) — The companion indicator to NVI
- Volume in Technical Analysis — Understanding volume as a market signal
- Institutional Investors — Who the "smart money" actually represents
- StockCharts: NVI Guide — Detailed technical analysis resource