Skip to main content

Adverse Selection Index

Quick Reference

PropertyValue
Dimensionregime
Categorymarket_regime
Versionv0.9.0 (Beta)
Output Columnadverse_selection_pressure

Adverse selection pressure index - quantifies the risk liquidity providers face from informed counterparties

Formula

decay_accum(((trade_sign * abs(mid_price_impact)) * sign(order_flow_imbalance)), alpha, 0)

CDM Inputs

ColumnCDM TableDescription
trade_signcdm_*CDM source table
mid_price_impactcdm_*CDM source table
order_flow_imbalancecdm_*CDM source table

Parameters

ParameterTypeDefaultDescription
alphafloat [0.0, 1.0]0.95Decay factor for pressure state accumulation

Output

Column: adverse_selection_pressure

Estimated adverse selection pressure level

Market Intuition & Trading Rationale

Adverse Selection Index quantifies the risk that liquidity providers face from informed traders: decay_accum(trade_sign × |impact| × sign(OFI), alpha). It combines three microstructure signals: (1) trade direction — which side is aggressive, (2) mid-price impact — how much the trade moved the market, (3) OFI direction — whether resting order flow confirms or opposes the trade. When all three align (aggressive buying + positive impact + positive OFI), informed buying is likely — and the index accumulates upward.

The decay_accum state function gives the index memory — it rises when informed trading is persistent and decays when informed trading subsides. This smooths out transient spikes (a single large trade may be uninformed) and highlights sustained patterns (repeated informed trading over minutes is a genuine toxicity regime).

High adverse selection means liquidity providers are systematically losing to informed counterparties. In response, they widen spreads, reduce depth, or withdraw entirely — making execution more expensive for everyone. The adverse_selection_index is thus a leading indicator for spread widening and depth evaporation.

Usage Cases

  • Market-making risk management: When adverse_selection_index rises, widen quotes to compensate. When it's low, tighten quotes to capture more flow. This dynamic spread adjustment is the fundamental market-making strategy.
  • Execution toxicity avoidance: High adverse_selection_index → toxic market. Avoid providing liquidity (use market orders, not limit orders). Low index → safe to provide liquidity.
  • Regime classification: adverse_selection_index > 0.7 → high toxicity regime (market-making is dangerous). < 0.3 → low toxicity regime (market-making is safe). Between 0.3–0.7 → moderate (widen quotes modestly).

YAML Definition

name: adverse_selection_index
description: Adverse selection pressure index - quantifies the risk liquidity providers
face from informed counterparties
category: market_regime
version: v0.9.0 (Beta)
dimension: regime
status: Pre-release
required_inputs:
- trade_sign
- mid_price_impact
- order_flow_imbalance
output_column: adverse_selection_pressure
output_description: Estimated adverse selection pressure level
parameters:
alpha:
type: float
description: Decay factor for pressure state accumulation
required: false
default: 0.95
constraints:
min: 0.0
max: 1.0
formula: decay_accum(((trade_sign * abs(mid_price_impact)) * sign(order_flow_imbalance)),
alpha, 0)