Example Engine Configs¶
Learning objectives
After reading this chapter you will understand:
- which ready-to-use engine configuration templates are available under
docs/examples/ref_data - how those templates were generated
- how the different book-count and setup profiles are intended to be used in training scenarios
Scope¶
The docs/examples/ref_data tree contains generated engine_config.yaml templates that can be used directly for training and workshop exercises.
These reference configs are organized by book count and setup profile:
one-book-basic-setupone-book-nominal-setupone-book-complex-setupthree-books-basic-setupthree-books-nominal-setupthree-books-complex-setupten-books-basic-setupten-books-nominal-setupten-books-complex-setupthirty-books-basic-setupthirty-books-nominal-setupthirty-books-complex-setup
Each directory contains a small generator script, mkrefdata.sh, and the resulting engine_config.yaml.
How they are generated¶
The example configs are produced by running mkrefdata.sh in each profile directory. The scripts invoke pm-config-gen with the appropriate symbol set and gateway layout, then apply a small amount of profile-specific post-processing where needed.
In practice this means:
- the engine config structure is generated by the same config generator used elsewhere in the project
- RALF and CALF gateway sections are emitted natively by
pm-config-gen - every symbol includes
outstanding_sharesdata for statistics and future index-style consumers - the basic profiles use
--seed-mm-mid-rangeand--seed-last-prices-from-mmso each book starts with a reproducible bootstrap market-maker quote and matching last-price references - the nominal and complex profiles include richer session, risk, clearing, and market-data settings
- complex profiles define a fuller trader set and market-maker bootstrap inputs for more involved scenarios
Several of the generator scripts accept --seed so the bootstrap prices can be reproduced when needed.
Training usage¶
These templates are ready to use in training scenarios as soon as they are generated.
- Basic profiles are suitable for first-touch configuration, startup, and book-entry exercises.
- Nominal profiles are suitable for normal trading-day walkthroughs with market-data and post-trade enabled.
- Complex profiles are suitable for advanced training that combines multiple traders, market-making, scheduling, risk controls, and market-data scenarios.
For example, a training session can start from one of the generated engine_config.yaml files instead of assembling a config manually.
Related material¶
- Reference data templates live under
docs/examples/ref_data - Protocol support examples: Protocol Support Library Examples
- Installation and setup training: 00 — Installation & Setup