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

Safe HaskellSafe-Infered

Data.FpML.V53.Shared.Option

Synopsis

Documentation

data Asian Source

As per ISDA 2002 Definitions.

Constructors

Asian 

data AveragingObservationList Source

An un ordered list of weighted averaging observations.

Constructors

AveragingObservationList 

Fields

averagObservList_averagingObservation :: [WeightedAveragingObservation]

A single weighted averaging observation.

data AveragingPeriod Source

Period over which an average value is taken.

Constructors

AveragingPeriod 

Fields

averagPeriod_schedule :: [AveragingSchedule]

A schedule for generating averaging observation dates.

averagPeriod_choice1 :: Maybe (OneOf2 DateTimeList AveragingObservationList)

A choice between unweighted and weighted averaging date and times.

Choice between:

  1. An unweighted list of averaging observation date and times.
  2. A weighted list of averaging observation date and times.
averagPeriod_marketDisruption :: Maybe MarketDisruption

The market disruption event as defined by ISDA 2002 Definitions.

data AveragingSchedule Source

Method of generating a series of dates.

Constructors

AveragingSchedule 

Fields

averagSched_startDate :: Maybe Date

Date on which this period begins.

averagSched_endDate :: Maybe Date

Date on which this period ends.

averagSched_averagingPeriodFrequency :: Maybe CalculationPeriodFrequency

The frequency at which averaging period occurs with the regular part of the valuation schedule and their roll date convention.

data Barrier Source

As per ISDA 2002 Definitions.

Constructors

Barrier 

Fields

barrier_cap :: Maybe TriggerEvent

A trigger level approached from beneath.

barrier_floor :: Maybe TriggerEvent

A trigger level approached from above.

data ClassifiedPayment Source

A classified non negative payment.

Constructors

ClassifiedPayment 

Fields

classPayment_ID :: Maybe ID
 
classPayment_payerPartyReference :: Maybe PartyReference

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

classPayment_payerAccountReference :: Maybe AccountReference

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

classPayment_receiverPartyReference :: Maybe PartyReference

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

classPayment_receiverAccountReference :: Maybe AccountReference

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

classPayment_paymentDate :: Maybe AdjustableOrRelativeDate

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

classPayment_paymentAmount :: Maybe NonNegativeMoney

Non negative payment amount.

classPayment_paymentType :: [PaymentType]

Payment classification.

data Composite Source

Specifies the conditions to be applied for converting into a reference currency when the actual currency rate is not determined upfront.

Constructors

Composite 

Fields

composite_determinationMethod :: Maybe DeterminationMethod

Specifies the method according to which an amount or a date is determined.

composite_relativeDate :: Maybe RelativeDateOffset

A date specified as some offset to another date (the anchor date).

composite_fxSpotRateSource :: Maybe FxSpotRateSource

Specifies the methodology (reference source and, optionally, fixing time) to be used for determining a currency conversion rate.

data CreditEventNotice Source

Constructors

CreditEventNotice 

Fields

creditEventNotice_notifyingParty :: Maybe NotifyingParty

Pointer style references to a party identifier defined elsewhere in the document. The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring. ISDA 2003 Term: Notifying Party.

creditEventNotice_businessCenter :: Maybe BusinessCenter

Inclusion of this business center element implies that Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions is replaced by the local time of the city indicated by the businessCenter element value.

creditEventNotice_publiclyAvailableInformation :: Maybe PubliclyAvailableInformation

A specified condition to settlement. Publicly available information means information that reasonably confirms any of the facts relevant to determining that a credit event or potential repudiation/moratorium, as applicable, has occurred. The ISDA defined list (2003) is the market standard and is considered comprehensive, and a minimum of two differing public sources must have published the relevant information, to declare a Credit Event. ISDA 2003 Term: Notice of Publicly Available Information Applicable.

data CreditEvents Source

Constructors

CreditEvents 

Fields

creditEvents_ID :: Maybe ID
 
creditEvents_bankruptcy :: Maybe Boolean

