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

Equity instrument economics for all equity ORE product types. More...

#include <equity_instrument.hpp>

Collaboration diagram for equity_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 equity instrument.
 
std::string trade_type_code
 ORE product type code (EquityOption, EquitySwap, etc.).
 
std::string underlying_code
 Underlying equity identifier (ticker/symbol, e.g. ".SPX", "AAPL").
 
std::string currency
 ISO 4217 currency code.
 
double notional = 0.0
 Contract notional or equity value.
 
double quantity = 0.0
 Number of shares or contracts. Used for position products.
 
std::string start_date
 Start date for swaps, accumulators, and similar products.
 
std::string maturity_date
 Maturity/expiry date for options, swaps, and forwards.
 
std::string option_type
 Option type: 'Call' or 'Put'. Empty for non-option products.
 
double strike_price = 0.0
 Option strike price. Zero for non-option products.
 
std::string exercise_type
 Exercise type: 'European', 'American', or 'Bermudan'.
 
std::string barrier_type
 Barrier type: e.g. 'UpIn', 'UpOut', 'DownIn', 'DownOut'.
 
double lower_barrier = 0.0
 Lower barrier level. Zero when not applicable.
 
double upper_barrier = 0.0
 Upper barrier level. Zero when not applicable.
 
std::string average_type
 Averaging type for Asian options: 'Arithmetic' or 'Geometric'.
 
std::string averaging_start_date
 Start of the averaging window for Asian options.
 
double variance_strike = 0.0
 Strike variance for variance swap products. Zero when not applicable.
 
std::string cliquet_frequency_code
 Payment frequency code for cliquet options. Empty when not applicable.
 
double accumulation_amount = 0.0
 Per-fixing accumulation amount for accumulator products.
 
double knock_out_barrier = 0.0
 Knock-out barrier level for accumulator products.
 
std::string basket_json
 JSON array of {code, weight} constituents for basket/rainbow products.
 
std::string day_count_code
 Day count fraction code for swap products.
 
std::string payment_frequency_code
 Payment frequency code for swap products.
 
std::string return_type
 Equity return type for swap products: 'TotalReturn' or 'PriceReturn'.
 
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.
 

Detailed Description

Equity instrument economics for all equity ORE product types.

Discriminated by trade_type_code. Optional fields are empty/zero when not applicable to the specific sub-type: option_type/strike_price/exercise_type: all EquityOption* products barrier_type/lower_barrier/upper_barrier: EquityBarrierOption and variants average_type/averaging_start_date: EquityAsianOption variance_strike: EquityVarianceSwap and variants cliquet_frequency_code: EquityCliquetOption accumulation_amount/knock_out_barrier: EquityAccumulator, EquityTaRF basket_json: EquityBasketOption, EquityRainbowOption, EquityWorstOfBasketSwap day_count_code/payment_frequency_code/return_type: EquitySwap, TotalReturnSwap quantity: EquityPosition, EquityOptionPosition