Skip to main content

Signed Volume

Quick Reference

PropertyValue
Dimensionsignal
Categoryorder_flow
Versionv0.9.0 (Beta)
Output Columnsigned_volume

Signed volume: volume * trade_sign - net directional capital flow combining trade size with direction

Formula

volume * trade_sign

CDM Inputs

ColumnCDM TableDescription
volumecdm_*CDM source table
trade_signcdm_*CDM source table

Parameters

This FeatureType has no configurable parameters.

Output

Column: signed_volume

Directional trading volume (positive=buy, negative=sell)

Market Intuition & Trading Rationale

Signed volume combines trade size with direction: volume × trade_sign. A large buy (positive trade_sign, large volume) produces a large positive signed volume. A small sell (negative trade_sign, small volume) produces a small negative signed volume. This is the fundamental building block for all volume-weighted directional metrics — it weights each trade's directional signal by the capital committed to it.

The key insight behind signed volume is that larger trades carry more information. A 10,000-share buy is more informative than a 100-share buy — the trader committing more capital likely has higher conviction. Signed volume captures this by scaling the direction signal by size. When aggregated over time, signed volume measures net capital flow: are more dollars being committed to buying or selling?

Signed volume differs from OFI in an important way: OFI measures resting order changes (what limit orders are doing), while signed volume measures executed trades (what aggressive orders already did). OFI is leading, signed volume is coincident. Together they provide a complete picture of both passive intent and aggressive action.

Usage Cases

  • Net capital flow: Aggregate signed_volume over a window to measure net dollar flow. flow_pressure does this via rolling_sum(signed_volume, window). Positive net flow means more capital committed to buying; negative means more committed to selling.
  • Volume-weighted signals: Use signed_volume as the input to any volume-weighted computation. Unlike raw trade_sign (which treats all trades equally), signed_volume naturally down-weights small, noisy trades and up-weights large, informative ones.
  • VPIN input: signed_volume is a direct input to VPIN calculation. VPIN buckets trades by cumulative signed volume, using the imbalance within each bucket to estimate informed trading probability.
  • Execution quality: Large signed volume in one direction with minimal price movement suggests excellent liquidity — the market absorbed large directional flow without repricing. Large signed volume with large price movement suggests thin liquidity or informed flow.

YAML Definition

name: signed_volume
description: 'Signed volume: volume * trade_sign - net directional capital flow combining
trade size with direction'
category: order_flow
version: v0.9.0 (Beta)
dimension: signal
status: Pre-release
required_inputs:
- volume
- trade_sign
output_column: signed_volume
output_description: Directional trading volume (positive=buy, negative=sell)
parameters: {}
formula: volume * trade_sign