{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} module Data.FpML.V53.IRD ( module Data.FpML.V53.IRD , module Data.FpML.V53.Asset ) 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.Asset -- | A type including a reference to a bond to support the -- representation of an asset swap or Condition Precedent -- Bond. data BondReference instance Eq BondReference instance Show BondReference instance SchemaType BondReference -- | A product to represent a single cashflow. data BulletPayment instance Eq BulletPayment instance Show BulletPayment instance SchemaType BulletPayment instance Extension BulletPayment Product -- | A type definining the parameters used in the calculation of -- fixed or floating calculation period amounts. data Calculation instance Eq Calculation instance Show Calculation instance SchemaType Calculation -- | A type defining the parameters used in the calculation of a -- fixed or floating rate calculation period amount. This type -- forms part of cashflows representation of a swap stream. data CalculationPeriod instance Eq CalculationPeriod instance Show CalculationPeriod instance SchemaType CalculationPeriod -- | A type defining the parameters used in the calculation of -- fixed or floating rate calculation period amounts or for -- specifying a known calculation period amount or known -- amount schedule. data CalculationPeriodAmount instance Eq CalculationPeriodAmount instance Show CalculationPeriodAmount instance SchemaType CalculationPeriodAmount -- | A type defining the parameters used to generate the -- calculation period dates schedule, including the -- specification of any initial or final stub calculation -- periods. A calculation perod schedule consists of an -- optional initial stub calculation period, one or more -- regular calculation periods and an optional final stub -- calculation period. In the absence of any initial or final -- stub calculation periods, the regular part of the -- calculation period schedule is assumed to be between the -- effective date and the termination date. No implicit stubs -- are allowed, i.e. stubs must be explicitly specified using -- an appropriate combination of firstPeriodStateDate, -- firstRegularPeriodStartDate and lastRegularPeriodEndDate. data CalculationPeriodDates instance Eq CalculationPeriodDates instance Show CalculationPeriodDates instance SchemaType CalculationPeriodDates -- | Reference to a calculation period dates component. data CalculationPeriodDatesReference instance Eq CalculationPeriodDatesReference instance Show CalculationPeriodDatesReference instance SchemaType CalculationPeriodDatesReference instance Extension CalculationPeriodDatesReference Reference -- | A type defining the right of a party to cancel a swap -- transaction on the specified exercise dates. The provision -- is for 'walkaway' cancellation (i.e. the fair value of the -- swap is not paid). A fee payable on exercise can be -- specified. data CancelableProvision instance Eq CancelableProvision instance Show CancelableProvision instance SchemaType CancelableProvision -- | A type to define the adjusted dates for a cancelable -- provision on a swap transaction. data CancelableProvisionAdjustedDates instance Eq CancelableProvisionAdjustedDates instance Show CancelableProvisionAdjustedDates instance SchemaType CancelableProvisionAdjustedDates -- | The adjusted dates for a specific cancellation date, -- including the adjusted exercise date and adjusted -- termination date. data CancellationEvent instance Eq CancellationEvent instance Show CancellationEvent instance SchemaType CancellationEvent -- | A type defining an interest rate cap, floor, or cap/floor -- strategy (e.g. collar) product. data CapFloor instance Eq CapFloor instance Show CapFloor instance SchemaType CapFloor instance Extension CapFloor Product -- | A type defining the cashflow representation of a swap -- trade. data Cashflows instance Eq Cashflows instance Show Cashflows instance SchemaType Cashflows -- | A type defining the parameters necessary for each of the -- ISDA cash price methods for cash settlement. data CashPriceMethod instance Eq CashPriceMethod instance Show CashPriceMethod instance SchemaType CashPriceMethod -- | A type to define the cash settlement terms for a product -- where cash settlement is applicable. data CashSettlement instance Eq CashSettlement instance Show CashSettlement instance SchemaType CashSettlement -- | A type defining the cash settlement payment date(s) as -- either a set of explicit dates, together with applicable -- adjustments, or as a date relative to some other (anchor) -- date, or as any date in a range of contiguous business -- days. data CashSettlementPaymentDate instance Eq CashSettlementPaymentDate instance Show CashSettlementPaymentDate instance SchemaType CashSettlementPaymentDate data CrossCurrencyMethod instance Eq CrossCurrencyMethod instance Show CrossCurrencyMethod instance SchemaType CrossCurrencyMethod -- | A type to provide the ability to point to multiple payment -- nodes in the document through the unbounded -- paymentDatesReference. data DateRelativeToCalculationPeriodDates instance Eq DateRelativeToCalculationPeriodDates instance Show DateRelativeToCalculationPeriodDates instance SchemaType DateRelativeToCalculationPeriodDates -- | A type to provide the ability to point to multiple payment -- nodes in the document through the unbounded -- paymentDatesReference. data DateRelativeToPaymentDates instance Eq DateRelativeToPaymentDates instance Show DateRelativeToPaymentDates instance SchemaType DateRelativeToPaymentDates -- | A type defining discounting information. The 2000 ISDA -- definitions, section 8.4. discounting (related to the -- calculation of a discounted fixed amount or floating -- amount) apply. This type must only be included if -- discounting applies. data Discounting instance Eq Discounting instance Show Discounting instance SchemaType Discounting -- | A type to define the adjusted dates associated with an -- early termination provision. data EarlyTerminationEvent instance Eq EarlyTerminationEvent instance Show EarlyTerminationEvent instance SchemaType EarlyTerminationEvent -- | A type defining an early termination provision for a swap. -- This early termination is at fair value, i.e. on -- termination the fair value of the product must be settled -- between the parties. data EarlyTerminationProvision instance Eq EarlyTerminationProvision instance Show EarlyTerminationProvision instance SchemaType EarlyTerminationProvision -- | A type defining the adjusted dates associated with a -- particular exercise event. data ExerciseEvent instance Eq ExerciseEvent instance Show ExerciseEvent instance SchemaType ExerciseEvent -- | This defines the time interval to the start of the exercise -- period, i.e. the earliest exercise date, and the frequency -- of subsequent exercise dates (if any). data ExercisePeriod instance Eq ExercisePeriod instance Show ExercisePeriod instance SchemaType ExercisePeriod -- | A type defining an option to extend an existing swap -- transaction on the specified exercise dates for a term -- ending on the specified new termination date. data ExtendibleProvision instance Eq ExtendibleProvision instance Show ExtendibleProvision instance SchemaType ExtendibleProvision -- | A type defining the adjusted dates associated with a -- provision to extend a swap. data ExtendibleProvisionAdjustedDates instance Eq ExtendibleProvisionAdjustedDates instance Show ExtendibleProvisionAdjustedDates instance SchemaType ExtendibleProvisionAdjustedDates -- | A type to define the adjusted dates associated with an -- individual extension event. data ExtensionEvent instance Eq ExtensionEvent instance Show ExtensionEvent instance SchemaType ExtensionEvent -- | A type to define business date convention adjustment to -- final payment period per leg. data FinalCalculationPeriodDateAdjustment instance Eq FinalCalculationPeriodDateAdjustment instance Show FinalCalculationPeriodDateAdjustment instance SchemaType FinalCalculationPeriodDateAdjustment -- | The method, prioritzed by the order it is listed in this -- element, to get a replacement rate for the disrupted -- settlement rate option. data FallbackReferencePrice instance Eq FallbackReferencePrice instance Show FallbackReferencePrice instance SchemaType FallbackReferencePrice -- | A type defining parameters associated with a floating rate -- reset. This type forms part of the cashflows representation -- of a stream. data FloatingRateDefinition instance Eq FloatingRateDefinition instance Show FloatingRateDefinition instance SchemaType FloatingRateDefinition -- | A type defining a Forward Rate Agreement (FRA) product. data Fra instance Eq Fra instance Show Fra instance SchemaType Fra instance Extension Fra Product -- | A type that is extending the Offset structure for providing -- the ability to specify an FX fixing date as an offset to -- dates specified somewhere else in the document. data FxFixingDate instance Eq FxFixingDate instance Show FxFixingDate instance SchemaType FxFixingDate instance Extension FxFixingDate Offset instance Extension FxFixingDate Period -- | A type to describe the cashflow representation for fx -- linked notionals. data FxLinkedNotionalAmount instance Eq FxLinkedNotionalAmount instance Show FxLinkedNotionalAmount instance SchemaType FxLinkedNotionalAmount -- | A type to describe a notional schedule where each notional -- that applies to a calculation period is calculated with -- reference to a notional amount or notional amount schedule -- in a different currency by means of a spot currency -- exchange rate which is normally observed at the beginning -- of each period. data FxLinkedNotionalSchedule instance Eq FxLinkedNotionalSchedule instance Show FxLinkedNotionalSchedule instance SchemaType FxLinkedNotionalSchedule -- | A type defining the components specifiying an Inflation -- Rate Calculation data InflationRateCalculation instance Eq InflationRateCalculation instance Show InflationRateCalculation instance SchemaType InflationRateCalculation instance Extension InflationRateCalculation FloatingRateCalculation instance Extension InflationRateCalculation FloatingRate instance Extension InflationRateCalculation Rate -- | A type defining the components specifiying an interest rate -- stream, including both a parametric and cashflow -- representation for the stream of payments. data InterestRateStream instance Eq InterestRateStream instance Show InterestRateStream instance SchemaType InterestRateStream instance Extension InterestRateStream Leg -- | Reference to an InterestRateStream component. data InterestRateStreamReference instance Eq InterestRateStreamReference instance Show InterestRateStreamReference instance SchemaType InterestRateStreamReference instance Extension InterestRateStreamReference Reference -- | A type to define an early termination provision for which -- exercise is mandatory. data MandatoryEarlyTermination instance Eq MandatoryEarlyTermination instance Show MandatoryEarlyTermination instance SchemaType MandatoryEarlyTermination -- | A type defining the adjusted dates associated with a -- mandatory early termination provision. data MandatoryEarlyTerminationAdjustedDates instance Eq MandatoryEarlyTerminationAdjustedDates instance Show MandatoryEarlyTerminationAdjustedDates instance SchemaType MandatoryEarlyTerminationAdjustedDates -- | A type defining the parameters used when the reference -- currency of the swapStream is non-deliverable. data NonDeliverableSettlement instance Eq NonDeliverableSettlement instance Show NonDeliverableSettlement instance SchemaType NonDeliverableSettlement -- | An type defining the notional amount or notional amount -- schedule associated with a swap stream. The notional -- schedule will be captured explicitly, specifying the dates -- that the notional changes and the outstanding notional -- amount that applies from that date. A parametric -- representation of the rules defining the notional step -- schedule can optionally be included. data Notional instance Eq Notional instance Show Notional instance SchemaType Notional -- | A type defining a parametric representation of the notional -- step schedule, i.e. parameters used to generate the -- notional balance on each step date. The step change in -- notional can be expressed in terms of either a fixed amount -- or as a percentage of either the initial notional or -- previous notional amount. This parametric representation is -- intended to cover the more common amortizing/accreting. data NotionalStepRule instance Eq NotionalStepRule instance Show NotionalStepRule instance SchemaType NotionalStepRule -- | A type defining an early termination provision where either -- or both parties have the right to exercise. data OptionalEarlyTermination instance Eq OptionalEarlyTermination instance Show OptionalEarlyTermination instance SchemaType OptionalEarlyTermination -- | A type defining the adjusted dates associated with an -- optional early termination provision. data OptionalEarlyTerminationAdjustedDates instance Eq OptionalEarlyTerminationAdjustedDates instance Show OptionalEarlyTerminationAdjustedDates instance SchemaType OptionalEarlyTerminationAdjustedDates -- | A type defining the adjusted payment date and associated -- calculation period parameters required to calculate the -- actual or projected payment amount. This type forms part of -- the cashflow representation of a swap stream. data PaymentCalculationPeriod instance Eq PaymentCalculationPeriod instance Show PaymentCalculationPeriod instance SchemaType PaymentCalculationPeriod instance Extension PaymentCalculationPeriod PaymentBase -- | A type defining parameters used to generate the payment -- dates schedule, including the specification of early or -- delayed payments. Payment dates are determined relative to -- the calculation period dates or the reset dates. data PaymentDates instance Eq PaymentDates instance Show PaymentDates instance SchemaType PaymentDates -- | Reference to a payment dates structure. data PaymentDatesReference instance Eq PaymentDatesReference instance Show PaymentDatesReference instance SchemaType PaymentDatesReference instance Extension PaymentDatesReference Reference -- | A type defining the parameters used to get a price quote to -- replace the settlement rate option that is disrupted. data PriceSourceDisruption instance Eq PriceSourceDisruption instance Show PriceSourceDisruption instance SchemaType PriceSourceDisruption -- | A type defining a principal exchange amount and adjusted -- exchange date. The type forms part of the cashflow -- representation of a swap stream. data PrincipalExchange instance Eq PrincipalExchange instance Show PrincipalExchange instance SchemaType PrincipalExchange -- | Reference to relevant underlying date. data RelevantUnderlyingDateReference instance Eq RelevantUnderlyingDateReference instance Show RelevantUnderlyingDateReference instance SchemaType RelevantUnderlyingDateReference instance Extension RelevantUnderlyingDateReference Reference -- | A type defining the parameters used to generate the reset -- dates schedule and associated fixing dates. The reset dates -- are determined relative to the calculation periods -- schedules dates. data ResetDates instance Eq ResetDates instance Show ResetDates instance SchemaType ResetDates -- | Reference to a reset dates component. data ResetDatesReference instance Eq ResetDatesReference instance Show ResetDatesReference instance SchemaType ResetDatesReference instance Extension ResetDatesReference Reference -- | A type defining the specification of settlement terms, -- occuring when the settlement currency is different to the -- notional currency of the trade. data SettlementProvision instance Eq SettlementProvision instance Show SettlementProvision instance SchemaType SettlementProvision -- | A type defining the settlement rate options through a -- scheme reflecting the terms of the Annex A to the 1998 FX -- and Currency Option Definitions. data SettlementRateOption data SettlementRateOptionAttributes instance Eq SettlementRateOption instance Eq SettlementRateOptionAttributes instance Show SettlementRateOption instance Show SettlementRateOptionAttributes instance SchemaType SettlementRateOption instance Extension SettlementRateOption Scheme -- | A type describing the buyer and seller of an option. data SinglePartyOption instance Eq SinglePartyOption instance Show SinglePartyOption instance SchemaType SinglePartyOption -- | A type defining how the initial or final stub calculation -- period amounts is calculated. For example, the rate to be -- applied to the initial or final stub calculation period may -- be the linear interpolation of two different tenors for the -- floating rate index specified in the calculation period -- amount component, e.g. A two month stub period may used the -- linear interpolation of a one month and three month -- floating rate. The different rate tenors would be specified -- in this component. Note that a maximum of two rate tenors -- can be specified. If a stub period uses a single index -- tenor and this is the same as that specified in the -- calculation period amount component then the initial stub -- or final stub component, as the case may be, must not be -- included. data StubCalculationPeriodAmount instance Eq StubCalculationPeriodAmount instance Show StubCalculationPeriodAmount instance SchemaType StubCalculationPeriodAmount -- | A type defining swap streams and additional payments -- between the principal parties involved in the swap. data Swap instance Eq Swap instance Show Swap instance SchemaType Swap instance Extension Swap Product -- | Additional terms to a swap contract. data SwapAdditionalTerms instance Eq SwapAdditionalTerms instance Show SwapAdditionalTerms instance SchemaType SwapAdditionalTerms -- | A type to define an option on a swap. data Swaption instance Eq Swaption instance Show Swaption instance SchemaType Swaption instance Extension Swaption Product -- | A type describing the adjusted dates associated with -- swaption exercise and settlement. data SwaptionAdjustedDates instance Eq SwaptionAdjustedDates instance Show SwaptionAdjustedDates instance SchemaType SwaptionAdjustedDates data SwaptionPhysicalSettlement instance Eq SwaptionPhysicalSettlement instance Show SwaptionPhysicalSettlement instance SchemaType SwaptionPhysicalSettlement -- | Reference to a Valuation dates node. data ValuationDatesReference instance Eq ValuationDatesReference instance Show ValuationDatesReference instance SchemaType ValuationDatesReference instance Extension ValuationDatesReference Reference -- | Specifies how long to wait to get a quote from a settlement -- rate option upon a price source disruption. data ValuationPostponement instance Eq ValuationPostponement instance Show ValuationPostponement instance SchemaType ValuationPostponement -- | A type defining the parameters required for each of the -- ISDA defined yield curve methods for cash settlement. data YieldCurveMethod instance Eq YieldCurveMethod instance Show YieldCurveMethod instance SchemaType YieldCurveMethod -- | A product to represent a single known payment. elementBulletPayment :: XMLParser BulletPayment elementToXMLBulletPayment :: BulletPayment -> [Content ()] -- | A cap, floor or cap floor structures product definition. elementCapFloor :: XMLParser CapFloor elementToXMLCapFloor :: CapFloor -> [Content ()] -- | A floating rate calculation definition. elementFloatingRateCalculation :: XMLParser FloatingRateCalculation elementToXMLFloatingRateCalculation :: FloatingRateCalculation -> [Content ()] -- | A forward rate agreement product definition. elementFra :: XMLParser Fra elementToXMLFra :: Fra -> [Content ()] -- | An inflation rate calculation definition. elementInflationRateCalculation :: XMLParser InflationRateCalculation elementToXMLInflationRateCalculation :: InflationRateCalculation -> [Content ()] -- | The base element for the floating rate calculation -- definitions. elementRateCalculation :: XMLParser Rate -- | A swap product definition. elementSwap :: XMLParser Swap elementToXMLSwap :: Swap -> [Content ()] -- | A swaption product definition. elementSwaption :: XMLParser Swaption elementToXMLSwaption :: Swaption -> [Content ()]