Trading Dev AcademyFree quant education

Free lesson · Prediction strategies

Quoting revenue and adverse selection

Open interactive lessonPractice calculationsExplore labs

Start with the idea

A market maker can earn the spread yet lose money when informed traders choose when to trade against stale quotes.

Symbols, units & horizon
  • N: expected completed share pairs
  • s: spread captured USD per pair
  • ℓ: expected adverse-selection/inventory loss USD per pair under the specified marking horizon
  • c: fees USD per pair
  • E[Π]: expected USD profit

When and why to use this

Evaluate whether quoting compensation covers information risk and costs rather than counting the displayed spread.

A market maker can earn the spread yet lose money when informed traders choose when to trade against stale quotes.

Separate round-trip spread capture from inventory revaluation. The completion of a buy and a sell at favorable prices can generate revenue, while an unfinished inventory position remains exposed to event information.

A simple expected-spread worksheet subtracts expected adverse movement and fees. It omits queue priority, cancellations and partial fills; these belong in the next execution model. Inventory limits should apply to actual holdings and live orders.

E[Π]=N(s−ℓ−c)
Model assumptions, derivation and arithmetic

Quoting revenue and adverse selection

  1. Measure average achieved sale-minus-purchase spread per completed pair.
  2. Estimate adverse marking loss on the same event and time convention.
  3. Subtract per-pair costs and multiply by completed pairs, keeping unfinished inventory separate.
Work it by hand

100 completed pairs, captured spread $.04, adverse loss $.025 and fees $.005: net expectation 100×.01=$1.

Apply it in a strategy

  • Evaluate whether quoting compensation covers information risk and costs rather than counting the displayed spread.
  • Record the input timestamp, executable quantity, currency and horizon. Reconcile the result with a cash-flow or state table.
  • Stress this failure condition: Completed-pair selection can omit the worst stranded inventory; contemporaneous mark choice can hide adverse selection.

Research deliverable

Build and explain a quoting revenue and adverse selection worksheet. Evaluate whether quoting compensation covers information risk and costs rather than counting the displayed spread.

Evidence boundary: Synthetic arithmetic and scenarios illustrate mechanics. They are not historical returns, a paper replication, or evidence of an executable edge. Research sources and their access limitations are recorded at the end of this module.

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

# Python 3.10+; standard library unless NumPy is imported below.
# Inputs and outputs use the units defined in this lesson. Synthetic teaching example.
def maker_expectancy(pairs,spread,adverse,fees):
    if min(pairs,adverse,fees)<0: raise ValueError("Invalid cost inputs")
    return pairs*(spread-adverse-fees)

print(maker_expectancy(100,.04,.025,.005))

Continue learning

Prediction Strategies: Logic, Sizing and Market Making — all lessons
  1. Complete-set purchases and redemption
  2. Subset relations and executable bounds
  3. Bounds for joint and union events
  4. Binary Kelly sizing and estimation error
  5. Decision buffers for probability uncertainty
  6. Quoting revenue and adverse selection
  7. Event overlap and portfolio variance
  8. Evaluate the decision process, including failed fills

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations