Products
Exotic - FX Digital Option
Exotic - FX Digital Option Documentation
Overview
The Exotic_FXDigitalOptionCDMMapper class is responsible for mapping FpML (Financial Products Markup Language) FX Digital Options to the ISDA Common Domain Model (CDM) format. A digital option (also known as a binary option) pays out a fixed amount if certain conditions are met at expiry.
Key ISDA CDM Structures
The following key ISDA CDM structures are important for this mapper:
-
Trade - The top-level container for trade information
- Contains trade date, identifiers, parties, and tradable product
-
TradeIdentifier - Identifies the trade uniquely
- Contains issuer and identifier values
-
TradableProduct - Represents the tradable product
- Contains product information and counterparty details
-
OptionPayout - Represents the digital option terms
- Contains exercise terms, expiration details, and payout conditions
-
ExerciseTerms - Defines when and how the option can be exercised
- Contains exercise style (European) and expiration details
-
EuropeanExercise - Specifies European exercise style details
- Contains expiration date and time
-
BusinessCenterTime - Defines the expiration time details
- Contains time and business center information
FpML to CDM Mapping
Main Mapping Structures
| FpML Element/Structure | CDM Class/Structure | Context |
|---|---|---|
<trade> | Trade | Top-level trade container |
<tradeHeader> | Fields in Trade | Contains trade date and identifiers |
<fxDigitalOption> | TradableProduct with OptionPayout | Digital option-specific information |
<europeanExercise> | EuropeanExercise in OptionStyle | Exercise terms |
<expiryTime> | BusinessCenterTime in EuropeanExercise | Expiration time details |
Detailed Element Mapping
| FpML Element | CDM Field | Parent CDM Class | Type |
|---|---|---|---|
<tradeDate> | tradeDate.value | Trade | Date |
<partyTradeIdentifier>/<tradeId> | tradeIdentifier[].assignedIdentifier[].identifier.value | Trade | String |
<buyerPartyReference> | payerReceiver.payer | OptionPayout | CounterpartyRoleEnum |
<sellerPartyReference> | payerReceiver.receiver | OptionPayout | CounterpartyRoleEnum |
<expiryDate> | expirationDate.adjustableDate.unadjustedDate | EuropeanExercise | Date |
<expiryTime>/<hourMinuteTime> | expirationTime.hourMinuteTime | EuropeanExercise | String |
<expiryTime>/<businessCenter> | expirationTime.businessCenter | EuropeanExercise | String |
Special Considerations
Implementation Details
-
Exercise Style: The mapper handles European-style exercise, which means the option can only be exercised at expiration.
-
Expiration Time: The mapper processes both time and business center information for accurate expiration timing.
-
Business Center: The business center is used to determine the time zone and business day calendar for expiration.
-
Digital Payout: The mapper handles the fixed payout amount that occurs if the option expires in-the-money.
-
Party Roles: The mapper maintains clear buyer/seller relationships which determine who pays and receives the digital payout.