volume-to-movement-characterization
Characterize the relationship between volume and price movement. This study explores how much traded volume is required to produce a given price displacement and how that efficiency varies over time.
Why
Candle size alone tells us how far price moved, but not how much effort it took. By comparing volume against absolute price movement, we can measure the efficiency of market participation — when trades drive meaningful movement vs. when they merely churn.
This ratio becomes a powerful diagnostic for:
- Detecting liquidity thinness or absorption phases.
- Understanding intraday “effort vs. result” cycles.
- Comparing how active different temporal regimes are.
Method
-
Compute absolute price movement per candle:
[
\Delta p_t = |close_t - open_t|
] -
Compute the volume-to-movement ratio:
[
\text{vm_ratio}_t = \frac{\text{volume}_t}{\Delta p_t}
] -
Optionally normalize both terms:
- Use relative volume (
volume / rolling_mean(volume, N)) - Use percent price change instead of absolute difference.
- Use relative volume (
-
Create two complementary analyses:
- Scatter Analysis — plot
Δp_t(x-axis) vs.volume_t(y-axis). Look for density clusters and slope patterns. - Distribution Analysis — compute mean, std, and σ-bands of
vm_ratio_t. Identify how stable or noisy the relationship is.
- Scatter Analysis — plot
Interpretation
| Regime | Meaning |
|---|---|
| High vm_ratio | High volume, small price change → absorption, congestion, or spoofing-like phases. |
| Low vm_ratio | Small volume, large price change → low-liquidity moves, high impact efficiency. |
| Stable σ-bands | Predictable liquidity behavior — consistent trading efficiency. |
| Expanding σ-bands | Structural change — volatility regime shift or participation shock. |
Temporal View
Combine this with the temporal heatmap approach:
- Create an hour × day grid.
- Fill each cell with the mean or std of
vm_ratio_t. - This highlights when the market tends to move “cheaply” (low ratio) or “expensively” (high ratio) in terms of effort per move.
Goals
- Quantify how efficiently volume converts to price movement.
- Identify temporal patterns in trading effort.
- Establish a baseline distribution for DEX-relative data.
- Provide a framework for comparing DEX-local vs. global volume data later.
Next Steps
- Add correlation analysis between
vm_ratio_tand volatility measures. - Compare distributions across different timeframes.
- Introduce conditional slicing (e.g., by Bollinger regime or volatility level).
- Extend to DEX vs. global once broader volume APIs become available.