Skip to content

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-setup
  • one-book-nominal-setup
  • one-book-complex-setup
  • three-books-basic-setup
  • three-books-nominal-setup
  • three-books-complex-setup
  • ten-books-basic-setup
  • ten-books-nominal-setup
  • ten-books-complex-setup
  • thirty-books-basic-setup
  • thirty-books-nominal-setup
  • thirty-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_shares data for statistics and future index-style consumers
  • the basic profiles use --seed-mm-mid-range and --seed-last-prices-from-mm so 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.