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

Risk Participation Agreement (RPA) instrument. More...

#include <rpa_instrument.hpp>

Collaboration diagram for rpa_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 RPA 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
 Agreement effective start date.
 
std::string maturity_date
 Agreement maturity date.
 
std::string reference_counterparty
 Identifier of the reference counterparty whose credit risk is shared.
 
double participation_rate = 0.0
 Participation rate (0, 1] representing the fraction of risk transferred.
 
std::optional< double > protection_fee = std::nullopt
 Optional protection fee paid by the buyer.
 
std::string description
 Optional free-text description.
 
std::string modified_by
 Username of the person who last modified this RPA 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

Risk Participation Agreement (RPA) instrument.

Represents a Risk Participation Agreement where one bank (protection buyer) pays a fee to another (protection seller) to assume a portion of credit risk on a reference counterparty.

Member Data Documentation

◆ instrument_id

boost::uuids::uuid instrument_id

UUID uniquely identifying this RPA 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

Agreement effective start date.

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

◆ maturity_date

std::string maturity_date

Agreement maturity date.

Must be after start_date.

◆ reference_counterparty

std::string reference_counterparty

Identifier of the reference counterparty whose credit risk is shared.

e.g., LEI code or name of the reference entity.

◆ participation_rate

double participation_rate = 0.0

Participation rate (0, 1] representing the fraction of risk transferred.

Expressed as a decimal fraction (e.g., 0.5 for 50%).

◆ protection_fee

std::optional<double> protection_fee = std::nullopt

Optional protection fee paid by the buyer.

Expressed as a decimal fraction. Must be non-negative if set.

◆ 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).