- **Similar:** [NVI](../nvi/Nvi.md), [OBV](../vwad/Vwad.md) | **Complementary:** MA crossover | **Trading note:** Positive Volume Index; tracks price on high-volume days. Used with NVI for smart/uninformed money.
The Positive Volume Index tracks price changes exclusively on days when trading volume increases compared to the previous day. The underlying theory: retail investors—the "uninformed crowd"—drive high-volume trading days, often reacting emotionally to news and price movements. Institutional investors prefer to operate during quieter periods to avoid moving markets.
PVI essentially asks: "What are prices doing when the crowd is most active?" If PVI rises on high volume, retail enthusiasm is driving prices up. If PVI falls on high volume, retail panic may be pushing prices down. Either way, this represents the emotional, less-informed segment of the market.
## Historical Context
Paul Dysart developed the Positive Volume Index alongside the Negative Volume Index in the 1930s. Norman Fosback later popularized both indicators in his 1976 book "Stock Market Logic," demonstrating their complementary nature for analyzing market behavior.
While NVI focuses on smart money activity during quiet periods, PVI captures the retail investor's footprint. Fosback's research showed that PVI alone has less predictive power than NVI because retail-driven moves are more random and noise-filled. However, PVI becomes valuable when combined with NVI to paint a complete picture of market participation.
The key insight: divergences between PVI and NVI often signal significant market transitions. When smart money (NVI) and retail (PVI) disagree, one group is likely wrong—and it's usually the crowd.
## Architecture & Physics
PVI operates as a cumulative price-change tracker with a volume filter. The key design decision: PVI only updates when current volume is strictly greater than previous volume. When volume decreases or stays the same, PVI remains unchanged.
This binary filtering creates a "busy day" journal of price movements, capturing retail-driven volatility and emotional trading.
### Component Breakdown
1.**Volume Comparison**: Current volume vs. previous volume
2.**Price Ratio**: Close / Previous Close
3.**Conditional Update**: Apply price ratio only when volume increases
4.**Cumulative Value**: PVI carries forward when inactive
### State Requirements
| Component | Type | Purpose |
| :--- | :--- | :--- |
| PviValue | double | Current cumulative PVI |
| PrevClose | double | Previous bar's close for ratio |
- Edge case testing (equal volumes, zero volume, NaN handling)
## Common Pitfalls
1.**Start Value Matters for Comparison**: Different start values (100 vs 1000) produce proportionally different PVI values. When comparing PVI across instruments or time periods, use consistent start values or normalize.
2.**Not Bounded**: Unlike oscillators (RSI, MFI), PVI has no upper or lower bounds. It can theoretically reach any positive value. Use signal lines (moving averages of PVI) for interpretation rather than absolute levels.
3.**Equal Volume Ignored**: When `Volume_t == Volume_{t-1}`, PVI remains unchanged—same behavior as volume decrease. Some implementations use ≥; QuanTAlib uses strict > per the original formula.
4.**Requires Two Bars**: PVI needs at least two bars to make a comparison. First bar always returns the start value.
5.**Volume Data Quality**: PVI is extremely sensitive to volume data quality. Markets with unreliable volume (some crypto exchanges, certain OTC markets) can produce misleading signals.
6.**Noisier Than NVI**: Because PVI tracks retail activity, it tends to be noisier and less predictive than NVI. Consider using longer smoothing periods or focus on PVI-NVI divergences rather than PVI alone.
7.**TValue Limitations**: The `Update(TValue)` method exists for interface compatibility but cannot compute PVI without volume data. Use `Update(TBar)` for proper calculation.
8.**isNew Parameter**: When correcting bars (isNew=false), the implementation properly restores previous state. Incorrect handling causes cumulative drift.
## Interpretation Guide
### Retail Sentiment
PVI reflects retail trader behavior:
| PVI Action | Interpretation |
| :--- | :--- |
| Rising sharply | Retail enthusiasm, possible FOMO buying |
The most valuable signal: **NVI rising while PVI falling**. This suggests smart money accumulation during retail pessimism—often precedes significant rallies.
The danger signal: **PVI rising while NVI falling**. Retail enthusiasm without institutional support—a setup for potential corrections.
## References
- Dysart, P. (1930s). Original development of Positive Volume Index.
- Fosback, N. (1976). *Stock Market Logic*. Institute for Econometric Research.
- Investopedia. "Positive Volume Index (PVI)." [Definition](https://www.investopedia.com/terms/p/pvi.asp)
- StockCharts. "Positive Volume Index (PVI)." [Technical Indicators](https://school.stockcharts.com/doku.php?id=technical_indicators:positive_volume_index)