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

Safe HaskellSafe-Infered

Data.FpML.V53.Shared.EQ

Synopsis

Documentation

data AdditionalDisruptionEvents Source

A type for defining ISDA 2002 Equity Derivative Additional Disruption Events.

Constructors

AdditionalDisruptionEvents 

Fields

addDisrupEvents_changeInLaw :: Maybe Boolean

If true, then change in law is applicable.

addDisrupEvents_failureToDeliver :: Maybe Boolean

Where the underlying is shares and the transaction is physically settled, then, if true, a failure to deliver the shares on the settlement date will not be an event of default for the purposes of the master agreement.

addDisrupEvents_insolvencyFiling :: Maybe Boolean

If true, then insolvency filing is applicable.

addDisrupEvents_hedgingDisruption :: Maybe Boolean

If true, then hedging disruption is applicable.

addDisrupEvents_lossOfStockBorrow :: Maybe Boolean

If true, then loss of stock borrow is applicable.

addDisrupEvents_maximumStockLoanRate :: Maybe RestrictedPercentage

Specifies the maximum stock loan rate for Loss of Stock Borrow.

addDisrupEvents_increasedCostOfStockBorrow :: Maybe Boolean

If true, then increased cost of stock borrow is applicable.

addDisrupEvents_initialStockLoanRate :: Maybe RestrictedPercentage

Specifies the initial stock loan rate for Increased Cost of Stock Borrow.

addDisrupEvents_increasedCostOfHedging :: Maybe Boolean

If true, then increased cost of hedging is applicable.

addDisrupEvents_determiningPartyReference :: Maybe PartyReference

A reference to the party which determines additional disruption events.

addDisrupEvents_foreignOwnershipEvent :: Maybe Boolean

If true, then foreign ownership event is applicable.

data AdditionalPaymentAmount Source

Specifies the amount of the fee along with, when applicable, the formula that supports its determination.

Constructors

AdditionalPaymentAmount 

Fields

addPaymentAmount_paymentAmount :: Maybe NonNegativeMoney

The currency amount of the payment.

addPaymentAmount_formula :: Maybe Formula

Specifies a formula, with its description and components.

data AdjustableDateOrRelativeDateSequence Source

A type describing a date defined as subject to adjustment or defined in reference to another date through one or several date offsets.

Constructors

AdjustableDateOrRelativeDateSequence 

Fields

adords_ID :: Maybe ID
 
adords_choice0 :: Maybe (OneOf2 AdjustableDate RelativeDateSequence)

Choice between:

  1. A date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.
  2. A date specified in relation to some other date defined in the document (the anchor date), where there is the opportunity to specify a combination of offset rules. This component will typically be used for defining the valuation date in relation to the payment date, as both the currency and the exchange holiday calendars need to be considered.

data BoundedCorrelation Source

A type describing correlation bounds, which form a cap and a floor on the realized correlation.

Constructors

BoundedCorrelation 

Fields

boundedCorrel_minimumBoundaryPercent :: Maybe Decimal

Minimum Boundary as a percentage of the Strike Price.

boundedCorrel_maximumBoundaryPercent :: Maybe Decimal

Maximum Boundary as a percentage of the Strike Price.

data BoundedVariance Source

A type describing variance bounds, which are used to exclude money price values outside of the specified range In a Up Conditional Swap Underlyer price must be equal to or higher than Lower Barrier In a Down Conditional Swap Underlyer price must be equal to or lower than Upper Barrier In a Corridor Conditional Swap Underlyer price must be equal to or higher than Lower Barrier and must be equal to or lower than Upper Barrier.

Constructors

BoundedVariance 

Fields

boundedVarian_realisedVarianceMethod :: Maybe RealisedVarianceMethodEnum

The contract specifies whether which price must satisfy the boundary condition.

boundedVarian_daysInRangeAdjustment :: Maybe Boolean

The contract specifies whether the notional should be scaled by the Number of Days in Range divided by the Expected N. The number of Days in Ranges refers to the number of returns that contribute to the realized volatility.

boundedVarian_upperBarrier :: Maybe NonNegativeDecimal

All observations above this price level will be excluded from the variance calculation.

boundedVarian_lowerBarrier :: Maybe NonNegativeDecimal

All observations below this price level will be excluded from the variance calculation.

data CalculatedAmount Source

An abstract base class for all calculated money amounts, which are in the currency of the cash multiplier of the calculation.

data Compounding Source

Specifies the compounding method and the compounding rate.

Constructors

Compounding 

Fields

compounding_method :: Maybe CompoundingMethodEnum

If more that one calculation period contributes to a single payment amount this element specifies whether compounding is applicable, and if so, what compounding method is to be used. This element must only be included when more that one calculation period contributes to a single payment amount.

compounding_rate :: Maybe CompoundingRate

Defines a compounding rate. The compounding interest can either point back to the interest calculation node on the Interest Leg, or be defined specifically.

compounding_spread :: Maybe Decimal

Defines the spread to be used for compounding. This field should be used in scenarios where the interest payment is based on a compounding formula that uses a compounding spread in addition to the regular spread.

compounding_dates :: Maybe AdjustableRelativeOrPeriodicDates2

Defines the compounding dates.

data CompoundingRate Source

A type defining a compounding rate. The compounding interest can either point back to the floating rate calculation of interest calculation node on the Interest Leg, or be defined specifically.

Constructors

CompoundingRate 

Fields

compoRate_choice0 :: Maybe (OneOf2 FloatingRateCalculationReference InterestAccrualsMethod)

Choice between:

  1. Reference to the floating rate calculation of interest calculation node on the Interest Leg.
  2. Defines a specific rate.

data Correlation Source

A type describing the correlation amount of a correlation swap.

Constructors

Correlation 

Fields

correlation_choice0 :: Maybe (OneOf3 Decimal Boolean Boolean)

Choice between:

  1. Contract will strike off this initial level.
  2. If true this contract will strike off the closing level of the default exchange traded contract.
  3. If true this contract will strike off the expiring level of the default exchange traded contract.
correlation_expectedN :: Maybe PositiveInteger

Expected number of trading days.

correlation_notionalAmount :: Maybe NonNegativeMoney

Notional amount, which is a cash multiplier.

correlation_strikePrice :: Maybe CorrelationValue

Correlation Strike Price.

correlation_boundedCorrelation :: Maybe BoundedCorrelation

Bounded Correlation.

correlation_numberOfDataSeries :: Maybe PositiveInteger

Number of data series, normal market practice is that correlation data sets are drawn from geographic market areas, such as America, Europe and Asia Pacific, each of these geographic areas will have its own data series to avoid contagion.

data DividendAdjustment Source

Container for Dividend Adjustment Periods, which are used to calculate the Deviation between Expected Dividend and Actual Dividend in that Period.

Constructors

DividendAdjustment 

Fields

dividAdjust_dividendPeriod :: [DividendPeriodDividend]

A single Dividend Adjustment Period.

data DividendConditions Source

A type describing the conditions governing the payment of dividends to the receiver of the equity return. With the exception of the dividend payout ratio, which is defined for each of the underlying components.

Constructors

DividendConditions 

Fields

dividCondit_dividendReinvestment :: Maybe Boolean

Boolean element that defines whether the dividend will be reinvested or not.

dividCondit_dividendEntitlement :: Maybe DividendEntitlementEnum

Defines the date on which the receiver on the equity return is entitled to the dividend.

dividCondit_dividendAmount :: Maybe DividendAmountTypeEnum
 
dividCondit_dividendPaymentDate :: Maybe DividendPaymentDate

Specifies when the dividend will be paid to the receiver of the equity return. Has the meaning as defined in the ISDA 2002 Equity Derivatives Definitions. Is not applicable in the case of a dividend reinvestment election.

dividCondit_choice4 :: Maybe (OneOf2 (Maybe DateReference, Maybe DateReference) DividendPeriodEnum)

Choice between:

  1. Sequence of:
  • Dividend period has the meaning as defined in the ISDA 2002 Equity Derivatives Definitions. This element specifies the date on which the dividend period will commence.
  • Dividend period has the meaning as defined in the ISDA 2002 Equity Derivatives Definitions. This element specifies the date on which the dividend period will end. It includes a boolean attribute for defining whether this end date is included or excluded from the dividend period.
  1. Defines the First Period or the Second Period, as defined in the 2002 ISDA Equity Derivatives Definitions.
dividCondit_extraOrdinaryDividends :: Maybe PartyReference

Reference to the party which determines if dividends are extraordinary in relation to normal levels.

dividCondit_excessDividendAmount :: Maybe DividendAmountTypeEnum

Determination of Gross Cash Dividend per Share.

dividCondit_choice7 :: Maybe (OneOf3 IdentifiedCurrency DeterminationMethod IdentifiedCurrencyReference)

Choice between:

  1. The currency in which an amount is denominated.
  2. Specifies the method according to which an amount or a date is determined.
  3. Reference to a currency defined elsewhere in the document
dividCondit_dividendFxTriggerDate :: Maybe DividendPaymentDate

Specifies the date on which the FX rate will be considered in the case of a Composite FX swap.

dividCondit_interestAccrualsMethod :: Maybe InterestAccrualsCompoundingMethod
 
dividCondit_numberOfIndexUnits :: Maybe NonNegativeDecimal

Defines the Number Of Index Units applicable to a Dividend.

dividCondit_declaredCashDividendPercentage :: Maybe NonNegativeDecimal

Declared Cash Dividend Percentage.

dividCondit_declaredCashEquivalentDividendPercentage :: Maybe NonNegativeDecimal

Declared Cash Equivalent Dividend Percentage.

dividCondit_nonCashDividendTreatment :: Maybe NonCashDividendTreatmentEnum

Defines treatment of Non-Cash Dividends.

dividCondit_dividendComposition :: Maybe DividendCompositionEnum

Defines how the composition of Dividends is to be determined.

dividCondit_specialDividends :: Maybe Boolean

Specifies the method according to which special dividends are determined.

data DividendPaymentDate Source

A type describing the date on which the dividend will be paid/received. This type is also used to specify the date on which the FX rate will be determined, when applicable.

Constructors

DividendPaymentDate 

Fields

dividPaymentDate_choice0 :: Maybe (OneOf2 (Maybe DividendDateReferenceEnum, Maybe Offset) AdjustableDate)

Choice between:

  1. Sequence of:
  • Specification of the dividend date using an enumeration, with values such as the pay date, the ex date or the record date.
  • Only to be used when SharePayment has been specified in the dividendDateReference element. The number of Currency Business Days following the day on which the Issuer of the Shares pays the relevant dividend to holders of record of the Shares.
  1. A date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

data DividendPeriodDividend Source

A time bounded dividend period, with an expected dividend for each period.

Constructors

DividendPeriodDividend 

Fields

dividPeriodDivid_ID :: Maybe ID
 
dividPeriodDivid_unadjustedStartDate :: Maybe IdentifiedDate

