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

Bond instrument economics for Bond, ForwardBond, CallableBond, ConvertibleBond, and BondRepo trades. More...

#include <bond_instrument.hpp>

Collaboration diagram for bond_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 id
 UUID uniquely identifying this bond instrument.
 
std::string trade_type_code
 ORE product type code (Bond, ForwardBond, CallableBond, ConvertibleBond, BondRepo, BondFuture, BondOption, BondTRS, BondPosition, Ascot).
 
std::string issuer
 Name of the bond issuer.
 
std::string currency
 ISO 4217 currency code (e.g. USD).
 
double face_value = 0.0
 Face (notional) value of the bond.
 
double coupon_rate = 0.0
 Annual coupon rate as a decimal (e.g. 0.05 for 5%).
 
std::string coupon_frequency_code
 Payment frequency code (e.g. Annual, SemiAnnual, Quarterly).
 
std::string day_count_code
 Day count convention code (e.g. Actual365Fixed, Thirty360).
 
std::string issue_date
 Issue date (ISO 8601 date string, e.g. 2026-01-15).
 
std::string maturity_date
 Maturity date (ISO 8601 date string, e.g. 2036-01-15).
 
int settlement_days = 0
 Optional number of settlement days. Zero means not specified.
 
std::string call_date
 Optional call date for callable bonds (ISO 8601). Empty for non-callable products.
 
double conversion_ratio = 0.0
 Optional conversion ratio for convertible bonds. Zero for non-convertible products.
 
std::string description
 Optional free-text description.
 
std::string modified_by
 Username of the person who last modified this record.
 
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.
 
std::string future_expiry_date
 Delivery date for BondFuture. Empty for other types.
 
std::string option_type
 Option type for BondOption: "Call" or "Put". Empty otherwise.
 
std::string option_expiry_date
 Option expiry date for BondOption (ISO 8601). Empty otherwise.
 
std::optional< double > option_strike
 Option strike as clean price for BondOption. Null when not set.
 
std::string trs_return_type
 Return type for BondTRS: "TotalReturn" or "PriceReturn". Empty otherwise.
 
std::string trs_funding_leg_code
 Funding leg floating index code for BondTRS. Empty otherwise.
 
std::string ascot_option_type
 ASCOT option type. Empty for non-Ascot products.
 

Detailed Description

Bond instrument economics for Bond, ForwardBond, CallableBond, ConvertibleBond, and BondRepo trades.

Discriminated by trade_type_code. Optional fields (call_date, conversion_ratio) are empty/zero for non-applicable product types.