A credit event. The reference entity has been dissolved or has become insolvent. It also covers events that may be a precursor to insolvency such as instigation of bankruptcy or insolvency proceedings. Sovereign trades are not subject to Bankruptcy as technically a Sovereign cannot become bankrupt. ISDA 2003 Term: Bankruptcy.

creditEvents_failureToPay :: Maybe FailureToPay

A credit event. This credit event triggers, after the expiration of any applicable grace period, if the reference entity fails to make due payments in an aggregrate amount of not less than the payment requirement on one or more obligations (e.g. a missed coupon payment). ISDA 2003 Term: Failure to Pay.

creditEvents_failureToPayPrincipal :: Maybe Boolean

A credit event. Corresponds to the failure by the Reference Entity to pay an expected principal amount or the payment of an actual principal amount that is less than the expected principal amount. ISDA 2003 Term: Failure to Pay Principal.

creditEvents_failureToPayInterest :: Maybe Boolean

A credit event. Corresponds to the failure by the Reference Entity to pay an expected interest amount or the payment of an actual interest amount that is less than the expected interest amount. ISDA 2003 Term: Failure to Pay Interest.

creditEvents_obligationDefault :: Maybe Boolean

A credit event. One or more of the obligations have become capable of being declared due and payable before they would otherwise have been due and payable as a result of, or on the basis of, the occurrence of a default, event of default or other similar condition or event other than failure to pay. ISDA 2003 Term: Obligation Default.

creditEvents_obligationAcceleration :: Maybe Boolean

A credit event. One or more of the obligations have been declared due and payable before they would otherwise have been due and payable as a result of, or on the basis of, the occurrence of a default, event of default or other similar condition or event other than failure to pay (preferred by the market over Obligation Default, because more definitive and encompasses the definition of Obligation Default - this is more favorable to the Seller). Subject to the default requirement amount. ISDA 2003 Term: Obligation Acceleration.

creditEvents_repudiationMoratorium :: Maybe Boolean

A credit event. The reference entity, or a governmental authority, either refuses to recognise or challenges the validity of one or more obligations of the reference entity, or imposes a moratorium thereby postponing payments on one or more of the obligations of the reference entity. Subject to the default requirement amount. ISDA 2003 Term: Repudiation/Moratorium.

creditEvents_restructuring :: Maybe Restructuring

A credit event. A restructuring is an event that materially impacts the reference entity's obligations, such as an interest rate reduction, principal reduction, deferral of interest or principal, change in priority ranking, or change in currency or composition of payment. ISDA 2003 Term: Restructuring.

creditEvents_distressedRatingsDowngrade :: Maybe Boolean

A credit event. Results from the fact that the rating of the reference obligation is downgraded to a distressed rating level. From a usage standpoint, this credit event is typically not applicable in case of RMBS trades.

creditEvents_maturityExtension :: Maybe Boolean

A credit event. Results from the fact that the underlier fails to make principal payments as expected.

creditEvents_writedown :: Maybe Boolean

A credit event. Results from the fact that the underlier writes down its outstanding principal amount.

creditEvents_impliedWritedown :: Maybe Boolean

A credit event. Results from the fact that losses occur to the underlying instruments that do not result in reductions of the outstanding principal of the reference obligation.

creditEvents_defaultRequirement :: Maybe Money

In relation to certain credit events, serves as a threshold for Obligation Acceleration, Obligation Default, Repudiation/Moratorium and Restructuring. Market standard is USD 10,000,000 (JPY 1,000,000,000 for all Japanese Yen trades). This is applied on an aggregate or total basis across all Obligations of the Reference Entity. Used to prevent technical/operational errors from triggering credit events. ISDA 2003 Term: Default Requirement.

creditEvents_creditEventNotice :: Maybe CreditEventNotice

A specified condition to settlement. An irrevocable written or verbal notice that describes a credit event that has occurred. The notice is sent from the notifying party (either the buyer or the seller) to the counterparty. It provides information relevant to determining that a credit event has occurred. This is typically accompanied by Publicly Available Information. ISDA 2003 Term: Credit Event Notice.