Unadjusted inclusive dividend period start date.

dividPeriodDivid_unadjustedEndDate :: Maybe IdentifiedDate

Unadjusted inclusive dividend period end date.

dividPeriodDivid_dateAdjustments :: Maybe BusinessDayAdjustments

Date adjustments for all unadjusted dates in this dividend period.

dividPeriodDivid_underlyerReference :: Maybe AssetReference

Reference to the underlyer which is paying dividends. This should be used in all cases, and must be used where there are multiple underlying assets, to avoid any ambiguity about which asset the dividend period relates to.

dividPeriodDivid_dividend :: Maybe NonNegativeMoney

Expected dividend in this period.

dividPeriodDivid_multiplier :: Maybe PositiveDecimal

Multiplier is a percentage value which is used to produce Deviation by multiplying the difference between Expected Dividend and Actual Dividend Deviation = Multiplier * (Expected Dividend — Actual Dividend).

data EquityCorporateEvents Source

A type for defining the merger events and their treatment.

Constructors

EquityCorporateEvents 

Fields

equityCorporEvents_shareForShare :: Maybe ShareExtraordinaryEventEnum

The consideration paid for the original shares following the Merger Event consists wholly of new shares.

equityCorporEvents_shareForOther :: Maybe ShareExtraordinaryEventEnum

The consideration paid for the original shares following the Merger Event consists wholly of cash/securities other than new shares.

equityCorporEvents_shareForCombined :: Maybe ShareExtraordinaryEventEnum

The consideration paid for the original shares following the Merger Event consists of both cash/securities and new shares.

data EquityPremium Source

A type used to describe the amount paid for an equity option.

Constructors

EquityPremium 

Fields

equityPremium_ID :: Maybe ID
 
equityPremium_payerPartyReference :: Maybe PartyReference

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

equityPremium_payerAccountReference :: Maybe AccountReference

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

equityPremium_receiverPartyReference :: Maybe PartyReference

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

equityPremium_receiverAccountReference :: Maybe AccountReference

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

equityPremium_premiumType :: Maybe PremiumTypeEnum

Forward start Premium type

equityPremium_paymentAmount :: Maybe NonNegativeMoney

The currency amount of the payment.

equityPremium_paymentDate :: Maybe AdjustableDate

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

equityPremium_swapPremium :: Maybe Boolean

Specifies whether or not the premium is to be paid in the style of payments under an interest rate swap contract.

equityPremium_pricePerOption :: Maybe NonNegativeMoney

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

equityPremium_percentageOfNotional :: Maybe NonNegativeDecimal

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.

data EquityStrike 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

EquityStrike 

Fields

equityStrike_choice0 :: Maybe (OneOf2 Decimal (Maybe Decimal, Maybe AdjustableOrRelativeDate))

Choice between:

  1. The price or level at which the option has been struck.
  2. Sequence of:
  • The price or level expressed as a percentage of the forward starting spot price.
  • The date on which the strike is determined, where this is not the effective date of a forward starting option.
equityStrike_currency :: Maybe Currency

The currency in which an amount is denominated.

data EquityValuation Source

A type for defining how and when an equity option is to be valued.

Constructors

EquityValuation 

Fields

equityVal_ID :: Maybe ID
 
equityVal_choice0 :: Maybe (OneOf2 AdjustableDateOrRelativeDateSequence AdjustableRelativeOrPeriodicDates)

Choice between:

  1. The term Valuation Date is assumed to have the meaning as defined in the ISDA 2002 Equity Derivatives Definitions.
  2. Specifies the interim equity valuation dates of a swap.
equityVal_valuationTimeType :: Maybe TimeTypeEnum

The time of day at which the calculation agent values the underlying, for example the official closing time of the exchange.

equityVal_valuationTime :: Maybe BusinessCenterTime

The specific time of day at which the calculation agent values the underlying.

equityVal_futuresPriceValuation :: Maybe Boolean

The official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions.

equityVal_optionsPriceValuation :: Maybe Boolean

The official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions.

equityVal_numberOfValuationDates :: Maybe NonNegativeInteger

The number of valuation dates between valuation start date and valuation end date.

equityVal_dividendValuationDates :: Maybe AdjustableRelativeOrPeriodicDates

Specifies the dividend valuation dates of the swap.

equityVal_fPVFinalPriceElectionFallback :: Maybe FPVFinalPriceElectionFallbackEnum

Specifies the fallback provisions for Hedging Party in the determination of the Final Price.

data ExtraordinaryEvents Source

Where the underlying is shares, defines market events affecting the issuer of those shares that may require the terms of the transaction to be adjusted.

Constructors

ExtraordinaryEvents 

Fields

extraEvents_mergerEvents :: Maybe EquityCorporateEvents

Occurs when the underlying ceases to exist following a merger between the Issuer and another company.

extraEvents_tenderOffer :: Maybe Boolean

If present and true, then tender offer is applicable.

extraEvents_tenderOfferEvents :: Maybe EquityCorporateEvents

ISDA 2002 Equity Tender Offer Events.

extraEvents_compositionOfCombinedConsideration :: Maybe Boolean

If present and true, then composition of combined consideration is applicable.

extraEvents_indexAdjustmentEvents :: Maybe IndexAdjustmentEvents

ISDA 2002 Equity Index Adjustment Events.

extraEvents_choice5 :: Maybe (OneOf2 AdditionalDisruptionEvents Boolean)

Choice between:

  1. ISDA 2002 Equity Additional Disruption Events.
  2. If true, failure to deliver is applicable.
