fivenines
2/39
Lesson 0.2

The full requirements map

What you'll learn

The complete functional surface of the exchange we're building — the checklist Part 1 will implement.

Building on

Lesson 0.1's four jobs. Each branch below hangs off one of them, plus a fifth: the machinery of trust (risk, surveillance, reference data).

Most "build an exchange" write-ups cover only the matching engine. That's perhaps a fifth of the system. Here is the whole map — skim it now, and return to it whenever you want to know where a lesson fits:

mindmap
  root((Exchange))
    Order intake
      Accounts and onboarding
      Sessions and connectivity
      Order entry, cancel, modify
      Pre-trade risk checks
    Matching
      Central limit order book
      Price-time priority
      Order types and time in force
      Auctions open and close
      Halts and circuit breakers
    Market data
      Top of book L1
      Depth of book L2
      Every event L3
      Delayed and historical
    Post-trade
      Trade capture
      Clearing and netting
      Settlement T+1
      Custody ledger
    Trust
      Surveillance
      Audit trail
      Reference data
      Regulatory reporting
    
The functional requirements map. Part 1 gives every branch at least one lesson; the deepest branches (matching, market data) get several.

Two observations to carry forward. First, the branches have wildly different consistency needs: matching must be perfectly ordered and deterministic; surveillance can lag by minutes. Second, they have wildly different availability needs — a theme Part 3 turns into a design method: spend your reliability budget where an outage stops trading, not where it delays a report.

Key ideas
  • The matching engine is the heart, but only ~20% of the system.
  • Different branches need different consistency and availability — exploit that.
Next step

See what actually stuck.

Take the practice scenarios now.