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

Safe HaskellSafe-Infered

Data.FpML.V53.Events.Business

Synopsis

Documentation

data BusinessEventIdentifier Source

A type defining an event identifier issued by the indicated party.

Constructors

BusinessEventIdentifier 

Fields

busEventIdent_ID :: Maybe ID
 
busEventIdent_choice0 :: OneOf2 PartyId (PartyReference, Maybe AccountReference)

Choice between:

  1. issuer
  2. Sequence of:
  • Reference to a party.
  • Reference to an account.
busEventIdent_eventId :: EventId
 

data EventId Source

A post-trade event reference identifier allocated by a party. 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.

data AdditionalEvent Source

Abstract base type for an extension/substitution point to customize FpML and add additional events. (There are no subtypes defined for this abstract type.)

Constructors

AdditionalEvent 

data ChangeEvent Source

Abstract base type for non-negotiated trade change descriptions

data CompressionActivity Source

A type that shows how multiple trades have been combined into a result.

Constructors

CompressionActivity 

Fields

comprActiv_compressionType :: Maybe CompressionType
 
comprActiv_choice1 :: Maybe (OneOf2 (Maybe TradeIdentifier, [TradeIdentifier]) (Maybe TradeId, [TradeId]))

Choice between:

  1. Sequence of:
  • replacementTradeIdentifier
  • originatingTradeIdentifier
  1. Sequence of:
  • replacementTradeId
  • originatingTradeId

data CompressionType Source

A type that identifies the type of trade amalgamation, for example netting or portfolio compression.

data DeClear Source

A structure describing an de-clear event.

data RequestedWithdrawalAction Source

A type that describes what the requester would like to see done to implement the withdrawal, e.g. ExpungeRecords, RetainRecords.

data EventProposedMatch Source

A structure that describes a proposed match between trades or post-trade event reports.

Constructors

EventProposedMatch 

Fields

eventProposMatch_choice0 :: Maybe (OneOf10 (Maybe OriginatingEvent, Maybe Trade) TradeAmendmentContent TradeNotionalChange (Maybe TerminatingEvent, Maybe TradeNotionalChange) TradeNovationContent OptionExercise [OptionExpiry] DeClear Withdrawal AdditionalEvent)

Choice between:

  1. Sequence of:
  • originatingEvent
  • trade
  1. amendment
  2. increase
  3. Sequence of:
  • terminatingEvent
  • termination
  1. novation
  2. optionExercise
  3. optionExpiry
  4. deClear
  5. withdrawal
  6. The additionalEvent element is an extension/substitution point to customize FpML and add additional events.
eventProposMatch_matchId :: Maybe MatchId

A unique identifier assigned by the matching service to each set of matched positions.

eventProposMatch_difference :: [TradeDifference]

A type used to record the details of a difference between two sides of a business event.

eventProposMatch_matchScore :: Maybe Decimal

Numeric score to represent the quality of the match.

data EventsChoice Source

Constructors

EventsChoice 

Fields

eventsChoice_choice0 :: Maybe (OneOf10 (Maybe OriginatingEvent, Maybe Trade) TradeAmendmentContent TradeNotionalChange (Maybe TerminatingEvent, Maybe TradeNotionalChange) TradeNovationContent OptionExercise [OptionExpiry] DeClear Withdrawal AdditionalEvent)

Choice between:

  1. Sequence of:
  • originatingEvent
  • trade
  1. amendment
  2. increase
  3. Sequence of:
  • terminatingEvent
  • termination
  1. novation
  2. optionExercise
  3. optionExpiry
  4. deClear
  5. withdrawal
  6. The additionalEvent element is an extension/substitution point to customize FpML and add additional events.

data OptionExercise Source

A structure describing an option exercise.

Constructors

OptionExercise 

Fields

optionExerc_eventIdentifier :: [BusinessEventIdentifier]
 
optionExerc_optionSeller :: Maybe PartyReference
 
optionExerc_optionBuyer :: Maybe PartyReference
 
optionExerc_tradeIdentifier :: [PartyTradeIdentifier]
 
optionExerc_exerciseDate :: Maybe Date
 
optionExerc_exerciseTime :: Maybe Time
 
optionExerc_choice6 :: Maybe (OneOf5 Boolean Boolean (Maybe Money, Maybe Money) (Maybe Decimal, Maybe Decimal) (Maybe Decimal, Maybe Decimal))