extraEvents_representations :: Maybe Representations

ISDA 2002 Equity Derivative Representations.

extraEvents_nationalisationOrInsolvency :: Maybe NationalisationOrInsolvencyOrDelistingEventEnum

The terms Nationalisation and Insolvency have the meaning as defined in the ISDA 2002 Equity Derivatives Definitions.

extraEvents_delisting :: Maybe NationalisationOrInsolvencyOrDelistingEventEnum

The term Delisting has the meaning defined in the ISDA 2002 Equity Derivatives Definitions.

extraEvents_relatedExchangeId :: [ExchangeId]

A short form unique identifier for a related exchange. If the element is not present then the exchange shall be the primary exchange on which listed futures and options on the underlying are listed. The term Exchange is assumed to have the meaning as defined in the ISDA 2002 Equity Derivatives Definitions.

extraEvents_optionsExchangeId :: [ExchangeId]

A short form unique identifier for an exchange on which the reference option contract is listed. This is to address the case where the reference exchange for the future is different than the one for the option. The options Exchange is referenced on share options when Merger Elections are selected as Options Exchange Adjustment.

extraEvents_specifiedExchangeId :: [ExchangeId]

A short form unique identifier for a specified exchange. If the element is not present then the exchange shall be default terms as defined in the MCA; unless otherwise specified in the Transaction Supplement.

data IndexAdjustmentEvents Source

Defines the specification of the consequences of Index Events as defined by the 2002 ISDA Equity Derivatives Definitions.

data InterestCalculation Source

Specifies the calculation method of the interest rate leg of the return swap. Includes the floating or fixed rate calculation definitions, along with the determination of the day count fraction.

Constructors

InterestCalculation 

Fields

interCalc_ID :: Maybe ID
 
interCalc_choice0 :: OneOf2 FloatingRateCalculation Decimal

Choice between:

  1. The floating rate calculation definitions
  2. The calculation period fixed rate. A per annum rate, expressed as a decimal. A fixed rate of 5% would be represented as 0.05.
interCalc_dayCountFraction :: Maybe DayCountFraction

The day count fraction.

interCalc_compounding :: Maybe Compounding

Defines compounding rates on the Interest Leg.

interCalc_interpolationMethod :: Maybe InterpolationMethod

Specifies the type of interpolation used.

interCalc_interpolationPeriod :: Maybe InterpolationPeriodEnum

Defines applicable periods for interpolation.

data InterestLeg Source

A type describing the fixed income leg of the equity swap.

Constructors

InterestLeg 

Fields

interestLeg_ID :: Maybe ID
 
interestLeg_legIdentifier :: [LegIdentifier]

Version aware identification of this leg.

interestLeg_payerPartyReference :: Maybe PartyReference

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

interestLeg_payerAccountReference :: Maybe AccountReference

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

interestLeg_receiverPartyReference :: Maybe PartyReference

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

interestLeg_receiverAccountReference :: Maybe AccountReference

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

interestLeg_effectiveDate :: Maybe AdjustableOrRelativeDate

Specifies the effective date of this leg of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically point to the effective date of the other leg of the swap.

interestLeg_terminationDate :: Maybe AdjustableOrRelativeDate

Specifies the termination date of this leg of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically point to the termination date of the other leg of the swap.

interestLeg_calculationPeriodDates :: Maybe InterestLegCalculationPeriodDates

Component that holds the various dates used to specify the interest leg of the equity swap. It is used to define the InterestPeriodDates identifyer.

interestLeg_notional :: Maybe ReturnSwapNotional

Specifies the notional of a return type swap. When used in the equity leg, the definition will typically combine the actual amount (using the notional component defined by the FpML industry group) and the determination method. When used in the interest leg, the definition will typically point to the definition of the equity leg.

interestLeg_interestAmount :: Maybe LegAmount

Specifies, in relation to each Interest Payment Date, the amount to which the Interest Payment Date relates. Unless otherwise specified, this term has the meaning defined in the ISDA 2000 ISDA Definitions.

interestLeg_interestCalculation :: InterestCalculation

Specifies the calculation method of the interest rate leg of the equity swap. Includes the floating or fixed rate calculation definitions, along with the determination of the day count fraction.

interestLeg_stubCalculationPeriod :: Maybe StubCalculationPeriod

Specifies the stub calculation period.

data InterestLegCalculationPeriodDates Source

Component that holds the various dates used to specify the interest leg of the return swap. It is used to define the InterestPeriodDates identifyer.

Constructors

InterestLegCalculationPeriodDates 

Fields

interLegCalcPeriodDates_ID :: ID
 
interLegCalcPeriodDates_effectiveDate :: Maybe AdjustableOrRelativeDate

Specifies the effective date of the return swap. This global element is valid within the return swaps namespace. Within the FpML namespace, another effectiveDate global element has been defined, that is different in the sense that it does not propose the choice of refering to another date in the document.

interLegCalcPeriodDates_terminationDate :: Maybe AdjustableOrRelativeDate

Specifies the termination date of the return swap. This global element is valid within the return swaps namespace. Within the FpML namespace, another terminationDate global element has been defined, that is different in the sense that it does not propose the choice of refering to another date in the document.

interLegCalcPeriodDates_interestLegResetDates :: Maybe InterestLegResetDates

Specifies the reset dates of the interest leg of the swap.

interLegCalcPeriodDates_interestLegPaymentDates :: Maybe AdjustableRelativeOrPeriodicDates2

Specifies the payment dates of the interest leg of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDates component), this element will typically point to the payment dates of the equity leg of the swap.

