ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Attributes | List of all members
knock_out_swap_instrument Struct Referencefinal

Knock-out interest rate swap instrument. More...

#include <knock_out_swap_instrument.hpp>

Collaboration diagram for knock_out_swap_instrument:
Collaboration graph

Public Attributes

int version = 0
 Version number for optimistic locking and change tracking.
 
utility::uuid::tenant_id tenant_id = utility::uuid::tenant_id::system()
 Tenant identifier for multi-tenancy isolation.
 
boost::uuids::uuid instrument_id
 UUID uniquely identifying this knock-out swap instrument.
 
boost::uuids::uuid party_id
 Party that owns this instrument.
 
std::optional< boost::uuids::uuid > trade_id
 Optional soft FK to the parent trade.
 
std::string start_date
 Swap effective start date.
 
std::string maturity_date
 Swap maturity date.
 
double barrier_level = 0.0
 Barrier level that triggers knock-out.
 
std::string barrier_type
 Barrier type: UpOut or DownOut.
 
std::string knock_out_dates_json
 Optional JSON array of knock-out observation dates.
 
std::string description
 Optional free-text description.
 
std::string modified_by
 Username of the person who last modified this knock-out swap instrument.
 
std::string performed_by
 Username of the account that performed this action.
 
std::string change_reason_code
 Code identifying the reason for the change.
 
std::string change_commentary
 Free-text commentary explaining the change.
 
std::chrono::system_clock::time_point recorded_at
 Timestamp when this version of the record was recorded.
 

Detailed Description

Knock-out interest rate swap instrument.

Represents a knock-out interest rate swap that terminates automatically if the floating rate breaches a specified barrier level.

Member Data Documentation

◆ instrument_id

boost::uuids::uuid instrument_id

UUID uniquely identifying this knock-out swap instrument.

Surrogate key for the instrument record.

◆ party_id

boost::uuids::uuid party_id

Party that owns this instrument.

Set from session variable app.current_party_id.

◆ trade_id

std::optional<boost::uuids::uuid> trade_id

Optional soft FK to the parent trade.

Links instrument to a trade if applicable.

◆ start_date

std::string start_date

Swap effective start date.

ISO 8601 date string (YYYY-MM-DD).

◆ maturity_date

std::string maturity_date

Swap maturity date.

Must be after start_date.

◆ barrier_level

double barrier_level = 0.0

Barrier level that triggers knock-out.

Expressed as a decimal fraction.

◆ barrier_type

std::string barrier_type

Barrier type: UpOut or DownOut.

UpOut knocks out when rate rises above barrier; DownOut when it falls below.

◆ knock_out_dates_json

std::string knock_out_dates_json

Optional JSON array of knock-out observation dates.

ISO 8601 date strings for discrete barrier observation.

◆ description

std::string description

Optional free-text description.

Human-readable notes about this instrument.

◆ change_reason_code

std::string change_reason_code

Code identifying the reason for the change.

References change_reasons table (soft FK).