Skip to main content

Imbalance Sniper

An automated trading strategy that monitors real-time tick data for significant order flow imbalances between bid and ask volume. Designed for liquid futures markets (ES, NQ, CL, GC).

Overview

Imbalance Sniper identifies institutional activity through:

  • Imbalances: When one side (bid or ask) overwhelms the other at a price level
  • Absorption: Large orders absorbing incoming flow (support/resistance)
  • Delta: Running difference between buy and sell volume
  • Price Ladder: Real-time volume distribution across levels

Performance

Production-validated against real ES Futures data:

MetricValue
Test Dataset885,395 ticks
Average Latency~1,000 ns/tick
Peak Burst Rate6,230 ticks/sec
CPU Headroom1000x over median rate

Optimization Technologies

  • Generation-Based Cache: 918x speedup for cumulative delta (O(n) → O(1))
  • Striped Locking: 64-way fine-grained concurrency
  • Lock-Free Price Ladder: ConcurrentNavigableMap for atomic operations

How It Works

Imbalance Detection

At each price level, the strategy tracks:

Bid Volume: Total volume at bid price
Ask Volume: Total volume at ask price
Imbalance Ratio: max(Bid, Ask) / min(Bid, Ask)
Delta: Ask Volume - Bid Volume

When imbalance ratio exceeds threshold AND delta exceeds minimum, a signal is generated.

Absorption Detection

Absorption occurs when:

  1. Large volume accumulates at a price level
  2. Price tests that level but doesn't break through
  3. The large orders "absorb" selling/buying pressure

This indicates institutional support or resistance.

Signal Generation

ConditionSignal
High bid imbalance + absorptionBullish (expect bounce)
High ask imbalance + absorptionBearish (expect rejection)
Imbalance without absorptionWeaker signal, needs confirmation

Settings

Imbalance Detection

SettingDefaultDescription
Imbalance Ratio Threshold2.0Minimum ratio (2.0 = one side 2x other)
Delta Volume Threshold100Minimum volume difference
Lookback Ticks1000Ticks to analyze for patterns

Tuning:

  • Too many signals → Increase ratio to 2.5 or 3.0
  • Missing signals → Decrease ratio, lower delta threshold
  • Adjust delta threshold based on instrument liquidity

Absorption Settings

SettingDefaultDescription
Absorption Volume500Minimum volume to qualify as absorption
Price Tolerance0.25Ticks for price level grouping
Confirmation Bars2Bars to confirm absorption holds

Trade Execution

SettingDefaultDescription
Enable TradingfalseActivate automated execution
Position Size1Contracts per trade
Max Positions1Maximum concurrent positions

Risk Management

SettingDefaultDescription
Stop Loss (ticks)8Initial stop distance
Take Profit (ticks)16Target profit distance
Break-Even Trigger8Move stop to entry after X ticks profit
Trail Start12Activate trailing after X ticks
Trail Distance4Trailing stop distance

Circuit Breakers

SettingDefaultDescription
Max Daily Loss-500Stop trading if daily P&L hits this
Max Daily Profit1000Optional profit target for day
Max Loss Per Bar-100Per-bar loss limit
Cooldown Bars5Bars to wait after stopped out

Display

Price Ladder Panel

Real-time visualization:

  • Bid volume (left, green)
  • Ask volume (right, red)
  • Delta (center)
  • Absorption levels highlighted

Chart Overlay

  • Entry/exit arrows
  • Stop and target lines
  • Absorption level markers
  • Imbalance zones shaded

Best Practices

Instrument Selection

Best results on high-liquidity futures:

  • ES (S&P 500 E-mini)
  • NQ (Nasdaq E-mini)
  • CL (Crude Oil)
  • GC (Gold)

Time Selection

Trade during high-activity periods:

  • Regular Trading Hours (RTH)
  • Avoid first/last 15 minutes
  • Watch for scheduled economic releases

Risk Management

  1. Start with small size until you understand the signals
  2. Use circuit breakers — they're there to protect you
  3. Review trade log daily to identify patterns
  4. Adjust thresholds based on current market volatility

Troubleshooting

No Signals Appearing

  • Ensure tick data is enabled for your instrument
  • Reduce imbalance ratio threshold
  • Verify sufficient liquidity in the market

Too Many False Signals

  • Increase imbalance ratio to 2.5-3.0
  • Increase delta volume threshold
  • Add absorption confirmation requirement

Performance Issues

  • Reduce lookback ticks if CPU-constrained
  • Ensure adequate memory allocation

See Also