Training Guide¶
Welcome to the EduMatcher self-study training programme. This hands-on guide takes you from a cold start to confidently operating every major feature of the exchange.
If you are new to finance we strongly recommend you start by reading How an Exchange Works, a non-technical introduction to the core components and data flows in an exchange. It will make the training exercises more intuitive and meaningful.
How to Use This Guide¶
The 29 chapters (00–28) are one continuous sequence, not independent modules. Every chapter's own "Prerequisites" section names the chapters it needs, and in every case but two that is simply "everything before it." There is no reordering the sequence — if you only need part of what the exchange does, the right move is to work through it from chapter 00 and stop when you've covered what you need, not to skip ahead. Choose Your Path below tells you where a given goal lets you stop.
Every chapter states its prerequisites and links the user-guide sections that back it. Read those first if the topic is new to you; use them afterwards as the reference.
What you need¶
- EduMatcher installed. Any of the routes in Installation works. Chapter 00 walks through them and helps you pick.
- Several terminals. The exchange is a set of processes, and this guide
asks you to watch them side by side. A multiplexer (
tmux,screen) or split panes helps, but separate windows are fine. - Basic YAML and command line. No finance background is assumed.
The two consoles¶
This is the one thing worth knowing before Chapter 00, because mixing them up is the most common early mistake:
pm-alf-console |
pm-admin |
|
|---|---|---|
| You are | a trader | the exchange operator |
| Prompt shown in this guide | [TRADER01]> |
[GW_ADMIN\|ADMIN]> |
| Typical commands | NEW, AMEND, CANCEL, STATUS, ORDERS, POS, QUOTE, QLEGS |
BOOK, HALT_SYM, CANCEL_SYM, KILL\|GW=, SESSION\|STATE=, GATEWAYS |
| Can see the whole order book | No | Yes |
A prompt containing |ADMIN]> always means the pm-admin terminal. Anything
else is a trader console. Commands are not interchangeable between them —
a BOOK typed into a trader console just answers Unknown command.
Conventions¶
[TRADER01]>— type this at that trader console's prompt.[GW_ADMIN|ADMIN]>— type this at the operator console's prompt.- A plain
$or a bare command — type this in a normal shell. [output]— expected output; exact wording may vary between versions.- — a checkpoint. Verify it before moving on; if it fails, the next exercise will not behave as described.
Choose Your Path¶
You do not have to complete all 29 chapters in one sitting. Because each chapter only assumes the ones before it, picking a goal below just means working through the sequence from chapter 00 and stopping where shown — everything up to that point is genuine prerequisite for what follows, so skipping ahead is not a shortcut, it just means an exercise stops working.
flowchart LR
Start(["Why are you\nhere?"]) --> Trader["Learn to trade"]
Start --> Operator["Run or operate a\nclassroom exchange"]
Start --> Everything["Cover it all,\nincluding external\nprotocols"]
Trader --> T1["Chapters 00 → 08"]
T1 --> TDone(["Placing, amending,\ncancelling orders;\nauctions and TIFs"])
Operator --> O1["Chapters 00 → 19"]
O1 --> ODone(["Liquidity, risk\ncontrols, P&L, a full\nsession, admin tools"])
Everything --> E1["Chapters 00 → 28\nin order"]
E1 --> EDone(["Everything above, plus\nALF, BALF, CALF, RALF,\nREST/WebSocket, and\nthe market index"])
style Start fill:#4a5568,stroke:#2d3748,color:#fff
style TDone fill:#2f855a,stroke:#276749,color:#fff
style ODone fill:#2f855a,stroke:#276749,color:#fff
style EDone fill:#2f855a,stroke:#276749,color:#fff
| Your goal | Work through chapters | What you'll have |
|---|---|---|
| Learn to trade — place, amend, and cancel orders; understand fills, TIFs, order types, and auctions | 00–08 | Everything a working trader needs day to day |
| Run or operate a classroom exchange — liquidity, risk controls, P&L, a full session, admin tools | 00–19 | Everything above, plus the operator's toolkit |
| Cover everything, including external protocols — bots and systems that talk to the exchange over ALF, BALF, CALF, RALF, REST, or WebSocket | 00–28 | The full training programme |
There are two shortcuts worth knowing about: chapter 25
(the market index) only needs chapters 00–03, so if all you want is
pm-index, you can jump to it early instead of working through the whole
sequence — see the note at the end of Part 5. And
chapter 28 (IPO valuation) needs only
chapter 00 for its first six exercises; the last one also needs 00–03 and 07.
Training Plan¶
The chapter numbers below are the order to work through them in — they are grouped into five parts purely so you can find a topic quickly by browsing, but a part is not a self-contained unit: some parts' chapters are spread across the real sequence, interleaved with other parts.
flowchart LR
subgraph seq["The real order (chapter numbers)"]
direction LR
g1["00–03\nFoundations"] --> g2["04–08\nTrading mechanics"]
g2 --> g3["09–10\nLiquidity"]
g3 --> g4a["11–13\nOperating"]
g4a --> g4b["14\nLiquidity"]
g4b --> g4c["15–19\nOperating"]
g4c --> g5a["20\nExternal"]
g5a --> g3b["21\nLiquidity"]
g3b --> g5b["22–27\nExternal"]
g5b --> g4d["28\nOperating"]
end
Each row links to the lesson. The last column is the user-guide reading that backs it — skim it before the chapter, or use it afterwards as the reference.
Part 1 — Foundations¶
| # | Chapter | You will be able to | Pre-reading |
|---|---|---|---|
| 00 | Installation & Setup | Install EduMatcher and know where its files live | Installation, A Path Through the Guide |
| 01 | Configuring & Starting Up | Author, verify, deploy a configuration; start the engine, scheduler and both consoles | Configuration, Config Verifier, Running the Exchange |
| 02 | Setting Up Market-Maker Liquidity | Seed a two-sided book so there is something to trade against | Market Making, Market-Maker Bot |
| 03 | The First Trade | Submit orders, read fills, follow an order's lifecycle | ALF Console, Order Types |
Part 2 — Trading mechanics¶
| # | Chapter | You will be able to | Pre-reading |
|---|---|---|---|
| 04 | Amending Orders | Change price and quantity, and predict the effect on queue priority | Order Amendment |
| 05 | Order Types Deep Dive | Use MARKET, STOP, STOP_LIMIT, FOK, IOC, ICEBERG and TRAILING_STOP | Order Types |
| 06 | Time-in-Force & Sessions | Choose a TIF and predict how each session phase treats it | Auctions & Scheduling |
| 07 | Auctions | Run an auction and compute the equilibrium price by hand | Auctions & Scheduling — Equilibrium price |
| 08 | Cancelling & Managing Orders | Inspect and cancel resting orders; use the operator's bulk-cancel tools | ALF Console, Exchange Commands |
Part 3 — Liquidity and automation¶
| # | Chapter | You will be able to | Pre-reading |
|---|---|---|---|
| 09 | Market Making | Run a two-sided quote by hand and inspect its legs | Market Making |
| 10 | Combo Orders | Submit multi-leg and OCO orders, and reason about leg risk | Combo Orders |
| 14 | AI Traders & Swarm | Generate realistic order flow for a demo or class | AI Traders |
| 21 | Automation & MM Bot Tuning | Script operator workflows and tune pm-mm-bot |
Exchange Commands, Market-Maker Bot |
Part 4 — Operating the exchange¶
| # | Chapter | You will be able to | Pre-reading |
|---|---|---|---|
| 11 | Risk Controls | Configure and trigger collars, circuit breakers, halts and the kill switch | Risk Controls |
| 12 | P&L & Clearing | Read positions, VWAP cost and realized/unrealized P&L | P&L & Clearing |
| 15 | Statistics & Reporting | Query OHLCV, trades and snapshots for analysis | Statistics and Reporting |
| 16 | Persistence & Recovery | Say what survives a restart, and verify it | Persistence, Audit Trail |
| 17 | Capstone Scenario | Run a full session end to end, combining everything above | Running the Exchange |
| 18 | Exchange Observer Processes | Compare the book, tape, order monitor, audit trail, stats and clearing views side by side | Processes |
| 19 | Advanced Admin Operations | Use KICK, QCANCEL, CANCEL_SYM and manual session overrides |
Exchange Commands |
| 28 | IPO Valuation | Price an IPO, then list it and let the opening auction judge the price | IPO Valuation, Listing a New Symbol |
Part 5 — External connectivity (integration track)¶
These chapters are about connecting other software to the exchange over its wire protocols and APIs.
| # | Chapter | You will be able to | Pre-reading |
|---|---|---|---|
| 13 | Market Data & Drop Copy | Explain the market-data and drop-copy feeds and watch them | Drop Copy, DC Gateway |
| 20 | Drop-Copy Replay & Recovery | Detect sequence gaps and recover a consumer | Drop Copy — Replay |
| 22 | RALF Post-Trade Protocol | Write a clearing, drop-copy or audit consumer | RALF Gateway, RALF Protocol |
| 23 | CALF Market-Data Protocol | Write a market-data consumer with snapshots and replay | CALF Gateway, CALF Protocol |
| 24 | API Gateway REST/WebSocket | Trade and query over REST, and stream over WebSocket | API Gateway, REST API Reference |
| 25 | Market Index (pm-index) |
Run an index and apply corporate actions without disturbing its level | Market Index, Index Admin CLI |
| 26 | ALF TCP Gateway | Speak ALF over a raw socket | ALF Gateway, ALF Protocol |
| 27 | BALF TCP Gateway | Speak the binary order-entry protocol | BALF Gateway, BALF Protocol |
Chapter 25 can be taken out of order
Every chapter above requires all chapters before it — except chapter 25
(Market Index), which only needs chapters 00–03. Its natural reading
partner is Statistics & Reporting
(chapter 15) — pm-index history is queried the same way. It is
numbered 25 because that is where it was written, between the API
Gateway and ALF Gateway chapters; treat the number as an ordering
convenience, not a dependency on chapters 04–24.
Chapter 28 (IPO Valuation) is the other exception: see its
Prerequisites.
Quick Reference¶
After completing the training, use the User Guide and Glossary for day-to-day reference.