ores.trading.callable_swap_instrument
Table of Contents
Represents a callable interest rate swap where one party has the right to terminate the swap early on specified call dates.
Flags
Primary key
UUID uniquely identifying this callable swap instrument.
Surrogate key for the instrument record.
Natural keys
Columns
trade_type_code
Trade type code (soft FK to ores_trading_trade_types_tbl).
std::string("CallableSwap")
party_id
Party that owns this instrument.
Set from session variable app.current_party_id.
trade_id
Optional soft FK to the parent trade.
Links instrument to a trade if applicable.
start_date
Swap effective start date.
ISO 8601 date string (YYYY-MM-DD).
std::string("2024-01-15")
maturity_date
Swap maturity date.
Must be after start_date.
std::string("2029-01-15")
call_dates_json
Optional JSON array of call dates.
ISO 8601 date strings when the party may exercise the call option.
call_type
Optional call type: Bermudan or One-Time.
Bermudan allows multiple call dates; One-Time allows exactly one.
description
Optional free-text description.
Human-readable notes about this instrument.
SQL
Flags
C++
The C++ domain class is decomposed into nested sub-structs (the C1202
pattern from PRs #1047/#1071/#1075/#1083/#1085): the implicit scaffolding
columns (version, tenant_id, workspace_id, the primary key) and the
columns marked :group: identity below fold into an
instrument_identity identity; member (see the
ores.trading.instrument_identity field-group model), the implicit audit
columns fold into an ores::dq::domain::audit_record audit; member (see
the ores.dq.audit_record field-group model), and the remaining columns
stay flat in between. The SQL schema, DB entity and column lists are
unaffected — only the domain class and the mapper's domain-side accesses
nest. The entity templates consume these annotations; domain and
repository profiles regenerate correctly.
Flags
Repository
Domain includes
#include <chrono> #include <string>
Conventions
Custom repository methods
See also
- ores.trading — component group overview.