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 the How an Exchange Works which is 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¶
Each chapter is a self-contained exercise session. Work through them in order — later chapters build on configuration and positions established in earlier ones.
Prerequisites:
- EduMatcher installed (
pipx install edumatcheror Poetry dev environment). - A terminal (or several) available.
- Basic familiarity with YAML and the command line.
Bonus:
- If you are familiar with a terminal multiplexer like tmux or screen, it can be helpful to run multiple processes in one window with panes. Otherwise, just open several terminal windows. All commands are designed to be run from the command line. Processes that are started often prints status information to the terminal (in addition to data log files) so you can see activity in real time.
Conventions:
pm-engine>— text you type in the engine terminal.GW01>— text you type in a gateway terminal.[output]— expected output from the system (may vary slightly).- — exercise checkpoint; verify before continuing.
Training Plan¶
| # | Chapter | Topics |
|---|---|---|
| 00 | Installation & Setup | PyPI install, pm-setup, environment variables, data directory |
| 01 | Configuring & Starting Up | engine_config.yaml, symbols, gateways, starting pm-engine & pm-scheduler |
| 02 | Setting Up Market-Maker Liquidity | Market-maker role, manual quotes, QLEGS, and pm-mm-bot workflow |
| 03 | The First Trade | BUY/SELL limit orders, fills, order book basics |
| 04 | Amending Orders | AMEND command, price/qty changes, priority rules |
| 05 | Order Types Deep Dive | MARKET, STOP, FOK, IOC, ICEBERG, TRAILING_STOP |
| 06 | Time-in-Force & Sessions | DAY, GTC, ATO, ATC; session phases; scheduled transitions |
| 07 | Auctions | Opening/closing auctions, equilibrium price, ATO/ATC orders |
| 08 | Cancelling & Managing Orders | CANCEL, STATUS, ORDERS; managing resting order book |
| 09 | Market Making | QUOTE command, inactivation policies, obligations, QLEGS |
| 10 | Combo Orders | Multi-leg atomic fills, OCO, leg risk |
| 11 | Risk Controls | pm-admin, pm-admin-cli, price collars, circuit breakers, HALT/RESUME, kill switch |
| 12 | P&L & Clearing | Positions, VWAP, realized/unrealized P&L |
| 13 | Market Data & Drop Copy | CALF feed, drop-copy, subscribing to book/trade events |
| 14 | AI Traders & Swarm | pm-ai-trader, pm-ai-swarm, personality profiles, classroom demos |
| 15 | Statistics & Reporting | pm-stats, pm-stats-cli, OHLCV, VWAP queries |
| 16 | Persistence & Recovery | data directory, GTC persistence, stats.db, audit logs |
| 17 | Capstone Scenario | full exchange session combining all major features |
| 18 | Exchange Observer Processes | pm-viewer, pm-board, pm-ticker, pm-orders, pm-audit, pm-stats, pm-clearing |
| 19 | Advanced Admin Operations | kick, qcancel, cancel-sym, session overrides, verification patterns |
| 20 | Drop-Copy Replay & Recovery Patterns | sequence-gap detection, replay limits, operational recovery workflow |
| 21 | Automation with CommandClient & MM Bot Tuning | Python automation flows, admin orchestration, advanced pm-mm-bot runtime tuning |
| 22 | RALF Post-Trade Gateway Protocol | pm-ralf-gwy, RALF handshake/subscriptions, role-based consumers, replay and recovery |
| 23 | CALF Market-Data Gateway Protocol | pm-md-gwy, CALF handshake/subscriptions, snapshots, replay and recovery |
| 24 | API Gateway REST/WebSocket | pm-api-gwy, bearer tokens, REST endpoints, WebSocket streams, multi-instance split |
| 25 | Market Index (pm-index) | Index config, cap-weighted formula, divisor, corporate actions, INDEX command, pm-index-cli |
| 26 | ALF TCP Gateway Protocol | pm-alf-gwy, port verification with CLI tools, nc/telnet handshake, Python and C example clients, order lifecycle over raw TCP |
| 27 | BALF TCP Gateway Protocol | pm-balf-gwy, binary LOGON/LOGON_ACK session flow, raw frame order lifecycle, heartbeat handling, parser validation |
User Guide Cross-Reference by Chapter¶
Use these links when you want the authoritative user-guide section behind each training chapter.
Quick Reference¶
After completing the training, use the User Guide and Glossary for day-to-day reference.