data FailureToPay Source

Constructors

FailureToPay 

Fields

failureToPay_applicable :: Maybe Boolean

Indicates whether the failure to pay provision is applicable.

failureToPay_gracePeriodExtension :: Maybe GracePeriodExtension

If this element is specified, indicates whether or not a grace period extension is applicable. ISDA 2003 Term: Grace Period Extension Applicable.

failureToPay_paymentRequirement :: Maybe Money

Specifies a threshold for the failure to pay credit event. Market standard is USD 1,000,000 (JPY 100,000,000 for Japanese Yen trades) or its equivalent in the relevant obligation currency. This is applied on an aggregate basis across all Obligations of the Reference Entity. Intended to prevent technical/operational errors from triggering credit events. ISDA 2003 Term: Payment Requirement.

data FeaturePayment Source

Payment made following trigger occurence.

Constructors

FeaturePayment 

Fields

featurePayment_ID :: Maybe ID
 
featurePayment_payerPartyReference :: Maybe PartyReference

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

featurePayment_payerAccountReference :: Maybe AccountReference

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

featurePayment_receiverPartyReference :: Maybe PartyReference

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

featurePayment_receiverAccountReference :: Maybe AccountReference

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

featurePayment_choice4 :: Maybe (OneOf2 Decimal NonNegativeDecimal)

Choice between:

  1. The trigger level percentage.
  2. The monetary quantity in currency units.
featurePayment_time :: Maybe TimeTypeEnum

The feature payment time.

featurePayment_currency :: Maybe Currency

The currency in which an amount is denominated.

featurePayment_date :: Maybe AdjustableOrRelativeDate

The feature payment date.

data FxFeature Source

A type for defining Fx Features.

Constructors

FxFeature 

Fields

fxFeature_referenceCurrency :: Maybe IdentifiedCurrency

Specifies the reference currency of the trade.

fxFeature_choice1 :: Maybe (OneOf3 Composite Quanto Composite)

Choice between:

  1. If “Composite” is specified as the Settlement Type in the relevant Transaction Supplement, an amount in the Settlement Currency, determined by the Calculation Agent as being equal to the number of Options exercised or deemed exercised, multiplied by: (Settlement Price – Strike Price) / (Strike Price – Settlement Price) x Multiplier provided that if the above is equal to a negative amount the Option Cash Settlement Amount shall be deemed to be zero.
  2. If “Quanto” is specified as the Settlement Type in the relevant Transaction Supplement, an amount, as determined by the Calculation Agent in accordance with the Section 8.2 of the Equity Definitions.
  3. If “Cross-Currency” is specified as the Settlement Type in the relevant Transaction Supplement, an amount in the Settlement Currency, determined by the Calculation Agent as being equal to the number of Options exercised or deemed exercised, multiplied by: (Settlement Price – Strike Price) / (Strike Price – Settlement Price) x Multiplier x one unit of the Reference Currency converted into an amount in the Settlement Currency using the rate of exchange of the Settlement Currency as quoted on the Reference Price Source on the Valuation Date, provided that if the above is equal to a negative amount the Option Cash Settlement Amount shall be deemed to be zero.

data GracePeriodExtension Source

Constructors

GracePeriodExtension 

Fields

gracePeriodExtens_applicable :: Maybe Boolean

Indicates whether the grace period extension provision is applicable.

gracePeriodExtens_gracePeriod :: Maybe Offset

The number of calendar or business days after any due date that the reference entity has to fulfil its obligations before a failure to pay credit event is deemed to have occurred. ISDA 2003 Term: Grace Period.

data Knock Source

Knock In means option to exercise comes into existence. Knock Out means option to exercise goes out of existence.

Constructors

Knock 

Fields

knock_in :: Maybe TriggerEvent

The knock in.

knock_out :: Maybe TriggerEvent

The knock out.

data MarketDisruption Source

