ores.trading.api

Table of Contents

Diagram

ores.trading.api component diagram

Figure 1: ores.trading.api

Summary

ores.trading.api is a header-only library that defines the shared contract for the trading domain. It provides all instrument and trade domain types (~30 instrument categories across rates, FX, equity, credit, and scripted products), JSON and formatted-table I/O generated via the rfl reflection library, and the NATS message protocol schemas (request/response pairs for every operation in the 0x5000–0x5FFF range). Both ores.trading.core (the server) and Qt client components depend on this library.

Inputs

  • Upstream domain definitions: instrument type headers under domain/.
  • Protocol schema definitions: message type headers under messaging/.

Outputs

  • C++ headers for all trading domain types with JSON and table serialisation: domain/trade.hpp, domain/bond_instrument.hpp, etc.
  • NATS protocol headers: messaging/trade_protocol.hpp, messaging/instrument_protocol.hpp, and per-instrument variants.
  • Enumeration types with JSON/table I/O: activity_type, trade_type, business_day_convention_type, day_count_fraction_type, etc.

Entry points

  • include/ores.trading.api/domain/ — all domain entity headers.
  • include/ores.trading.api/messaging/ — all NATS protocol message headers.
  • include/ores.trading.api/export.hpp — DLL-export macro.

Dependencies

  • rfl — JSON serialisation and table output via C++ reflection.
  • fort — formatted table rendering.

See also

Emacs 29.1 (Org mode 9.6.6)