Choice between:

  1. expiry
  2. fullExercise
  3. Sequence of:
  • Specifies the fixed amount by which the option should be exercised expressed as notional amount.
  • Specifies the Notional amount after the Change
  1. Sequence of:
  • Specifies the fixed amount by which the option should be exercised expressed as number of options.
  • Specifies the Number of Options after the Change.
  1. Sequence of:
  • Specifies the fixed amount by which the option should be exercised express as number of units.
  • Specifies the Number of Units
optionExerc_choice7 :: Maybe (OneOf3 SettlementTypeEnum SimplePayment PhysicalSettlement)

Choice between:

  1. settlementType
  2. cashSettlement
  3. physicalSettlement
optionExerc_payment :: Maybe NonNegativePayment
 

data PhysicalSettlement Source

A structure that describes how an option settles into a physical trade.

Constructors

PhysicalSettlement 

Fields

physicSettl_choice0 :: Maybe (OneOf3 PartyTradeIdentifier Trade Product)

Choice between:

  1. The ID of the trade that resulted from the physical settlement.
  2. The trade that resulted from the physical settlement.
  3. An abstract element used as a place holder for the substituting product elements.

data PhysicalExercise Source

Constructors

PhysicalExercise 

Fields

physicExerc_choice0 :: Maybe (OneOf2 Trade PartyTradeIdentifiers)

Choice between:

  1. An element that allows the full details of the trade to be used as a mechanism for identifying the trade for which the post-trade event pertains
  2. A container since an individual trade can be referenced by two or more different partyTradeIdentifier elements - each allocated by a different party.

data TradeAmendmentContent Source

A structure describing a negotiated amendment.

Constructors

TradeAmendmentContent 

Fields

tradeAmendmContent_eventIdentifier :: [BusinessEventIdentifier]
 
tradeAmendmContent_trade :: Maybe Trade

A fulll description of the amended trade (i.e. the trade after the amendment).

tradeAmendmContent_agreementDate :: Maybe Date

The date on which the change was agreed.

tradeAmendmContent_executionDateTime :: ExecutionDateTime

The date and time at which the negotiated change to the terms of the original contract was agreed, such as via telephone or electronic trading system (i.e., agreement date/time).

tradeAmendmContent_effectiveDate :: Maybe Date

The date on which the change become effective.

tradeAmendmContent_payment :: Maybe Payment

Describes a payment made in settlement of the change.

data TradeChangeBase Source

A structure describing a trade change.

Constructors

TradeChangeBase 

Fields

tradeChangeBase_eventIdentifier :: [BusinessEventIdentifier]
 
tradeChangeBase_choice1 :: OneOf2 [PartyTradeIdentifier] Trade

Choice between:

  1. tradeIdentifier
  2. originalTrade
tradeChangeBase_agreementDate :: Maybe Date

The date on which the change was agreed.

tradeChangeBase_executionDateTime :: ExecutionDateTime

The date and time at which the negotiated change to the terms of the original contract was agreed, such as via telephone or electronic trading system (i.e., agreement date/time).

tradeChangeBase_effectiveDate :: Maybe Date

The date on which the change become effective.

tradeChangeBase_payment :: Maybe Payment

Describes a payment made in settlement of the change.

data TradeChangeContent Source

A structure describing a non-negotiated trade resulting from a market event.

Constructors

TradeChangeContent 

Fields

tradeChangeContent_choice0 :: Maybe (OneOf2 PartyTradeIdentifier Trade)

Choice between:

  1. The original qualified trade identifier.
  2. The original trade details.
tradeChangeContent_trade :: Maybe Trade

A full description of the amended trade.

tradeChangeContent_effectiveDate :: Maybe Date

The date on which the change become effective

tradeChangeContent_changeEvent :: Maybe ChangeEvent

Abstract substitutable place holder for specific change details.

tradeChangeContent_payment :: Maybe Payment

Describes a payment made in settlement of the change.

data TradeNotionalChange Source

A structure describing a change to the trade notional.

Constructors

TradeNotionalChange 

Fields

tradeNotionChange_eventIdentifier :: [BusinessEventIdentifier]
 
tradeNotionChange_choice1 :: OneOf2 [PartyTradeIdentifier] Trade

Choice between:

  1. tradeIdentifier
  2. originalTrade
tradeNotionChange_agreementDate :: Maybe Date

The date on which the change was agreed.

tradeNotionChange_executionDateTime :: ExecutionDateTime

The date and time at which the negotiated change to the terms of the original contract was agreed, such as via telephone or electronic trading system (i.e., agreement date/time).

tradeNotionChange_effectiveDate :: Maybe Date

The date on which the change become effective.

tradeNotionChange_payment :: Maybe Payment

Describes a payment made in settlement of the change.

tradeNotionChange_choice6 :: Maybe (OneOf3 (Maybe NonNegativeMoney, Maybe Money) (Maybe Decimal, Maybe Decimal) (Maybe Decimal, Maybe Decimal))

Choice between:

  1. Sequence of:
  • Specifies the fixed amount by which the Notional Amount changes. The direction of the change (increase or decrease) is specified by the event type (Termination => reduction, Increase => greater.)
  • Specifies the Notional amount after the Change
  1. Sequence of:
  • Specifies the fixed amount by which the Number of Options changes
  • Specifies the Number of Options after the Change.
  1. Sequence of:
  • Specifies the fixed amount by which the Number of Units changes
  • Specifies the Number of Units

data TradeNovationContent Source

A structure describing a novation.

Constructors

TradeNovationContent 

Fields

tradeNovatContent_eventIdentifier :: [BusinessEventIdentifier]
 
tradeNovatContent_choice1 :: Maybe (OneOf2 [PartyTradeIdentifier] Trade)

Choice between:

  1. Indicates a reference to the original trade between the transferor and the remaining party.
  2. Indicates the original trade between the transferor and the remaining party.
tradeNovatContent_choice2 :: Maybe (OneOf2 [PartyTradeIdentifier] Trade)

Choice between identification and representation of the new contract.

Choice between:

  1. Indicates a reference to the new trade between the transferee and the remaining party.
  2. Indicates the original trade between the transferor and the remaining party.
tradeNovatContent_transferor :: Maybe PartyReference

A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Transferor (outgoing party) in the novation. The Transferor means a party which transfers by novation to a Transferee all of its rights, liabilities, duties and obligations with respect to a Remaining Party. In a four-way novation the party referenced is Transferor 1 which transfers by novation to Transferee 1 all of its rights, liabilities, duties and obligations with respect to Transferor 2. ISDA 2004 Novation Term: Transferor (three-way novation) or Transferor 1 (four-way novation).

tradeNovatContent_transferorAccount :: Maybe AccountReference
 
tradeNovatContent_transferee :: Maybe PartyReference

A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Transferee (incoming party) in the novation. Transferee means a party which accepts by way of novation all rights, liabilities, duties and obligations of a Transferor with respect to a Remaining Party. In a four-way novation the party referenced is Transferee 1 which accepts by way of novation the rights, liabilities, duties and obligations of Transferor 1. ISDA 2004 Novation Term: Transferee (three-way novation) or Transferee 1 (four-way novation).

tradeNovatContent_transfereeAccount :: Maybe AccountReference
 
tradeNovatContent_remainingParty :: Maybe PartyReference

A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Remaining Party in the novation. Remaining Party means a party which consents to a Transferor's transfer by novation and the acceptance thereof by the Transferee of all of the Transferor's rights, liabilities, duties and obligations with respect to such Remaining Party under and with respect of the Novated Amount of a transaction. In a four-way novation the party referenced is Transferor 2 per the ISDA definition and acts in the role of a Transferor. Transferor 2 transfers by novation to Transferee 2 all of its rights, liabilities, duties and obligations with respect to Transferor 1. ISDA 2004 Novation Term: Remaining Party (three-way novation) or Transferor 2 (four-way novation).

tradeNovatContent_remainingPartyAccount :: Maybe AccountReference
 
tradeNovatContent_otherRemainingParty :: Maybe PartyReference

A pointer style reference to a party identifier defined elsewhere in the document. This element is not applicable in a three-way novation and should be omitted. In a four-way novation the party referenced is Transferee 2. Transferee 2 means a party which accepts by way of novation the rights, liabilities, duties and obligations of Transferor 2. ISDA 2004 Novation Term: Transferee 2 (four-way novation).

tradeNovatContent_otherRemainingPartyAccount :: Maybe AccountReference
 
tradeNovatContent_novationDate :: Date