Defines the handling of an averaging date market disruption for an equity derivative transaction.

data OptionFeature Source

A type for defining option features.

Constructors

OptionFeature 

Fields

optionFeature_fxFeature :: Maybe FxFeature

A quanto or composite FX feature.

optionFeature_strategyFeature :: Maybe StrategyFeature

A simple strategy feature.

optionFeature_asian :: Maybe Asian

An option where and average price is taken on valuation.

optionFeature_barrier :: Maybe Barrier

An option with a barrier feature.

optionFeature_knock :: Maybe Knock

A knock feature.

optionFeature_passThrough :: Maybe PassThrough

Pass through payments from the underlyer, such as dividends.

data OptionNumericStrike Source

A type for defining the strike price for an option as a numeric value without currency.

Constructors

OptionNumericStrike 

Fields

optionNumericStrike_choice0 :: Maybe (OneOf2 Decimal Decimal)

Choice between:

  1. The price or level at which the option has been struck.
  2. The price or level expressed as a percentage of the forward starting spot price.

data OptionStrike Source

A type for defining the strike price for an equity option. The strike price is either: (i) in respect of an index option transaction, the level of the relevant index specified or otherwise determined in the transaction; or (ii) in respect of a share option transaction, the price per share specified or otherwise determined in the transaction. This can be expressed either as a percentage of notional amount or as an absolute value.

Constructors

OptionStrike 

Fields

optionStrike_choice0 :: Maybe (OneOf2 Decimal Decimal)

Choice between:

  1. The price or level at which the option has been struck.
  2. The price or level expressed as a percentage of the forward starting spot price.
optionStrike_currency :: Maybe Currency

The currency in which an amount is denominated.

data PassThrough Source

Type which contains pass through payments.

Constructors

PassThrough 

Fields

passThrough_item :: [PassThroughItem]

One to many pass through payment items.

data PassThroughItem Source

Type to represent a single pass through payment.

Constructors

PassThroughItem 

Fields

passThroughItem_payerPartyReference :: Maybe PartyReference

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

passThroughItem_payerAccountReference :: Maybe AccountReference

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

passThroughItem_receiverPartyReference :: Maybe PartyReference

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

passThroughItem_receiverAccountReference :: Maybe AccountReference

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

passThroughItem_underlyerReference :: Maybe AssetReference

Reference to the underlyer whose payments are being passed through.

passThroughItem_passThroughPercentage :: Maybe Decimal

Percentage of payments from the underlyer which are passed through.

data Premium Source

A type for defining a premium.

Constructors

Premium 

Fields

premium_ID :: Maybe ID
 
premium_payerPartyReference :: Maybe PartyReference

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

premium_payerAccountReference :: Maybe AccountReference

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

premium_receiverPartyReference :: Maybe PartyReference

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

premium_receiverAccountReference :: Maybe AccountReference

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

premium_paymentAmount :: Maybe NonNegativeMoney
 
premium_paymentDate :: Maybe AdjustableOrRelativeDate

The payment date. This date is subject to adjustment in accordance with any applicable business day convention.

premium_type :: Maybe PremiumTypeEnum

Forward start Premium type

premium_pricePerOption :: Maybe Money

The amount of premium to be paid expressed as a function of the number of options.

premium_percentageOfNotional :: Maybe Decimal

The amount of premium to be paid expressed as a percentage of the notional value of the transaction. A percentage of 5% would be expressed as 0.05.

premium_discountFactor :: Maybe Decimal

The value representing the discount factor used to calculate the present value of the cash flow.

premium_presentValueAmount :: Maybe Money

The amount representing the present value of the forecast payment.

data PubliclyAvailableInformation Source

Constructors

PubliclyAvailableInformation 

Fields

publicAvailInfo_standardPublicSources :: Maybe Boolean

If this element is specified and set to true, indicates that ISDA defined Standard Public Sources are applicable.

publicAvailInfo_publicSource :: [XsdString]