data InterestLegResetDates Source

Constructors

InterestLegResetDates 

Fields

interLegResetDates_calculationPeriodDatesReference :: Maybe InterestLegCalculationPeriodDatesReference

A pointer style reference to the associated calculation period dates component defined elsewhere in the document.

interLegResetDates_choice1 :: Maybe (OneOf2 ResetRelativeToEnum ResetFrequency)

Choice between:

  1. Specifies whether the reset dates are determined with respect to each adjusted calculation period start date or adjusted calculation period end date. If the reset frequency is specified as daily this element must not be included.
  2. The frequency at which reset dates occur. In the case of a weekly reset frequency, also specifies the day of the week that the reset occurs. If the reset frequency is greater than the calculation period frequency then this implies that more than one reset date is established for each calculation period and some form of rate averaging is applicable.
interLegResetDates_initialFixingDate :: Maybe RelativeDateOffset

Initial fixing date expressed as an offset to another date defined elsewhere in the document.

interLegResetDates_fixingDates :: Maybe AdjustableDatesOrRelativeDateOffset

Specifies the fixing date relative to the reset date in terms of a business days offset, or by providing a series of adjustable dates.

data LegAmount Source

A type describing the amount that will paid or received on each of the payment dates. This type is used to define both the Equity Amount and the Interest Amount.

Constructors

LegAmount 

Fields

legAmount_choice0 :: Maybe (OneOf3 IdentifiedCurrency DeterminationMethod IdentifiedCurrencyReference)

Choice between:

  1. The currency in which an amount is denominated.
  2. Specifies the method according to which an amount or a date is determined.
  3. Reference to a currency defined elsewhere in the document
legAmount_choice1 :: Maybe (OneOf3 ReferenceAmount Formula Base64Binary)

Choice between:

  1. Specifies the reference Amount when this term either corresponds to the standard ISDA Definition (either the 2002 Equity Definition for the Equity Amount, or the 2000 Definition for the Interest Amount), or points to a term defined elsewhere in the swap document.
  2. Specifies a formula, with its description and components.
  3. Description of the leg amount when represented through an encoded image.
legAmount_calculationDates :: Maybe AdjustableRelativeOrPeriodicDates

Specifies the date on which a calculation or an observation will be performed for the purpose of defining the Equity Amount, and in accordance to the definition terms of this latter.

data LegIdentifier Source

Version aware identification of a leg.

Constructors

LegIdentifier 

Fields

legIdent_legId :: Maybe LegId

Identity of this leg.

legIdent_version :: Maybe NonNegativeInteger

The version number

legIdent_effectiveDate :: Maybe IdentifiedDate

Optionally it is possible to specify a version effective date when a versionId is supplied.

data MakeWholeProvisions Source

A type to hold early exercise provisions.

Constructors

MakeWholeProvisions 

Fields

makeWholeProvis_makeWholeDate :: Maybe Date

Date through which option can not be exercised without penalty.

makeWholeProvis_recallSpread :: Maybe Decimal

Spread used if exercised before make whole date. Early termination penalty. Expressed in bp, e.g. 25 bp.

data OptionFeatures Source

A type for defining option features.

Constructors

OptionFeatures 

Fields

optionFeatur_asian :: Maybe Asian

An option where and average price is taken on valuation.

optionFeatur_barrier :: Maybe Barrier

An option with a barrier feature.

optionFeatur_knock :: Maybe Knock

A knock feature.

optionFeatur_passThrough :: Maybe PassThrough

Pass through payments from the underlyer, such as dividends.

optionFeatur_dividendAdjustment :: Maybe DividendAdjustment

Dividend adjustment of the contract is driven by the difference between the Expected Dividend, and the Actual Dividend, which is multiplied by an agreed Factor to produce a Deviation, which is used as the basis for adjusting the contract. The parties acknowledge that in determining the Call Strike Price of the Transaction the parties have assumed that the Dividend scheduled to be paid by the Issuer to holders of record of the Shares, in the period set out in Column headed Relevant Period will equal per Share the amount stated in respect of such Relevant Period.

data PrincipalExchangeAmount Source

Specifies the principal exchange amount, either by explicitly defining it, or by point to an amount defined somewhere else in the swap document.

Constructors

PrincipalExchangeAmount 

Fields

princExchAmount_choice0 :: Maybe (OneOf3 AmountReference DeterminationMethod NonNegativeMoney)

Choice between:

  1. Reference to an amount defined elsewhere in the document.
  2. Specifies the method according to which an amount or a date is determined.
  3. Principal exchange amount when explictly stated.

data PrincipalExchangeDescriptions Source

Specifies each of the characteristics of the principal exchange cashflows, in terms of paying/receiving counterparties, amounts and dates.

Constructors

PrincipalExchangeDescriptions 

Fields

princExchDescr_payerPartyReference :: Maybe PartyReference

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

princExchDescr_payerAccountReference :: Maybe AccountReference

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

princExchDescr_receiverPartyReference :: Maybe PartyReference

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

princExchDescr_receiverAccountReference :: Maybe AccountReference

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

princExchDescr_principalExchangeAmount :: Maybe PrincipalExchangeAmount

Specifies the principal echange amount, either by explicitly defining it, or by point to an amount defined somewhere else in the swap document.

princExchDescr_principalExchangeDate :: Maybe AdjustableOrRelativeDate

Date on which each of the principal exchanges will take place. This date is either explictly stated, or is defined by reference to another date in the swap document. In this latter case, it will typically refer to one other date of the equity leg: either the effective date (initial exchange), or the last payment date (final exchange).

