Skip to content

EduMatcher, Educational Trading System

EduMatcher is a multi-process Python trading simulator for learning how exchanges work in practice. It helps you build intuition for order matching, market microstructure, and exchange architecture through a runnable system.

Order book illustration Figure 1: The Exchange with Order Books and the Central Matching Engine (CME).

Start Here

If you are new to exchanges, start with:

  1. How an Exchange Works. This is a rather large book so for the first you should restrict the reading to Part I & II. The rest can be saved for when you need it.
  2. Getting Started. This will help you install EduMatcher.
  3. The Order Book. It cannot be overstated how important it is to thoroughly understand the concept of the Order Book
  4. Your First Trade. Getting your feet wet before you run the exchange

If you are already familiar with trading, use this quick routing table:

If you are... Read this first Then continue with
Hands-on user / instructor Getting Started Configuration -> Running the Engine -> Processes
Developer extending the system Architecture Overview Architecture Walkthrough -> Messages -> Developer Info
Protocol reader Protocol Overview Choose protocol appendix and examples from there
flowchart TD
  A[New Reader] --> B{New to exchange concepts?}
  B -->|Yes| C[How an Exchange Works]
  B -->|No| D[Getting Started]
  C --> D
  D --> E{Goal?}
  E -->|Run first session| F[Running the Engine]
  E -->|Understand mechanics| G[Concepts]
  E -->|Operate a class demo| H[Processes + Scheduling]
  E -->|Integrate protocols| I[Protocol Overview]

Next step: Open Getting Started and pick either VM bootstrap or pipx install mode.

What This System Models

In a real exchange, buy and sell orders meet in an order book managed by a matching engine. EduMatcher reproduces that stack as separate processes communicating over a message bus, with all key behavior visible for learning and experimentation.

flowchart TD
  GW1[Your terminal<br/>pm-alf-console]
  ENG[Matching engine<br/>pm-engine]
  GW2[Other participants<br/>other pm-alf-consoles]
  VIEW[pm-viewer<br/>live order book]
  CLR[pm-clearing<br/>P&L accounting]
  AUD[pm-audit<br/>full event log]

  GW1 --> ENG
  GW2 --> ENG
  ENG -->|broadcasts trades and fills| VIEW
  ENG -->|broadcasts trades and fills| CLR
  ENG -->|broadcasts trades and fills| AUD

A trade occurs when orders cross, and matching follows price-time priority. Better prices execute first; at the same price, earlier orders execute first.

Next step: Read The Order Book to connect this model to concrete matching behavior.

Reading Path (Beginner-Friendly)

  1. How an Exchange Works
  2. Getting Started
  3. The Order Book
  4. Your First Trade
  5. P&L and Clearing
  6. A Full Trading Day

Next step: Complete steps 1 to 4 first, then run a session and return for steps 5 and 6.

Installation

See User Guide: Installation

Note: Running an exchange is an inherent complex task and unfortunately it is only so much that can be simplified. However, going throught the user guide and training material should give a great start!

Self Paced Training

The Training Manual is a chapter-based, self-paced track for hands-on learning. It complements the User Guide by turning concepts into guided exercises that you can run step by step.

If you want direct entry points, start with:

Next step: Use Training Index as your checklist and cross-reference each chapter with the matching User Guide section.

Next Stops