A public information source, e.g. a particular newspaper or electronic news service, that may publish relevant information used in the determination of whether or not a credit event has occurred. ISDA 2003 Term: Public Source.

publicAvailInfo_specifiedNumber :: Maybe PositiveInteger

The minimum number of the specified public information sources that must publish information that reasonably confirms that a credit event has occurred. The market convention is two. ISDA 2003 Term: Specified Number.

data Quanto Source

Determines the currency rate that the seller of the equity amounts will apply at each valuation date for converting the respective amounts into a currency that is different from the currency denomination of the underlyer.

Constructors

Quanto 

Fields

quanto_fxRate :: [FxRate]

Specifies a currency conversion rate.

quanto_fxSpotRateSource :: Maybe FxSpotRateSource

Specifies the methodology (reference source and, optionally, fixing time) to be used for determining a currency conversion rate.

data Restructuring Source

Constructors

Restructuring 

Fields

restr_applicable :: Maybe Boolean

Indicates whether the restructuring provision is applicable.

restructuring_type :: Maybe RestructuringType

Specifies the type of restructuring that is applicable.

restr_multipleHolderObligation :: Maybe Boolean

In relation to a restructuring credit event, unless multiple holder obligation is not specified restructurings are limited to multiple holder obligations. A multiple holder obligation means an obligation that is held by more than three holders that are not affiliates of each other and where at least two thirds of the holders must agree to the event that constitutes the restructuring credit event. ISDA 2003 Term: Multiple Holder Obligation.

restr_multipleCreditEventNotices :: Maybe Boolean

Presence of this element and value set to true indicates that Section 3.9 of the 2003 Credit Derivatives Definitions shall apply. Absence of this element indicates that Section 3.9 shall not apply. NOTE: Not allowed under ISDA Credit 1999.

data StrategyFeature Source

A type for definining equity option simple strike or calendar spread strategy features.

Constructors

StrategyFeature 

Fields

stratFeature_choice0 :: Maybe (OneOf2 StrikeSpread CalendarSpread)

Choice between:

  1. Definition of the upper strike in a strike spread.
  2. Definition of the later expiration date in a calendar spread.

data StrikeSpread Source

A type for defining a strike spread feature.

Constructors

StrikeSpread 

Fields

strikeSpread_upperStrike :: Maybe OptionStrike

Upper strike in a strike spread.

strikeSpread_upperStrikeNumberOfOptions :: Maybe PositiveDecimal

Number of options at the upper strike price in a strike spread.

data Trigger Source

Trigger point at which feature is effective.

Constructors

Trigger 

Fields

trigger_choice0 :: OneOf3 Decimal Decimal (Maybe (OneOf2 CreditEvents CreditEventsReference))

Choice between:

  1. The trigger level.
  2. The trigger level percentage.
  3. Choice between either an explicit representation of Credit Events, or Credit Events defined elsewhere in the document.
trigger_type :: Maybe TriggerTypeEnum

The Triggering condition.

trigger_timeType :: Maybe TriggerTimeTypeEnum

The valuation time type of knock condition.

data TriggerEvent Source

Observation point for trigger.

Constructors

TriggerEvent 

Fields

triggerEvent_schedule :: [AveragingSchedule]

A Equity Derivative schedule.

triggerEvent_triggerDates :: Maybe DateList

The trigger Dates.

triggerEvent_trigger :: Maybe Trigger

The trigger level.

triggerEvent_featurePayment :: Maybe FeaturePayment

The feature payment.

data WeightedAveragingObservation Source

A single weighted averaging observation.

Constructors

WeightedAveragingObservation 

Fields

weightAveragObserv_choice0 :: Maybe (OneOf2 DateTime PositiveInteger)

Choice between date times for literal date values, and observation numbers for schedule generated observations.

Choice between:

  1. Observation date time, which should be used when literal observation dates are required.
  2. Observation number, which should be unique, within a series generated by a date schedule.
weightAveragObserv_weight :: Maybe NonNegativeDecimal

Observation weight, which is used as a multiplier for the observation value.