data PrincipalExchangeFeatures Source

A type describing the principal exchange features of the return swap.

Constructors

PrincipalExchangeFeatures 

Fields

princExchFeatur_principalExchanges :: Maybe PrincipalExchanges

The true/false flags indicating whether initial, intermediate or final exchanges of principal should occur.

princExchFeatur_principalExchangeDescriptions :: [PrincipalExchangeDescriptions]

Specifies each of the characteristics of the principal exchange cashflows, in terms of paying/receiving counterparties, amounts and dates.

data Representations Source

A type for defining ISDA 2002 Equity Derivative Representations.

Constructors

Representations 

Fields

repres_nonReliance :: Maybe Boolean

If true, then non reliance is applicable.

repres_agreementsRegardingHedging :: Maybe Boolean

If true, then agreements regarding hedging are applicable.

repres_indexDisclaimer :: Maybe Boolean

If present and true, then index disclaimer is applicable.

repres_additionalAcknowledgements :: Maybe Boolean

If true, then additional acknowledgements are applicable.

data Return Source

A type describing the dividend return conditions applicable to the swap.

Constructors

Return 

Fields

return_type :: ReturnTypeEnum

Defines the type of return associated with the return swap.

return_dividendConditions :: Maybe DividendConditions

Specifies the conditions governing the payment of the dividends to the receiver of the equity return. With the exception of the dividend payout ratio, which is defined for each of the underlying components.

data ReturnLeg Source

A type describing the return leg of a return type swap.

Constructors

ReturnLeg 

Fields

returnLeg_ID :: Maybe ID
 
returnLeg_legIdentifier :: [LegIdentifier]

Version aware identification of this leg.

returnLeg_payerPartyReference :: Maybe PartyReference

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

returnLeg_payerAccountReference :: Maybe AccountReference

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

returnLeg_receiverPartyReference :: Maybe PartyReference

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

returnLeg_receiverAccountReference :: Maybe AccountReference

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

returnLeg_effectiveDate :: Maybe AdjustableOrRelativeDate

Specifies the effective date of this leg of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically point to the effective date of the other leg of the swap.

returnLeg_terminationDate :: Maybe AdjustableOrRelativeDate

Specifies the termination date of this leg of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically point to the termination date of the other leg of the swap.

returnLeg_strikeDate :: Maybe AdjustableOrRelativeDate

Specifies the strike date of this leg of the swap, used for forward starting swaps. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically by relative to the trade date of the swap.

returnLeg_underlyer :: Underlyer

Specifies the underlying component of the leg, which can be either one or many and consists in either equity, index or convertible bond component, or a combination of these.

returnLeg_rateOfReturn :: ReturnLegValuation

Specifies the terms of the initial price of the return type swap and of the subsequent valuations of the underlyer.

returnLeg_notional :: Maybe ReturnSwapNotional

Specifies the notional of a return type swap. When used in the equity leg, the definition will typically combine the actual amount (using the notional component defined by the FpML industry group) and the determination method. When used in the interest leg, the definition will typically point to the definition of the equity leg.

returnLeg_amount :: ReturnSwapAmount

Specifies, in relation to each Payment Date, the amount to which the Payment Date relates. For return swaps this element is equivalent to the Equity Amount term as defined in the ISDA 2002 Equity Derivatives Definitions.

returnLeg_return :: Maybe Return

Specifies the conditions under which dividend affecting the underlyer will be paid to the receiver of the amounts.

returnLeg_notionalAdjustments :: Maybe NotionalAdjustmentEnum

Specifies the conditions that govern the adjustment to the number of units of the return swap.

returnLeg_fxFeature :: Maybe FxFeature

A quanto or composite FX feature.

returnLeg_averagingDates :: Maybe AveragingPeriod

Averaging Dates used in the swap.

data ReturnLegValuation Source

A type describing the initial and final valuation of the underlyer.

Constructors

ReturnLegValuation 

Fields

returnLegVal_initialPrice :: Maybe ReturnLegValuationPrice

Specifies the initial reference price of the underlyer. This price can be expressed either as an actual amount/currency, as a determination method, or by reference to another value specified in the swap document.

returnLegVal_notionalReset :: Maybe Boolean
 
returnLegVal_valuationPriceInterim :: Maybe ReturnLegValuationPrice

Specifies the final valuation price of the underlyer. This price can be expressed either as an actual amount/currency, as a determination method, or by reference to another value specified in the swap document.

returnLegVal_valuationPriceFinal :: Maybe ReturnLegValuationPrice

Specifies the final valuation price of the underlyer. This price can be expressed either as an actual amount/currency, as a determination method, or by reference to another value specified in the swap document.

returnLegVal_paymentDates :: Maybe ReturnSwapPaymentDates

Specifies the payment dates of the swap.

returnLegVal_exchangeTradedContractNearest :: Maybe ExchangeTradedContract

References a Contract on the Exchange.

data ReturnLegValuationPrice Source

Constructors

ReturnLegValuationPrice 

Fields

returnLegValPrice_commission :: Maybe Commission

This optional component specifies the commission to be charged for executing the hedge transactions.

returnLegValPrice_choice1 :: OneOf3 (DeterminationMethod, Maybe ActualPrice, Maybe ActualPrice, Maybe Decimal, Maybe FxConversion) AmountReference (Maybe ActualPrice, Maybe ActualPrice, Maybe Decimal, Maybe FxConversion)

Choice between:

  1. Sequence of:
  • Specifies the method according to which an amount or a date is determined.
  • Specifies the price of the underlyer, before commissions.
  • Specifies the price of the underlyer, net of commissions.
  • Specifies the accrued interest that are part of the dirty price in the case of a fixed income security or a convertible bond. Expressed in percentage of the notional.
  • Specifies the currency conversion rate that applies to an amount. This rate can either be defined elsewhere in the document (case of a quanto swap), or explicitly described through this component.
  1. The href attribute value will be a pointer style reference to the element or component elsewhere in the document where the anchor amount is defined.
  2. Sequence of:
  • Specifies the price of the underlyer, before commissions.
  • Specifies the price of the underlyer, net of commissions.
  • Specifies the accrued interest that are part of the dirty price in the case of a fixed income security or a convertible bond. Expressed in percentage of the notional.
  • Specifies the currency conversion rate that applies to an amount. This rate can either be defined elsewhere in the document (case of a quanto swap), or explicitly described through this component.
returnLegValPrice_cleanNetPrice :: Maybe Decimal

The net price excluding accrued interest. The Dirty Price for bonds is put in the netPrice element, which includes accrued interest. Thus netPrice - cleanNetPrice = accruedInterest. The currency and price expression for this field are the same as those for the (dirty) netPrice.

returnLegValPrice_quotationCharacteristics :: Maybe QuotationCharacteristics

Allows information about how the price was quoted to be provided.

returnLegValPrice_valuationRules :: Maybe EquityValuation

Specifies valuation.

data ReturnSwap Source

A type describing return swaps including return swaps (long form), total return swaps, and variance swaps.

Constructors

ReturnSwap 

Fields

returnSwap_ID :: Maybe ID
 
returnSwap_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.

returnSwap_secondaryAssetClass :: [AssetClass]

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

returnSwap_productType :: [ProductType]

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

returnSwap_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.

returnSwap_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.

returnSwap_buyerAccountReference :: Maybe AccountReference

A reference to the account that buys this instrument.

returnSwap_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.

returnSwap_sellerAccountReference :: Maybe AccountReference

A reference to the account that sells this instrument.

returnSwap_leg :: [DirectionalLeg]

An placeholder for the actual Return Swap Leg definition.

returnSwap_principalExchangeFeatures :: Maybe PrincipalExchangeFeatures

This is used to document a Fully Funded Return Swap.

returnSwap_additionalPayment :: [ReturnSwapAdditionalPayment]

Specifies additional payment(s) between the principal parties to the trade.

returnSwap_earlyTermination :: [ReturnSwapEarlyTermination]

Specifies, for one or for both the parties to the trade, the date from which it can early terminate it.

returnSwap_extraordinaryEvents :: Maybe ExtraordinaryEvents

Where the underlying is shares, specifies events affecting the issuer of those shares that may require the terms of the transaction to be adjusted.

data ReturnSwapAdditionalPayment Source

A type describing the additional payment(s) between the principal parties to the trade. This component extends some of the features of the additionalPayment component previously developed in FpML. Appropriate discussions will determine whether it would be appropriate to extend the shared component in order to meet the further requirements of equity swaps.

Constructors

ReturnSwapAdditionalPayment 

Fields

returnSwapAddPayment_ID :: Maybe ID
 
returnSwapAddPayment_payerPartyReference :: Maybe PartyReference

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

returnSwapAddPayment_payerAccountReference :: Maybe AccountReference

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

returnSwapAddPayment_receiverPartyReference :: Maybe PartyReference

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

returnSwapAddPayment_receiverAccountReference :: Maybe AccountReference

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

returnSwapAddPayment_additionalPaymentAmount :: Maybe AdditionalPaymentAmount

Specifies the amount of the fee along with, when applicable, the formula that supports its determination.

returnSwapAddPayment_additionalPaymentDate :: Maybe AdjustableOrRelativeDate

Specifies the value date of the fee payment/receipt.

returnSwapAddPayment_paymentType :: Maybe PaymentType

Classification of the payment.

data ReturnSwapAmount Source

Specifies, in relation to each Payment Date, the amount to which the Payment Date relates. For Equity Swaps this element is equivalent to the Equity Amount term as defined in the ISDA 2002 Equity Derivatives Definitions.

Constructors

ReturnSwapAmount 

Fields

returnSwapAmount_choice0 :: Maybe (OneOf3 IdentifiedCurrency DeterminationMethod IdentifiedCurrencyReference)

Choice between:

  1. The currency in which an amount is denominated.
  2. Specifies the method according to which an amount or a date is determined.
  3. Reference to a currency defined elsewhere in the document
returnSwapAmount_choice1 :: Maybe (OneOf3 ReferenceAmount Formula Base64Binary)

Choice between:

  1. Specifies the reference Amount when this term either corresponds to the standard ISDA Definition (either the 2002 Equity Definition for the Equity Amount, or the 2000 Definition for the Interest Amount), or points to a term defined elsewhere in the swap document.
  2. Specifies a formula, with its description and components.
  3. Description of the leg amount when represented through an encoded image.
returnSwapAmount_calculationDates :: Maybe AdjustableRelativeOrPeriodicDates

Specifies the date on which a calculation or an observation will be performed for the purpose of defining the Equity Amount, and in accordance to the definition terms of this latter.

returnSwapAmount_cashSettlement :: Maybe Boolean

If true, then cash settlement is applicable.

returnSwapAmount_optionsExchangeDividends :: Maybe Boolean

If present and true, then options exchange dividends are applicable.

returnSwapAmount_additionalDividends :: Maybe Boolean

If present and true, then additional dividends are applicable.

returnSwapAmount_allDividends :: Maybe Boolean

Represents the European Master Confirmation value of 'All Dividends' which, when applicable, signifies that, for a given Ex-Date, the daily observed Share Price for that day is adjusted (reduced) by the cash dividend and/or the cash value of any non cash dividend per Share (including Extraordinary Dividends) declared by the Issuer.

data ReturnSwapEarlyTermination Source

A type describing the date from which each of the party may be allowed to terminate the trade.

Constructors

ReturnSwapEarlyTermination 

Fields

returnSwapEarlyTermin_partyReference :: Maybe PartyReference

Reference to a party defined elsewhere in this document which may be allowed to terminate the trade.

returnSwapEarlyTermin_startingDate :: Maybe StartingDate

Specifies the date from which the early termination clause can be exercised.

data ReturnSwapNotional Source

Specifies the notional of return type swap. When used in the equity leg, the definition will typically combine the actual amount (using the notional component defined by the FpML industry group) and the determination method. When used in the interest leg, the definition will typically point to the definition of the equity leg.

Constructors

ReturnSwapNotional 

Fields

returnSwapNotion_ID :: Maybe ID
 
returnSwapNotion_choice0 :: Maybe (OneOf4 ReturnSwapNotionalAmountReference DeterminationMethodReference DeterminationMethod NotionalAmount)

Choice between:

  1. A reference to the return swap notional amount defined elsewhere in this document.
  2. A reference to the return swap notional determination method defined elsewhere in this document.
  3. Specifies the method according to which an amount or a date is determined.
  4. The notional amount.

data ReturnSwapPaymentDates Source

A type describing the return payment dates of the swap.

Constructors

ReturnSwapPaymentDates 

Fields

returnSwapPaymentDates_ID :: Maybe ID
 
returnSwapPaymentDates_paymentDatesInterim :: Maybe AdjustableOrRelativeDates

Specifies the interim payment dates of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDates component), this element will typically refer to the valuation dates and add a lag corresponding to the settlement cycle of the underlyer.

returnSwapPaymentDates_paymentDateFinal :: Maybe AdjustableOrRelativeDate

Specifies the final payment date of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically refer to the final valuation date and add a lag corresponding to the settlement cycle of the underlyer.

data StartingDate Source

A type specifying the date from which the early termination clause can be exercised.

Constructors

StartingDate 

Fields

startingDate_choice0 :: Maybe (OneOf2 DateReference AdjustableDate)

Choice between:

  1. Reference to a date defined elswhere in the document.
  2. Date from which early termination clause can be exercised.

data StubCalculationPeriod Source

A type describing the Stub Calculation Period.

Constructors

StubCalculationPeriod 

Fields

stubCalcPeriod_choice0 :: Maybe (OneOf1 (Maybe Stub, Maybe Stub))

Choice group between mandatory specification of initial stub and optional specification of final stub, or mandatory final stub.

Choice between:

  1. Sequence of:
  • initialStub
  • finalStub

data Variance Source

A type describing the variance amount of a variance swap.

Constructors

Variance 

Fields

variance_choice0 :: Maybe (OneOf3 Decimal Boolean Boolean)

Choice between:

  1. Contract will strike off this initial level.
  2. If true this contract will strike off the closing level of the default exchange traded contract.
  3. If true this contract will strike off the expiring level of the default exchange traded contract.
variance_expectedN :: Maybe PositiveInteger

Expected number of trading days.

variance_amount :: Maybe NonNegativeMoney

Variance amount, which is a cash multiplier.

variance_choice3 :: Maybe (OneOf2 NonNegativeDecimal NonNegativeDecimal)

Choice between expressing the strike as volatility or variance.

Choice between:

  1. volatilityStrikePrice
  2. varianceStrikePrice
variance_cap :: Maybe Boolean

If present and true, then variance cap is applicable.

variance_unadjustedVarianceCap :: Maybe PositiveDecimal

For use when varianceCap is applicable. Contains the scaling factor of the Variance Cap that can differ on a trade-by-trade basis in the European market. For example, a Variance Cap of 2.5^2 x Variance Strike Price has an unadjustedVarianceCap of 2.5.

variance_boundedVariance :: Maybe BoundedVariance

Conditions which bound variance. The contract specifies one or more boundary levels. These levels are expressed as prices for confirmation purposes Underlyer price must be equal to or higher than Lower Barrier is known as Up Conditional Swap Underlyer price must be equal to or lower than Upper Barrier is known as Down Conditional Swap Underlyer price must be equal to or higher than Lower Barrier and must be equal to or lower than Upper Barrier is known as Barrier Conditional Swap.

variance_exchangeTradedContractNearest :: Maybe ExchangeTradedContract

Specification of the exchange traded contract nearest.

variance_vegaNotionalAmount :: Maybe Decimal

Vega Notional represents the approximate gain/loss at maturity for a 1% difference between RVol (realised vol) and KVol (strike vol). It does not necessarily represent the Vega Risk of the trade.

elementInterestLeg :: XMLParser InterestLegSource

The fixed income amounts of the return type swap.

elementReturnLeg :: XMLParser ReturnLegSource

Return amounts of the return type swap.

elementReturnSwap :: XMLParser ReturnSwapSource

Specifies the structure of a return type swap. It can represent return swaps, total return swaps, variance swaps.

elementReturnSwapLeg :: XMLParser DirectionalLegSource

An placeholder for the actual Return Swap Leg definition.