Specifies the date that one party's legal obligations with regard to a trade are transferred to another party. It corresponds to the Novation Date section of the 2004 ISDA Novation Definitions, section 1.16.

tradeNovatContent_executionDateTime :: ExecutionDateTime

The date and time at which the change was agreed.

tradeNovatContent_novationTradeDate :: Date

Specifies the date the parties agree to assign or novate a Contract. If this element is not specified, the novationContractDate will be deemed to be the novationDate. It corresponds to the Novation Trade Date section of the 2004 ISDA Novation Definitions, section 1.17.

tradeNovatContent_choice14 :: Maybe (OneOf3 (Maybe Money, Maybe Money) (Maybe Decimal, Maybe Decimal) (Maybe Decimal, Maybe Decimal))

Choice for expressing the novated amount as either a money amount, number of options, or number of units, according the the financial product which is being novated.

Choice between:

  1. Sequence of:
  • The amount which represents the portion of the Old Contract being novated.
  • The amount which represents the portion of the Old Contract not being novated.
  1. Sequence of:
  • The number of options which represent the portion of the Old Contract being novated.
  • The number of options which represent the portion of the Old Contract not being novated.
  1. Sequence of:
  • The number of options which represent the portion of the Old Contract being novated.
  • The number of options which represent the portion of the Old Contract not being novated.
tradeNovatContent_fullFirstCalculationPeriod :: Maybe Boolean

This element corresponds to the applicability of the Full First Calculation Period as defined in the 2004 ISDA Novation Definitions, section 1.20.

tradeNovatContent_firstPeriodStartDate :: [FirstPeriodStartDate]

Element that is used to be able to make sense of the “new transaction” without requiring reference back to the “old transaction”. In the case of interest rate products there are potentially 2 “first period start dates” to reference – one with respect to each party to the new transaction. For Credit Default Swaps there is just the one with respect to the party that is the fixed rate payer.

tradeNovatContent_nonReliance :: Maybe Empty

This element corresponds to the non-Reliance section in the 2004 ISDA Novation Definitions, section 2.1 (c) (i). The element appears in the instance document when non-Reliance is applicable.

tradeNovatContent_creditDerivativesNotices :: Maybe CreditDerivativesNotices

This element should be specified if one or more of either a Credit Event Notice, Notice of Publicly Available Information, Notice of Physical Settlement or Notice of Intended Physical Settlement, as applicable, has been delivered by or to the Transferor or the Remaining Party. The type of notice or notices that have been delivered should be indicated by setting the relevant boolean element value(s) to true. The absence of the element means that no Credit Event Notice, Notice of Publicly Available Information, Notice of Physical Settlement or Notice of Intended Physical Settlement, as applicable, has been delivered by or to the Transferor or the Remaining Party.

tradeNovatContent_contractualDefinitions :: [ContractualDefinitions]

The definitions (such as those published by ISDA) that will define the terms of the novation transaction.

tradeNovatContent_contractualTermsSupplement :: [ContractualTermsSupplement]

A contractual supplement (such as those published by ISDA) that will apply to the trade.

tradeNovatContent_payment :: Maybe Payment

Describes a payment made in settlement of the novation.

data TradeReferenceInformation Source

Defines a type that allows trade identifiers and/or trade information to be represented for a trade.

Constructors

TradeReferenceInformation 

Fields

tradeRefInfo_choice0 :: Maybe (OneOf2 OriginatingEvent TerminatingEvent)

Choice between:

  1. originatingEvent
  2. terminatingEvent
tradeRefInfo_partyTradeIdentifier :: [PartyTradeIdentifier]

This allows the acknowledging party to supply additional trade identifiers for a trade underlying a request relating to a business event.

tradeRefInfo_partyTradeInformation :: [PartyTradeInformation]

This allows the acknowledging party to supply additional trade information about a trade underlying a request relating to a business event.

tradeRefInfo_productType :: Maybe ProductType
 
tradeRefInfo_productId :: Maybe ProductId
 

elementAdditionalEvent :: XMLParser AdditionalEventSource

The additionalEvent element is an extension/substitution point to customize FpML and add additional events. (There are no elements in any substitution group for this element.)

elementChangeEvent :: XMLParser ChangeEventSource

Abstract substitutable place holder for specific change details.

elementIndexChange :: XMLParser IndexChangeSource

Describes a change due to an index component being adjusted.