Skip to content

Instantly share code, notes, and snippets.

@yongkangc
Created January 30, 2026 12:00
Show Gist options
  • Select an option

  • Save yongkangc/b4e9aa4612a9d8e8b420ef63065d2d4f to your computer and use it in GitHub Desktop.

Select an option

Save yongkangc/b4e9aa4612a9d8e8b420ef63065d2d4f to your computer and use it in GitHub Desktop.
Market Maker Spread Tightening Diagram

Market Maker Spread Tightening

flowchart LR
    subgraph before["Before MM Enters"]
        direction TB
        B1["Best Bid: $0.45"]
        A1["Best Ask: $0.70"]
        S1["Spread: $0.25 (25%)"]
    end
    
    subgraph after["After MM Enters"]
        direction TB
        B2["Best Bid: $0.57 ← MM"]
        A2["Best Ask: $0.63 ← MM"]
        S2["Spread: $0.06 (6%)"]
    end
    
    before --> MM((Market Maker<br/>Fair Value: $0.60)) --> after
    
    classDef dark fill:#1a1a2e,stroke:#00d9ff,color:#fff
    classDef mm fill:#2d4a3e,stroke:#4ade80,color:#fff
    class before,after dark
    class MM mm
Loading

How Market Makers Tighten Spreads

  1. Before: Only passive retail orders — wide spread, low liquidity
  2. MM computes fair value (e.g., $0.60 from CEX + Black-Scholes)
  3. MM posts aggressive quotes inside the existing spread (bid $0.57, ask $0.63)
  4. After: Tighter spread, better prices for everyone

The market maker is willing to quote closer to fair value than retail because they have better pricing information. Traders get better execution, MM collects the spread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment