FpMLv53-0.1: A binding for the Financial Products Markup Language (v5.3)

Safe HaskellSafe-Infered

Data.FpML.V53.FX

Synopsis

Documentation

newtype PointValue Source

Constrains the forward point tick/pip factor to 1, 0.1, 0.01, 0.001, etc.

Constructors

PointValue Decimal 

data CrossRate Source

A type that is used for including the currency exchange rates used to cross between the traded currencies for non-base currency FX contracts.

Constructors

CrossRate 

Fields

crossRate_currency1 :: Maybe Currency

The first currency specified when a pair of currencies is to be evaluated.

crossRate_currency2 :: Maybe Currency

The second currency specified when a pair of currencies is to be evaluated.

crossRate_quoteBasis :: Maybe QuoteBasisEnum

The method by which the exchange rate is quoted.

crossRate_rate :: Maybe PositiveDecimal

The exchange rate used to cross between the traded currencies.

crossRate_spotRate :: Maybe PositiveDecimal

An optional element used for FX forwards and certain types of FX OTC options. For deals consumated in the FX Forwards Market, this represents the current market rate for a particular currency pair.

crossRate_forwardPoints :: Maybe Decimal

An optional element used for deals consumated in the FX Forwards market. Forward points represent the interest rate differential between the two currencies traded and are quoted as a preminum or a discount. Forward points are added to, or subtracted from, the spot rate to create the rate of the forward trade.

data CutName Source

Allows for an expiryDateTime cut to be described by name.

data DualCurrencyFeature Source

Describes the parameters for a dual currency deposit.

Constructors

DualCurrencyFeature 

Fields

dualCurrenFeature_currency :: Maybe Currency

The currency in which the principal and interest will be repaid.

dualCurrenFeature_fixingDate :: Maybe Date

The date on which the decion on delivery currency will be made.

dualCurrenFeature_fixingTime :: Maybe BusinessCenterTime

Time at which the option expires on the expiry date.

dualCurrenFeature_strike :: Maybe DualCurrencyStrikePrice

The strike rate at which the deposit will be converted.

dualCurrenFeature_spotRate :: Maybe Decimal

The spot rate at the time the trade was agreed.

dualCurrenFeature_interestAtRisk :: Maybe Boolean

Specifies whether the interest component of the redemption amount is subject to conversion to the Alternate currency, in the event that the spot rate is strictly lower than the strike level at the specified fixing date and time.

data DualCurrencyStrikePrice Source

A type that describes the rate of exchange at which the embedded option in a Dual Currency Deposit has been struck.

Constructors

DualCurrencyStrikePrice 

Fields

dualCurrenStrikePrice_rate :: Maybe PositiveDecimal

The rate of exchange between the two currencies of the leg of a deal.

dualCurrenStrikePrice_strikeQuoteBasis :: Maybe DualCurrencyStrikeQuoteBasisEnum

The method by which the strike rate is quoted, in terms of the deposit (principal) and alternate currencies.

data ExchangeRate Source

A type that is used for describing the exchange rate for a particular transaction.

Constructors

ExchangeRate 

Fields

exchangeRate_quotedCurrencyPair :: Maybe QuotedCurrencyPair

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

exchangeRate_rate :: Maybe PositiveDecimal

The rate of exchange between the two currencies of the leg of a deal. Must be specified with a quote basis.

exchangeRate_spotRate :: Maybe PositiveDecimal

An element used for FX forwards and certain types of FX OTC options. For deals consumated in the FX Forwards Market, this represents the current market rate for a particular currency pair. For barrier and digital/binary options, it can be useful to include the spot rate at the time the option was executed to make it easier to know whether the option needs to move up or down to be triggered.

exchangeRate_forwardPoints :: Maybe Decimal

An optional element used for deals consumated in the FX Forwards market. Forward points represent the interest rate differential between the two currencies traded and are quoted as a preminum or a discount. Forward points are added to, or subtracted from, the spot rate to create the rate of the forward trade.

exchangeRate_pointValue :: Maybe PointValue

An optional element that documents the size of point (pip) in which a rate was quoted (or in this case, forwardPoints are calculated). Point (pip) size varies by currency pair: major currencies are all traded in points of 0.0001, with the exception of JPY which has a point size of 0.01.

exchangeRate_crossRate :: [CrossRate]

An optional element that allow for definition of the currency exchange rates used to cross between the traded currencies for non-base currency FX contracts.

data FxAmericanExercise Source

Describes the characteristics for american exercise of FX products.

Constructors

FxAmericanExercise 

Fields

fxAmericExerc_ID :: Maybe ID
 
fxAmericExerc_commencementDate :: Maybe AdjustableOrRelativeDate

The earliest date on which the option can be exercised.

fxAmericExerc_expiryDate :: Maybe Date

The latest date on which the option can be exercised.

fxAmericExerc_expiryTime :: Maybe BusinessCenterTime

Time at which the option expires on the expiry date.

fxAmericExerc_cutName :: Maybe CutName

The code by which the expiry time is known in the market.

fxAmericExerc_latestValueDate :: Maybe Date

The latest date on which both currencies traded will settle.

fxAmericExerc_multipleExercise :: Maybe FxMultipleExercise

Characteristics for multiple exercise.

data FxAsianFeature Source

Descibes the averaging period properties for an asian option.

Constructors

FxAsianFeature 

Fields

fxAsianFeature_primaryRateSource :: Maybe InformationSource

The primary source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.

fxAsianFeature_secondaryRateSource :: Maybe InformationSource

An alternative, or secondary, source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.

fxAsianFeature_fixingTime :: Maybe BusinessCenterTime

The time at which the spot currency exchange rate will be observed. It is specified as a time in a business day calendar location, e.g. 11:00am London time.

fxAsianFeature_observationSchedule :: Maybe FxAverageRateObservationSchedule

Parametric schedule of rate observations.

fxAsianFeature_rateObservation :: [FxAverageRateObservation]

One or more specific rate observation dates.

fxAsianFeature_rateObservationQuoteBasis :: Maybe StrikeQuoteBasisEnum

The method by which observed rate values are quoted, in terms of the option put/call currencies. In the absence of this element, rate observations are assumed to be quoted as per the option strikeQuoteBasis.

fxAsianFeature_payoutFormula :: Maybe XsdString

The description of the mathematical computation for how the payout is computed.

fxAsianFeature_precision :: Maybe NonNegativeInteger

Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7 in the FpML document since the percentage is expressed as a decimal, e.g. 9.876543% (or 0.09876543) being rounded to the nearest 5 decimal places is 9.87654% (or 0.0987654).

data FxAverageRateObservation Source

A type that, for average rate options, is used to describe each specific observation date, as opposed to a parametric frequency of rate observations.

Constructors

FxAverageRateObservation 

Fields

fxAverageRateObserv_date :: Maybe Date

A specific date for which an observation against a particular rate will be made and will be used for subsequent computations.

fxAverageRateObserv_averageRateWeightingFactor :: Maybe Decimal

An optional factor that can be used for weighting certain observation dates. Typically, firms will weight each date with a factor of 1 if there are standard, unweighted adjustments.

fxAverageRateObserv_rate :: Maybe NonNegativeDecimal

The observed rate of exchange between the two option currencies. In the absence of rateObservationQuoteBasis, the rate is assumed to be quoted as per option strike/strikeQuoteBasis.

data FxAverageRateObservationSchedule Source

A type that describes average rate options rate observations. This is used to describe a parametric frequency of rate observations against a particular rate. Typical frequencies might include daily, every Friday, etc.

Constructors

FxAverageRateObservationSchedule 

Fields

fxAverageRateObservSched_startDate :: Maybe Date

The start of the period over which observations are made to determine whether a trigger has occurred.

fxAverageRateObservSched_endDate :: Maybe Date

The end of the period over which observations are made to determine whether a trigger event has occurred.

fxAverageRateObservSched_calculationPeriodFrequency :: Maybe CalculationPeriodFrequency

The frequency at which calculation period end dates occur with the regular part of the calculation period schedule and their roll date convention.

data FxBarrierFeature Source

Describes the properties of an Fx barrier.

Constructors

FxBarrierFeature 

Fields

fxBarrierFeature_barrierType :: Maybe FxBarrierTypeEnum

This specifies whether the option becomes effective (knock-in) or is annulled (knock-out) when the respective trigger event occurs.

fxBarrierFeature_quotedCurrencyPair :: Maybe QuotedCurrencyPair

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

fxBarrierFeature_triggerRate :: Maybe PositiveDecimal

The market rate is observed relative to the trigger rate, and if it is found to be on the predefined side of (above or below) the trigger rate, a trigger event is deemed to have occurred.

fxBarrierFeature_informationSource :: [InformationSource]

The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

fxBarrierFeature_observationStartDate :: Maybe Date

The start of the period over which observations are made to determine whether a trigger has occurred.

fxBarrierFeature_observationEndDate :: Maybe Date

The end of the period over which observations are made to determine whether a trigger event has occurred.

data FxBoundary Source

Describes a precise boundary value.

Constructors

FxBoundary 

Fields

fxBoundary_choice0 :: Maybe (OneOf2 Inclusive Exclusive)

Choice between:

  1. inclusive
  2. exclusive

data Inclusive Source

Constructors

Inclusive 

data Exclusive Source

Constructors

Exclusive 

data FxDigitalAmericanExercise Source

Descrines the characteristics for American exercise in FX digital options.

Constructors

FxDigitalAmericanExercise 

Fields

fxDigitalAmericExerc_ID :: Maybe ID
 
fxDigitalAmericExerc_commencementDate :: Maybe AdjustableOrRelativeDate

The earliest date on which the option can be exercised.

fxDigitalAmericExerc_expiryDate :: Maybe Date

The latest date on which the option can be exercised.

fxDigitalAmericExerc_expiryTime :: Maybe BusinessCenterTime

Time at which the option expires on the expiry date.

fxDigitalAmericExerc_cutName :: Maybe CutName

The code by which the expiry time is known in the market.

fxDigitalAmericExerc_latestValueDate :: Maybe Date

The latest date on which both currencies traded will settle.

data FxDigitalOption Source

Describes an option having a triggerable fixed payout.

Constructors

FxDigitalOption 

Fields

fxDigitalOption_ID :: Maybe ID
 
fxDigitalOption_primaryAssetClass :: Maybe AssetClass

A classification of the most important risk class of the trade. FpML defines a simple asset class categorization using a coding scheme.

fxDigitalOption_secondaryAssetClass :: [AssetClass]

A classification of additional risk classes of the trade, if any. FpML defines a simple asset class categorization using a coding scheme.

fxDigitalOption_productType :: [ProductType]

A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

fxDigitalOption_productId :: [ProductId]

A product reference identifier. The product ID is an identifier that describes the key economic characteristics of the trade type, with the exception of concepts such as size (notional, quantity, number of units) and price (fixed rate, strike, etc.) that are negotiated for each transaction. It can be used to hold identifiers such as the UPI (universal product identifier) required by certain regulatory reporting rules. It can also be used to hold identifiers of benchmark products or product temnplates used by certain trading systems or facilities. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

fxDigitalOption_buyerPartyReference :: Maybe PartyReference

A reference to the party that buys this instrument, ie. pays for this instrument and receives the rights defined by it. See 2000 ISDA definitions Article 11.1 (b). In the case of FRAs this the fixed rate payer.

fxDigitalOption_buyerAccountReference :: Maybe AccountReference

A reference to the account that buys this instrument.

fxDigitalOption_sellerPartyReference :: Maybe PartyReference

A reference to the party that sells (writes) this instrument, i.e. that grants the rights defined by this instrument and in return receives a payment for it. See 2000 ISDA definitions Article 11.1 (a). In the case of FRAs this is the floating rate payer.

fxDigitalOption_sellerAccountReference :: Maybe AccountReference

A reference to the account that sells this instrument.

fxDigitalOption_effectiveDate :: Maybe AdjustableOrRelativeDate

Effective date for a forward starting derivative. If this element is not present, the effective date is the trade date.

fxDigitalOption_tenorPeriod :: Maybe Period

A tenor expressed as a period type and multiplier (e.g. 1D, 1Y, etc.)

fxDigitalOption_choice10 :: Maybe (OneOf2 (Maybe FxDigitalAmericanExercise, [FxTouch]) (Maybe FxEuropeanExercise, [FxTrigger]))

Choice between:

  1. Sequence of:
  • The parameters for defining the exercise period for an American style option.
  • Defines one or more conditions underwhich the option will payout if exercisable.
  1. Sequence of:
  • The parameters for defining the exercise period for an European style option.
  • Defines one or more conditions underwhich the option will payout if exercisable.
fxDigitalOption_exerciseProcedure :: Maybe ExerciseProcedure

A set of parameters defining procedures associated with the exercise.

fxDigitalOption_payout :: Maybe FxOptionPayout

The amount of currency which becomes payable if and when a trigger event occurs.

fxDigitalOption_premium :: [FxOptionPremium]

Premium amount or premium installment amount for an option.

data FxEuropeanExercise Source

Describes the characteristics for European exercise of FX products.

Constructors

FxEuropeanExercise 

Fields

fxEuropExerc_ID :: Maybe ID
 
fxEuropExerc_expiryDate :: Maybe Date

Represents a standard expiry date as defined for an FX OTC option.

fxEuropExerc_expiryTime :: Maybe BusinessCenterTime

Time at which the option expires on the expiry date.

fxEuropExerc_cutName :: Maybe CutName

The code by which the expiry time is known in the market.

fxEuropExerc_valueDate :: Maybe Date

The date on which both currencies traded will settle.

data FxMultipleExercise Source

Describes the limits on the size of notional when multiple exercise is allowed.

Constructors

FxMultipleExercise 

Fields

fxMultiExerc_minimumNotionalAmount :: Maybe NonNegativeMoney

The minimum amount of notional that can be exercised.

fxMultiExerc_maximumNotionalAmount :: Maybe NonNegativeMoney

The maximum amount of notiional that can be exercised.

data FxOption Source

Describes an FX option with optional asian and barrier features.

Constructors

FxOption 

Fields

fxOption_ID :: Maybe ID
 
fxOption_primaryAssetClass :: Maybe AssetClass

A classification of the most important risk class of the trade. FpML defines a simple asset class categorization using a coding scheme.

fxOption_secondaryAssetClass :: [AssetClass]

A classification of additional risk classes of the trade, if any. FpML defines a simple asset class categorization using a coding scheme.

fxOption_productType :: [ProductType]

A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

fxOption_productId :: [ProductId]

A product reference identifier. The product ID is an identifier that describes the key economic characteristics of the trade type, with the exception of concepts such as size (notional, quantity, number of units) and price (fixed rate, strike, etc.) that are negotiated for each transaction. It can be used to hold identifiers such as the UPI (universal product identifier) required by certain regulatory reporting rules. It can also be used to hold identifiers of benchmark products or product temnplates used by certain trading systems or facilities. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

fxOption_buyerPartyReference :: Maybe PartyReference

A reference to the party that buys this instrument, ie. pays for this instrument and receives the rights defined by it. See 2000 ISDA definitions Article 11.1 (b). In the case of FRAs this the fixed rate payer.

fxOption_buyerAccountReference :: Maybe AccountReference

A reference to the account that buys this instrument.

fxOption_sellerPartyReference :: Maybe PartyReference

A reference to the party that sells (writes) this instrument, i.e. that grants the rights defined by this instrument and in return receives a payment for it. See 2000 ISDA definitions Article 11.1 (a). In the case of FRAs this is the floating rate payer.

fxOption_sellerAccountReference :: Maybe AccountReference

A reference to the account that sells this instrument.

fxOption_effectiveDate :: Maybe AdjustableOrRelativeDate

Effective date for a forward starting derivative. If this element is not present, the effective date is the trade date.

fxOption_tenorPeriod :: Maybe Period

A tenor expressed as a period type and multiplier (e.g. 1D, 1Y, etc.)

fxOption_choice10 :: OneOf2 FxAmericanExercise FxEuropeanExercise

Choice between:

  1. The parameters for defining the exercise period for an American style option.
  2. The parameters for defining the exercise period for an European style option.
fxOption_exerciseProcedure :: Maybe ExerciseProcedure

A set of parameters defining procedures associated with the exercise.

fxOption_putCurrencyAmount :: NonNegativeMoney

The currency amount that the option gives the right to sell.

fxOption_callCurrencyAmount :: NonNegativeMoney

The currency amount that the option gives the right to buy.

fxOption_soldAs :: Maybe PutCallEnum

Indicates how the product was original sold as a Put or a Call.

fxOption_strike :: FxStrikePrice

Defines the option strike price.

fxOption_spotRate :: Maybe PositiveDecimal

An optional element used for FX forwards and certain types of FX OTC options. For deals consumated in the FX Forwards Market, this represents the current market rate for a particular currency pair. For barrier and digital/binary options, it can be useful to include the spot rate at the time the option was executed to make it easier to know whether the option needs to move up or down to be triggered.

fxOption_features :: Maybe FxOptionFeatures

Describes additional features within the option.

fxOption_premium :: FxOptionPremium

Premium amount or premium installment amount for an option.

fxOption_cashSettlement :: Maybe FxCashSettlement

Specifies the currency and fixing details for cash settlement. This optional element is produced only where it has been specified at execution time that the option wlll be settled into a single cash payment - for example, in the case of a non-deliverable option (although note that an Fx option may be contractually cash settled, without necessarily being non-deliverable).

data FxOptionFeatures Source

A type describing the features that may be present in an FX option.

Constructors

FxOptionFeatures 

Fields

fxOptionFeatur_choice0 :: OneOf2 (FxAsianFeature, [FxBarrierFeature]) [FxBarrierFeature]

Choice between:

  1. Sequence of:
  • asian
  • barrier
  1. barrier

data FxOptionPayout Source

A type that contains full details of a predefined fixed payout which may occur (or not) in a Barrier Option or Digital Option when a trigger event occurs (or not).

Constructors

FxOptionPayout 

Fields

fxOptionPayout_ID :: Maybe ID
 
fxOptionPayout_currency :: Currency

The currency in which an amount is denominated.

fxOptionPayout_amount :: NonNegativeDecimal

The non negative monetary quantity in currency units.

fxOptionPayout_payoutStyle :: Maybe PayoutEnum

The trigger event and payout may be asynchonous. A payout may become due on the trigger event, or the payout may (by agreeement at initiation) be deferred (for example) to the maturity date.

fxOptionPayout_settlementInformation :: Maybe SettlementInformation

The information required to settle a currency payment that results from a trade.

data FxOptionPremium Source

A type that specifies the premium exchanged for a single option trade or option strategy.

Constructors

FxOptionPremium 

Fields

fxOptionPremium_ID :: Maybe ID
 
fxOptionPremium_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

fxOptionPremium_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

fxOptionPremium_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

fxOptionPremium_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

fxOptionPremium_paymentDate :: Maybe AdjustableOrRelativeDate

The payment date, which can be expressed as either an adjustable or relative date.

fxOptionPremium_paymentAmount :: Maybe NonNegativeMoney

Non negative payment amount.

fxOptionPremium_settlementInformation :: Maybe SettlementInformation

The information required to settle a currency payment that results from a trade.

fxOptionPremium_quote :: Maybe PremiumQuote

This is the option premium as quoted. It is expected to be consistent with the premiumAmount and is for information only.

data FxSingleLeg Source

A type defining either a spot or forward FX transactions.

Constructors

FxSingleLeg 

Fields

fxSingleLeg_ID :: Maybe ID
 
fxSingleLeg_primaryAssetClass :: Maybe AssetClass

A classification of the most important risk class of the trade. FpML defines a simple asset class categorization using a coding scheme.

fxSingleLeg_secondaryAssetClass :: [AssetClass]

A classification of additional risk classes of the trade, if any. FpML defines a simple asset class categorization using a coding scheme.

fxSingleLeg_productType :: [ProductType]

A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

fxSingleLeg_productId :: [ProductId]

A product reference identifier. The product ID is an identifier that describes the key economic characteristics of the trade type, with the exception of concepts such as size (notional, quantity, number of units) and price (fixed rate, strike, etc.) that are negotiated for each transaction. It can be used to hold identifiers such as the UPI (universal product identifier) required by certain regulatory reporting rules. It can also be used to hold identifiers of benchmark products or product temnplates used by certain trading systems or facilities. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

fxSingleLeg_exchangedCurrency1 :: Payment

This is the first of the two currency flows that define a single leg of a standard foreign exchange transaction.

fxSingleLeg_exchangedCurrency2 :: Payment

This is the second of the two currency flows that define a single leg of a standard foreign exchange transaction.

fxSingleLeg_dealtCurrency :: Maybe DealtCurrencyEnum

Indicates which currency was dealt.

fxSingleLeg_choice7 :: Maybe (OneOf2 FxTenorPeriodEnum Period)

Choice between:

  1. A tenor expressed with a standard business term (i.e. Spot, TomorrowNext, etc.)
  2. A tenor expressed as a period type and multiplier (e.g. 1D, 1Y, etc.)
fxSingleLeg_choice8 :: OneOf2 Date (Date, Date)

Choice between:

  1. The date on which both currencies traded will settle.
  2. Sequence of:
  • The date on which the currency1 amount will be settled. To be used in a split value date scenario.
  • The date on which the currency2 amount will be settled. To be used in a split value date scenario.
fxSingleLeg_exchangeRate :: ExchangeRate

The rate of exchange between the two currencies.

fxSingleLeg_nonDeliverableSettlement :: Maybe FxCashSettlement

Used to describe a particular type of FX forward transaction that is settled in a single currency (for example, a non-deliverable forward).

data FxStrikePrice Source

A type that describes the rate of exchange at which the option has been struck.

Constructors

FxStrikePrice 

Fields

fxStrikePrice_rate :: Maybe PositiveDecimal

The rate of exchange between the two currencies of the leg of a deal.

fxStrikePrice_strikeQuoteBasis :: Maybe StrikeQuoteBasisEnum

The method by which the strike rate is quoted.

data FxSwap Source

A type defining either a spotforward or forwardforward FX swap transaction.

Constructors

FxSwap 

Fields

fxSwap_ID :: Maybe ID
 
fxSwap_primaryAssetClass :: Maybe AssetClass

A classification of the most important risk class of the trade. FpML defines a simple asset class categorization using a coding scheme.

fxSwap_secondaryAssetClass :: [AssetClass]

A classification of additional risk classes of the trade, if any. FpML defines a simple asset class categorization using a coding scheme.

fxSwap_productType :: [ProductType]

A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

fxSwap_productId :: [ProductId]

A product reference identifier. The product ID is an identifier that describes the key economic characteristics of the trade type, with the exception of concepts such as size (notional, quantity, number of units) and price (fixed rate, strike, etc.) that are negotiated for each transaction. It can be used to hold identifiers such as the UPI (universal product identifier) required by certain regulatory reporting rules. It can also be used to hold identifiers of benchmark products or product temnplates used by certain trading systems or facilities. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

fxSwap_nearLeg :: FxSwapLeg

The FX transaction with the earliest value date.

fxSwap_farLeg :: FxSwapLeg

The FX transaction with the latest value date.

data FxSwapLeg Source

A type defining the details for one of the transactions in an FX swap.

Constructors

FxSwapLeg 

Fields

fxSwapLeg_ID :: Maybe ID
 
fxSwapLeg_exchangedCurrency1 :: Payment

This is the first of the two currency flows that define a single leg of a standard foreign exchange transaction.

fxSwapLeg_exchangedCurrency2 :: Payment

This is the second of the two currency flows that define a single leg of a standard foreign exchange transaction.

fxSwapLeg_dealtCurrency :: Maybe DealtCurrencyEnum

Indicates which currency was dealt.

fxSwapLeg_choice3 :: Maybe (OneOf2 FxTenorPeriodEnum Period)

Choice between:

  1. A tenor expressed with a standard business term (i.e. Spot, TomorrowNext, etc.)
  2. A tenor expressed as a period type and multiplier (e.g. 1D, 1Y, etc.)
fxSwapLeg_choice4 :: OneOf2 Date (Date, Date)

Choice between:

  1. The date on which both currencies traded will settle.
  2. Sequence of:
  • The date on which the currency1 amount will be settled. To be used in a split value date scenario.
  • The date on which the currency2 amount will be settled. To be used in a split value date scenario.
fxSwapLeg_exchangeRate :: ExchangeRate

The rate of exchange between the two currencies.

fxSwapLeg_nonDeliverableSettlement :: Maybe FxCashSettlement

Used to describe a particular type of FX forward transaction that is settled in a single currency (for example, a non-deliverable forward).

data FxTouch Source

Describes an FX touch condition.

Constructors

FxTouch 

Fields

fxTouch_touchCondition :: Maybe TouchConditionEnum

The binary condition that applies to an American-style trigger. There can only be two domain values for this element: touch or no touch.

fxTouch_quotedCurrencyPair :: Maybe QuotedCurrencyPair

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

fxTouch_triggerRate :: Maybe PositiveDecimal

The market rate is observed relative to the trigger rate, and if it is found to be on the predefined side of (above or below) the trigger rate, a trigger event is deemed to have occurred.

fxTouch_spotRate :: Maybe PositiveDecimal

An optional element used for FX forwards and certain types of FX OTC options. For deals consumated in the FX Forwards Market, this represents the current market rate for a particular currency pair. For barrier and digital/binary options, it can be useful to include the spot rate at the time the option was executed to make it easier to know whether the option needs to move up or down to be triggered.

fxTouch_informationSource :: [InformationSource]

The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

fxTouch_observationStartDate :: Maybe Date

The start of the period over which observations are made to determine whether a trigger has occurred.

fxTouch_observationEndDate :: Maybe Date

The end of the period over which observations are made to determine whether a trigger event has occurred.

data FxTrigger Source

Describes an FX trigger condition.

Constructors

FxTrigger 

Fields

fxTrigger_triggerCondition :: Maybe TriggerConditionEnum

The condition that applies to a European-style trigger. It determines where the rate at expiry date and time at must be relative to the triggerRate for the option to be exercisable. The allowed values are Above and Below.

fxTrigger_quotedCurrencyPair :: Maybe QuotedCurrencyPair

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

fxTrigger_triggerRate :: Maybe PositiveDecimal

The market rate is observed relative to the trigger rate, and if it is found to be on the predefined side of (above or below) the trigger rate, a trigger event is deemed to have occurred.

fxTrigger_spotRate :: Maybe PositiveDecimal

An optional element used for FX forwards and certain types of FX OTC options. For deals consumated in the FX Forwards Market, this represents the current market rate for a particular currency pair. For barrier and digital/binary options, it can be useful to include the spot rate at the time the option was executed to make it easier to know whether the option needs to move up or down to be triggered.

