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

FX Digital Option instrument. More...

#include <fx_digital_option_instrument.hpp>

Collaboration diagram for fx_digital_option_instrument:
Collaboration graph

Public Attributes

int version = 0
 
utility::uuid::tenant_id tenant_id = utility::uuid::tenant_id::system()
 
boost::uuids::uuid instrument_id
 UUID uniquely identifying this FX digital option instrument.
 
boost::uuids::uuid party_id
 
std::optional< boost::uuids::uuid > trade_id
 
std::string trade_type_code
 ORE product type code. One of: FxDigitalOption, FxDigitalBarrierOption, FxTouchOption, FxDoubleTouchOption.
 
std::string foreign_currency
 ForeignCurrency from ORE XML (source / underlying currency).
 
std::string domestic_currency
 DomesticCurrency from ORE XML (quote / settlement currency).
 
std::string payoff_currency
 Currency in which the payoff is denominated.
 
double payoff_amount = 0.0
 Fixed payoff amount. Must be positive.
 
std::string option_type
 Option type: Call or Put. Empty for touch options.
 
std::string expiry_date
 Option expiry date (ISO 8601 date string).
 
std::string long_short
 Position direction: Long or Short.
 
std::optional< double > strike
 Strike level. Absent for touch options.
 
std::string barrier_type
 Barrier type (e.g. DownAndIn, DownAndOut, KnockIn, KnockOut). Absent for plain digital options.
 
std::optional< double > lower_barrier
 Primary barrier level. Absent for plain digital options.
 
std::optional< double > upper_barrier
 Second barrier level for FxDoubleTouchOption.
 
std::string description
 
std::string modified_by
 
std::string performed_by
 
std::string change_reason_code
 
std::string change_commentary
 
std::chrono::system_clock::time_point recorded_at
 

Detailed Description

FX Digital Option instrument.

Routes: FxDigitalOption, FxDigitalBarrierOption, FxTouchOption (OneTouch / NoTouch), FxDoubleTouchOption.

Uses ForeignCurrency / DomesticCurrency naming to match ORE XML semantics. option_type is absent for touch products (no Call/Put distinction). strike is absent for touch products. lower_barrier / upper_barrier capture single or double barrier levels.