{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} module Data.FpML.V53.Shared.EQ ( module Data.FpML.V53.Shared.EQ , module Data.FpML.V53.Shared.Option ) where import Text.XML.HaXml.Schema.Schema (SchemaType(..),SimpleType(..),Extension(..),Restricts(..)) import Text.XML.HaXml.Schema.Schema as Schema import qualified Text.XML.HaXml.Schema.PrimitiveTypes as Xsd import {-# SOURCE #-} Data.FpML.V53.Shared.Option -- | A type for defining ISDA 2002 Equity Derivative Additional -- Disruption Events. data AdditionalDisruptionEvents instance Eq AdditionalDisruptionEvents instance Show AdditionalDisruptionEvents instance SchemaType AdditionalDisruptionEvents -- | Specifies the amount of the fee along with, when -- applicable, the formula that supports its determination. data AdditionalPaymentAmount instance Eq AdditionalPaymentAmount instance Show AdditionalPaymentAmount instance SchemaType AdditionalPaymentAmount -- | A type describing a date defined as subject to adjustment -- or defined in reference to another date through one or -- several date offsets. data AdjustableDateOrRelativeDateSequence instance Eq AdjustableDateOrRelativeDateSequence instance Show AdjustableDateOrRelativeDateSequence instance SchemaType AdjustableDateOrRelativeDateSequence -- | A type describing correlation bounds, which form a cap and -- a floor on the realized correlation. data BoundedCorrelation instance Eq BoundedCorrelation instance Show BoundedCorrelation instance SchemaType BoundedCorrelation -- | 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. data BoundedVariance instance Eq BoundedVariance instance Show BoundedVariance instance SchemaType BoundedVariance -- | An abstract base class for all calculated money amounts, -- which are in the currency of the cash multiplier of the -- calculation. data CalculatedAmount instance Eq CalculatedAmount instance Show CalculatedAmount instance SchemaType CalculatedAmount -- | Abstract base class for all calculation from observed -- values. data CalculationFromObservation instance Eq CalculationFromObservation instance Show CalculationFromObservation instance SchemaType CalculationFromObservation -- | Specifies the compounding method and the compounding rate. data Compounding instance Eq Compounding instance Show Compounding instance SchemaType Compounding -- | 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. data CompoundingRate instance Eq CompoundingRate instance Show CompoundingRate instance SchemaType CompoundingRate -- | A type describing the correlation amount of a correlation -- swap. data Correlation instance Eq Correlation instance Show Correlation instance SchemaType Correlation instance Extension Correlation CalculationFromObservation -- | An abstract base class for all directional leg types with -- effective date, termination date, where a payer makes a -- stream of payments of greater than zero value to a -- receiver. data DirectionalLeg instance Eq DirectionalLeg instance Show DirectionalLeg instance SchemaType DirectionalLeg instance Extension DirectionalLeg Leg -- | An abstract base class for all directional leg types with -- effective date, termination date, and underlyer where a -- payer makes a stream of payments of greater than zero value -- to a receiver. data DirectionalLegUnderlyer instance Eq DirectionalLegUnderlyer instance Show DirectionalLegUnderlyer instance SchemaType DirectionalLegUnderlyer instance Extension DirectionalLegUnderlyer DirectionalLeg -- | An abstract base class for all directional leg types with -- effective date, termination date, and underlyer, where a -- payer makes a stream of payments of greater than zero value -- to a receiver. data DirectionalLegUnderlyerValuation instance Eq DirectionalLegUnderlyerValuation instance Show DirectionalLegUnderlyerValuation instance SchemaType DirectionalLegUnderlyerValuation instance Extension DirectionalLegUnderlyerValuation DirectionalLegUnderlyer -- | Container for Dividend Adjustment Periods, which are used -- to calculate the Deviation between Expected Dividend and -- Actual Dividend in that Period. data DividendAdjustment instance Eq DividendAdjustment instance Show DividendAdjustment instance SchemaType DividendAdjustment -- | 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. data DividendConditions instance Eq DividendConditions instance Show DividendConditions instance SchemaType DividendConditions -- | 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. data DividendPaymentDate instance Eq DividendPaymentDate instance Show DividendPaymentDate instance SchemaType DividendPaymentDate -- | Abstract base class of all time bounded dividend period -- types. data DividendPeriod instance Eq DividendPeriod instance Show DividendPeriod instance SchemaType DividendPeriod -- | A time bounded dividend period, with an expected dividend -- for each period. data DividendPeriodDividend instance Eq DividendPeriodDividend instance Show DividendPeriodDividend instance SchemaType DividendPeriodDividend instance Extension DividendPeriodDividend DividendPeriod -- | A type for defining the merger events and their treatment. data EquityCorporateEvents instance Eq EquityCorporateEvents instance Show EquityCorporateEvents instance SchemaType EquityCorporateEvents -- | A type used to describe the amount paid for an equity -- option. data EquityPremium instance Eq EquityPremium instance Show EquityPremium instance SchemaType EquityPremium instance Extension EquityPremium PaymentBase -- | 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. data EquityStrike instance Eq EquityStrike instance Show EquityStrike instance SchemaType EquityStrike -- | A type for defining how and when an equity option is to be -- valued. data EquityValuation instance Eq EquityValuation instance Show EquityValuation instance SchemaType EquityValuation -- | 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. data ExtraordinaryEvents instance Eq ExtraordinaryEvents instance Show ExtraordinaryEvents instance SchemaType ExtraordinaryEvents -- | Reference to a floating rate calculation of interest -- calculation component. data FloatingRateCalculationReference instance Eq FloatingRateCalculationReference instance Show FloatingRateCalculationReference instance SchemaType FloatingRateCalculationReference instance Extension FloatingRateCalculationReference Reference -- | Defines the specification of the consequences of Index -- Events as defined by the 2002 ISDA Equity Derivatives -- Definitions. data IndexAdjustmentEvents instance Eq IndexAdjustmentEvents instance Show IndexAdjustmentEvents instance SchemaType IndexAdjustmentEvents -- | 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. data InterestCalculation instance Eq InterestCalculation instance Show InterestCalculation instance SchemaType InterestCalculation instance Extension InterestCalculation InterestAccrualsMethod -- | A type describing the fixed income leg of the equity swap. data InterestLeg instance Eq InterestLeg instance Show InterestLeg instance SchemaType InterestLeg instance Extension InterestLeg DirectionalLeg instance Extension InterestLeg Leg -- | Component that holds the various dates used to specify the -- interest leg of the return swap. It is used to define the -- InterestPeriodDates identifyer. data InterestLegCalculationPeriodDates instance Eq InterestLegCalculationPeriodDates instance Show InterestLegCalculationPeriodDates instance SchemaType InterestLegCalculationPeriodDates -- | Reference to the calculation period dates of the interest -- leg. data InterestLegCalculationPeriodDatesReference instance Eq InterestLegCalculationPeriodDatesReference instance Show InterestLegCalculationPeriodDatesReference instance SchemaType InterestLegCalculationPeriodDatesReference instance Extension InterestLegCalculationPeriodDatesReference Reference data InterestLegResetDates instance Eq InterestLegResetDates instance Show InterestLegResetDates instance SchemaType InterestLegResetDates -- | 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. data LegAmount instance Eq LegAmount instance Show LegAmount instance SchemaType LegAmount -- | Leg identity. data LegId data LegIdAttributes instance Eq LegId instance Eq LegIdAttributes instance Show LegId instance Show LegIdAttributes instance SchemaType LegId instance Extension LegId Token60 -- | Version aware identification of a leg. data LegIdentifier instance Eq LegIdentifier instance Show LegIdentifier instance SchemaType LegIdentifier -- | A type to hold early exercise provisions. data MakeWholeProvisions instance Eq MakeWholeProvisions instance Show MakeWholeProvisions instance SchemaType MakeWholeProvisions -- | An abstract base class for all swap types which have a -- single netted leg, such as Variance Swaps, and Correlation -- Swaps. data NettedSwapBase instance Eq NettedSwapBase instance Show NettedSwapBase instance SchemaType NettedSwapBase instance Extension NettedSwapBase Product -- | A type for defining option features. data OptionFeatures instance Eq OptionFeatures instance Show OptionFeatures instance SchemaType OptionFeatures -- | Specifies the principal exchange amount, either by -- explicitly defining it, or by point to an amount defined -- somewhere else in the swap document. data PrincipalExchangeAmount instance Eq PrincipalExchangeAmount instance Show PrincipalExchangeAmount instance SchemaType PrincipalExchangeAmount -- | Specifies each of the characteristics of the principal -- exchange cashflows, in terms of paying/receiving -- counterparties, amounts and dates. data PrincipalExchangeDescriptions instance Eq PrincipalExchangeDescriptions instance Show PrincipalExchangeDescriptions instance SchemaType PrincipalExchangeDescriptions -- | A type describing the principal exchange features of the -- return swap. data PrincipalExchangeFeatures instance Eq PrincipalExchangeFeatures instance Show PrincipalExchangeFeatures instance SchemaType PrincipalExchangeFeatures -- | A type for defining ISDA 2002 Equity Derivative -- Representations. data Representations instance Eq Representations instance Show Representations instance SchemaType Representations -- | A type describing the dividend return conditions applicable -- to the swap. data Return instance Eq Return instance Show Return instance SchemaType Return -- | A type describing the return leg of a return type swap. data ReturnLeg instance Eq ReturnLeg instance Show ReturnLeg instance SchemaType ReturnLeg instance Extension ReturnLeg ReturnSwapLegUnderlyer instance Extension ReturnLeg DirectionalLeg instance Extension ReturnLeg Leg -- | A type describing the initial and final valuation of the -- underlyer. data ReturnLegValuation instance Eq ReturnLegValuation instance Show ReturnLegValuation instance SchemaType ReturnLegValuation data ReturnLegValuationPrice instance Eq ReturnLegValuationPrice instance Show ReturnLegValuationPrice instance SchemaType ReturnLegValuationPrice instance Extension ReturnLegValuationPrice Price -- | A type describing return swaps including return swaps (long -- form), total return swaps, and variance swaps. data ReturnSwap instance Eq ReturnSwap instance Show ReturnSwap instance SchemaType ReturnSwap instance Extension ReturnSwap ReturnSwapBase instance Extension ReturnSwap Product -- | 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. data ReturnSwapAdditionalPayment instance Eq ReturnSwapAdditionalPayment instance Show ReturnSwapAdditionalPayment instance SchemaType ReturnSwapAdditionalPayment instance Extension ReturnSwapAdditionalPayment PaymentBase -- | 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. data ReturnSwapAmount instance Eq ReturnSwapAmount instance Show ReturnSwapAmount instance SchemaType ReturnSwapAmount instance Extension ReturnSwapAmount LegAmount -- | A type describing the components that are common for return -- type swaps, including short and long form return swaps -- representations. data ReturnSwapBase instance Eq ReturnSwapBase instance Show ReturnSwapBase instance SchemaType ReturnSwapBase instance Extension ReturnSwapBase Product -- | A type describing the date from which each of the party may -- be allowed to terminate the trade. data ReturnSwapEarlyTermination instance Eq ReturnSwapEarlyTermination instance Show ReturnSwapEarlyTermination instance SchemaType ReturnSwapEarlyTermination -- | A base class for all return leg types with an underlyer. data ReturnSwapLegUnderlyer instance Eq ReturnSwapLegUnderlyer instance Show ReturnSwapLegUnderlyer instance SchemaType ReturnSwapLegUnderlyer instance Extension ReturnSwapLegUnderlyer DirectionalLeg -- | 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. data ReturnSwapNotional instance Eq ReturnSwapNotional instance Show ReturnSwapNotional instance SchemaType ReturnSwapNotional -- | A type describing the return payment dates of the swap. data ReturnSwapPaymentDates instance Eq ReturnSwapPaymentDates instance Show ReturnSwapPaymentDates instance SchemaType ReturnSwapPaymentDates -- | A type specifying the date from which the early termination -- clause can be exercised. data StartingDate instance Eq StartingDate instance Show StartingDate instance SchemaType StartingDate -- | A type describing the Stub Calculation Period. data StubCalculationPeriod instance Eq StubCalculationPeriod instance Show StubCalculationPeriod instance SchemaType StubCalculationPeriod -- | A type describing the variance amount of a variance swap. data Variance instance Eq Variance instance Show Variance instance SchemaType Variance instance Extension Variance CalculationFromObservation -- | The fixed income amounts of the return type swap. elementInterestLeg :: XMLParser InterestLeg elementToXMLInterestLeg :: InterestLeg -> [Content ()] -- | Return amounts of the return type swap. elementReturnLeg :: XMLParser ReturnLeg elementToXMLReturnLeg :: ReturnLeg -> [Content ()] -- | Specifies the structure of a return type swap. It can -- represent return swaps, total return swaps, variance swaps. elementReturnSwap :: XMLParser ReturnSwap elementToXMLReturnSwap :: ReturnSwap -> [Content ()] -- | An placeholder for the actual Return Swap Leg definition. elementReturnSwapLeg :: XMLParser DirectionalLeg