fxTrigger_informationSource :: [InformationSource]

The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

data LowerBound Source

Constructors

LowerBound 

Fields

lowerBound_choice0 :: Maybe (OneOf2 PositiveDecimal PositiveDecimal)

Choice between:

  1. minimumInclusive
  2. minimumExclusive

data ObservationSchedule Source

Constructors

ObservationSchedule 

Fields

observSched_startDate :: Maybe Date

The start of the period over which observations are made to determine whether a condition has occurred.

observSched_endDate :: Maybe Date

The end of the period over which observations are made to determine whether a condition has occurred.

observSched_observationPeriodFrequency :: Maybe Frequency

Describes how often observations are made.

data PremiumQuote Source

A type that describes the option premium as quoted.

Constructors

PremiumQuote 

Fields

premiumQuote_value :: Maybe Decimal

The value of the premium quote. In general this will be either a percentage or an explicit amount.

premiumQuote_quoteBasis :: Maybe PremiumQuoteBasisEnum

The method by which the option premium was quoted.

data TermDeposit Source

A class defining the content model for a term deposit product.

Constructors

TermDeposit 

Fields

termDeposit_ID :: Maybe ID
 
termDeposit_primaryAssetClass :: Maybe AssetClass

A classification of the most important risk class of the trade. FpML defines a simple asset class categorization using a coding scheme.

termDeposit_secondaryAssetClass :: [AssetClass]

A classification of additional risk classes of the trade, if any. FpML defines a simple asset class categorization using a coding scheme.

termDeposit_productType :: [ProductType]

A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

termDeposit_productId :: [ProductId]

A product reference identifier. The product ID is an identifier that describes the key economic characteristics of the trade type, with the exception of concepts such as size (notional, quantity, number of units) and price (fixed rate, strike, etc.) that are negotiated for each transaction. It can be used to hold identifiers such as the UPI (universal product identifier) required by certain regulatory reporting rules. It can also be used to hold identifiers of benchmark products or product temnplates used by certain trading systems or facilities. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

termDeposit_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

termDeposit_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

termDeposit_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

termDeposit_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

termDeposit_startDate :: Maybe Date

The start date of the calculation period.

termDeposit_maturityDate :: Maybe Date

The end date of the calculation period. This date should already be adjusted for any applicable business day convention.

termDeposit_choice10 :: Maybe (OneOf2 FxTenorPeriodEnum Period)

Choice between:

  1. A tenor expressed with a standard business term (i.e. Spot, TomorrowNext, etc.)
  2. A tenor expressed as a period type and multiplier (e.g. 1D, 1Y, etc.)
termDeposit_principal :: Maybe PositiveMoney

The principal amount of the trade.

termDeposit_fixedRate :: Maybe PositiveDecimal

The calculation period fixed rate. A per annum rate, expressed as a decimal. A fixed rate of 5% would be represented as 0.05.

termDeposit_dayCountFraction :: Maybe DayCountFraction

The day count fraction.

termDeposit_features :: Maybe TermDepositFeatures

An optional container that hold additional features of the deposit (e.g. Dual Currency feature).

termDeposit_interest :: Maybe Money

The total interest of at maturity of the trade.

termDeposit_payment :: [Payment]

A known payment between two parties.

data UpperBound Source

Constructors

UpperBound 

Fields

upperBound_choice0 :: Maybe (OneOf2 PositiveDecimal PositiveDecimal)

Choice between:

  1. maximumInclusive
  2. maximumExclusive

elementFxSingleLeg :: XMLParser FxSingleLegSource

A simple FX spot or forward transaction definition.

elementFxSwap :: XMLParser FxSwapSource

An FX Swap transaction definition.

elementFxOption :: XMLParser FxOptionSource

An FX option transaction definition.

elementFxDigitalOption :: XMLParser FxDigitalOptionSource

An FX digital option transaction definition.

elementTermDeposit :: XMLParser TermDepositSource

A term deposit product definition.