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)

Market Data Model Inputs​

ColumnMarket Data Model TableDescription
trade_signcdm_*Market Data Model source table
mid_price_impactcdm_*Market Data Model source table
order_flow_imbalancecdm_*Market Data Model 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)