Trading Dev AcademyFree quant education

Free lesson · Execution & microstructure

Capacity is where alpha meets market impact

Open interactive lessonPractice calculationsExplore labs

Start with the idea

Capacity asks how an edge changes as more capital tries to trade it. Impact, opportunity cost and financing often grow with size, so scaling a profitable small trade is not simply multiplication.

Symbols, units & horizon
  • Q: positive order-size magnitude
  • V: market volume over the matching horizon
  • Q/V: participation fraction
  • Y: calibrated impact coefficient
  • σ: return volatility on the volume horizon
  • impact(Q): adverse fractional price effect
  • Gross forecast, fees, spread, financing: same-horizon return fractions
  • e: residual edge budget after non-impact expenses
  • Q*: algebraic break-even size under the assumed impact curve

When and why to use this

Use a calibrated cost curve to set participation limits and reject allocations whose expected benefit disappears at executable size.

impact(Q)≈YσQV,participation=QV
Empirical model + algebraic inversion

Invert an assumed square-root impact curve

  1. Participation q=Q/V is dimensionless. Under I=Yσq, divide by Yσ and square to get q=(I(Yσ))2.
  2. Then Q=V(I(Yσ))2. Hold the horizon and calibration fixed when interpreting size sensitivity.
Work it by hand

If impact is 4 bp at a reference size, four times that size gives 8 bp in the model. A 12 bp budget permits nine times the reference size.

This square-root impact relation is an empirical approximation, not a universal execution law. Q is order size, V is market volume over a stated reference horizon, σ is volatility over a compatible horizon, and Y is calibrated from relevant executions. Impact estimates vary with urgency, liquidity, venue, and market conditions.

net edge(Q)=gross forecast−fees−spread−impact(Q)−financing
Algebra and arithmetic

Solve an after-cost capacity boundary

  1. Let a be gross forecast and c fixed non-impact costs. Net edge is a−c−YσQV.
  2. Set net edge to zero and isolate Q: Q∗=V[(a−c)(Yσ)]2 if a>c. If a≤c, no positive size is justified by this model.
Work it by hand

Gross 20 bp, fixed costs 8 bp and reference impact 4 bp gives break-even multiplier [(20−8)/4]²=9, before uncertainty.

Every term is expressed as a return per dollar traded over the intended holding horizon. If the gross forecast does not grow with order size but impact does, scaling capital eventually erases the edge. More capital can increase dollar profit while reducing return on capital, until the cost curve overwhelms the signal.

  • Fit cost curves by size bucket and volatility regime; do not extrapolate from tiny orders without a margin for uncertainty.
  • Stress lower volume, wider spread, slower execution, and borrow withdrawal together.
  • Set participation and position-liquidation limits before choosing the capital allocation.

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.

def square_root_impact(quantity, market_volume, volatility, coefficient):
    if quantity < 0 or market_volume <= 0 or min(volatility,coefficient)<0:
        raise ValueError("Invalid impact inputs")
    return coefficient*volatility*(quantity/market_volume)**.5

def capacity_boundary(gross_edge, fees, spread, financing, volume, vol, coefficient):
    """Model break-even, not a safe order-size recommendation."""
    if min(volume,vol,coefficient) <= 0:
        raise ValueError("Positive volume, volatility and coefficient required")
    budget = gross_edge-fees-spread-financing
    return 0 if budget <= 0 else volume*(budget/(coefficient*vol))**2

print(capacity_boundary(.003,.0002,.0005,.0001,1e6,.02,.5))

Continue learning

Execution & Market Microstructure — all lessons
  1. The spread is a price for immediacy
  2. Measure implementation shortfall
  3. Capacity is where alpha meets market impact
  4. Make the order lifecycle auditable

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