Skip to content
All library documents

Detecting Low-Volume Price Displacements With a Return Z-Score Oscillator

Article TradingView scripts

Summary

This indicator combines a standardized one-bar log return with a filter for unusually weak volume. It compares current volume with a rolling average, logs the ratio, and standardizes that volume shock over a lookback. When the result is below a chosen threshold, the return z-score receives full weight; otherwise it is reduced by a configurable factor. Threshold crossings mark large moves that occurred under the indicator’s low-participation condition. The accompanying explanation interprets upward moves as potential buy-side imbalances and downward moves as potential sell-side imbalances, with a possible tendency for price to retrace.

The calculation uses bar-level price and volume data, not order-book depth or trade-level liquidity. The script offers adjustable baselines, lookbacks, weights, and signal thresholds, but the document presents no statistical validation or measured reversal rates. Labels and explanatory text are not fully consistent about which threshold corresponds to each imbalance, so users should inspect the plotted sign and crossing logic. A flagged displacement is a hypothesis about a possible inefficient move, not a forecast guarantee.

Key ideas

  • The oscillator standardizes one-bar log returns and volume shocks against rolling histories.
  • Returns receive greater weight when volume is unusually low and can be faded otherwise.
  • Threshold crossings flag large price changes under the chosen participation filter.
  • The proposed interpretation is that thin-volume displacements may retrace, but no validation results are supplied.
  • The measure uses bar data and cannot directly observe order-book liquidity.

Tags

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.