{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} module Data.FpML.V53.FX ( module Data.FpML.V53.FX , 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 -- | Constrains the forward point tick/pip factor to 1, 0.1, -- 0.01, 0.001, etc. newtype PointValue = PointValue Xsd.Decimal instance Eq PointValue instance Show PointValue instance Restricts PointValue Xsd.Decimal instance SchemaType PointValue instance SimpleType PointValue -- | A type that is used for including the currency exchange -- rates used to cross between the traded currencies for -- non-base currency FX contracts. data CrossRate instance Eq CrossRate instance Show CrossRate instance SchemaType CrossRate instance Extension CrossRate QuotedCurrencyPair -- | Allows for an expiryDateTime cut to be described by name. data CutName data CutNameAttributes instance Eq CutName instance Eq CutNameAttributes instance Show CutName instance Show CutNameAttributes instance SchemaType CutName instance Extension CutName Scheme -- | Describes the parameters for a dual currency deposit. data DualCurrencyFeature instance Eq DualCurrencyFeature instance Show DualCurrencyFeature instance SchemaType DualCurrencyFeature -- | A type that describes the rate of exchange at which the -- embedded option in a Dual Currency Deposit has been struck. data DualCurrencyStrikePrice instance Eq DualCurrencyStrikePrice instance Show DualCurrencyStrikePrice instance SchemaType DualCurrencyStrikePrice -- | A type that is used for describing the exchange rate for a -- particular transaction. data ExchangeRate instance Eq ExchangeRate instance Show ExchangeRate instance SchemaType ExchangeRate -- | Describes the characteristics for american exercise of FX -- products. data FxAmericanExercise instance Eq FxAmericanExercise instance Show FxAmericanExercise instance SchemaType FxAmericanExercise instance Extension FxAmericanExercise FxDigitalAmericanExercise instance Extension FxAmericanExercise Exercise -- | Descibes the averaging period properties for an asian -- option. data FxAsianFeature instance Eq FxAsianFeature instance Show FxAsianFeature instance SchemaType FxAsianFeature -- | A type that, for average rate options, is used to describe -- each specific observation date, as opposed to a parametric -- frequency of rate observations. data FxAverageRateObservation instance Eq FxAverageRateObservation instance Show FxAverageRateObservation instance SchemaType FxAverageRateObservation -- | A type that describes average rate options rate -- observations. This is used to describe a parametric -- frequency of rate observations against a particular rate. -- Typical frequencies might include daily, every Friday, etc. data FxAverageRateObservationSchedule instance Eq FxAverageRateObservationSchedule instance Show FxAverageRateObservationSchedule instance SchemaType FxAverageRateObservationSchedule -- | Describes the properties of an Fx barrier. data FxBarrierFeature instance Eq FxBarrierFeature instance Show FxBarrierFeature instance SchemaType FxBarrierFeature -- | Describes a precise boundary value. data FxBoundary instance Eq FxBoundary instance Show FxBoundary instance SchemaType FxBoundary -- | Descrines the characteristics for American exercise in FX -- digital options. data FxDigitalAmericanExercise instance Eq FxDigitalAmericanExercise instance Show FxDigitalAmericanExercise instance SchemaType FxDigitalAmericanExercise instance Extension FxDigitalAmericanExercise Exercise -- | Describes an option having a triggerable fixed payout. data FxDigitalOption instance Eq FxDigitalOption instance Show FxDigitalOption instance SchemaType FxDigitalOption instance Extension FxDigitalOption Option instance Extension FxDigitalOption Product -- | Describes the characteristics for European exercise of FX -- products. data FxEuropeanExercise instance Eq FxEuropeanExercise instance Show FxEuropeanExercise instance SchemaType FxEuropeanExercise instance Extension FxEuropeanExercise Exercise -- | Describes the limits on the size of notional when multiple -- exercise is allowed. data FxMultipleExercise instance Eq FxMultipleExercise instance Show FxMultipleExercise instance SchemaType FxMultipleExercise -- | Describes an FX option with optional asian and barrier -- features. data FxOption instance Eq FxOption instance Show FxOption instance SchemaType FxOption instance Extension FxOption Option instance Extension FxOption Product -- | A type describing the features that may be present in an FX -- option. data FxOptionFeatures instance Eq FxOptionFeatures instance Show FxOptionFeatures instance SchemaType FxOptionFeatures -- | A type that contains full details of a predefined fixed -- payout which may occur (or not) in a Barrier Option or -- Digital Option when a trigger event occurs (or not). data FxOptionPayout instance Eq FxOptionPayout instance Show FxOptionPayout instance SchemaType FxOptionPayout instance Extension FxOptionPayout NonNegativeMoney instance Extension FxOptionPayout MoneyBase -- | A type that specifies the premium exchanged for a single -- option trade or option strategy. data FxOptionPremium instance Eq FxOptionPremium instance Show FxOptionPremium instance SchemaType FxOptionPremium instance Extension FxOptionPremium NonNegativePayment instance Extension FxOptionPremium PaymentBaseExtended instance Extension FxOptionPremium PaymentBase -- | A type defining either a spot or forward FX transactions. data FxSingleLeg instance Eq FxSingleLeg instance Show FxSingleLeg instance SchemaType FxSingleLeg instance Extension FxSingleLeg Product -- | A type that describes the rate of exchange at which the -- option has been struck. data FxStrikePrice instance Eq FxStrikePrice instance Show FxStrikePrice instance SchemaType FxStrikePrice -- | A type defining either a spot/forward or forward/forward FX -- swap transaction. data FxSwap instance Eq FxSwap instance Show FxSwap instance SchemaType FxSwap instance Extension FxSwap Product -- | A type defining the details for one of the transactions in -- an FX swap. data FxSwapLeg instance Eq FxSwapLeg instance Show FxSwapLeg instance SchemaType FxSwapLeg instance Extension FxSwapLeg Leg -- | Describes an FX touch condition. data FxTouch instance Eq FxTouch instance Show FxTouch instance SchemaType FxTouch -- | Describes an FX trigger condition. data FxTrigger instance Eq FxTrigger instance Show FxTrigger instance SchemaType FxTrigger data LowerBound instance Eq LowerBound instance Show LowerBound instance SchemaType LowerBound -- | References a Money instance. data MoneyReference instance Eq MoneyReference instance Show MoneyReference instance SchemaType MoneyReference instance Extension MoneyReference Reference data ObservationSchedule instance Eq ObservationSchedule instance Show ObservationSchedule instance SchemaType ObservationSchedule -- | A type that describes the option premium as quoted. data PremiumQuote instance Eq PremiumQuote instance Show PremiumQuote instance SchemaType PremiumQuote -- | A class defining the content model for a term deposit -- product. data TermDeposit instance Eq TermDeposit instance Show TermDeposit instance SchemaType TermDeposit instance Extension TermDeposit Product data TermDepositFeatures instance Eq TermDepositFeatures instance Show TermDepositFeatures instance SchemaType TermDepositFeatures data UpperBound instance Eq UpperBound instance Show UpperBound instance SchemaType UpperBound -- | A simple FX spot or forward transaction definition. elementFxSingleLeg :: XMLParser FxSingleLeg elementToXMLFxSingleLeg :: FxSingleLeg -> [Content ()] -- | An FX Swap transaction definition. elementFxSwap :: XMLParser FxSwap elementToXMLFxSwap :: FxSwap -> [Content ()] -- | An FX option transaction definition. elementFxOption :: XMLParser FxOption elementToXMLFxOption :: FxOption -> [Content ()] -- | An FX digital option transaction definition. elementFxDigitalOption :: XMLParser FxDigitalOption elementToXMLFxDigitalOption :: FxDigitalOption -> [Content ()] -- | A term deposit product definition. elementTermDeposit :: XMLParser TermDeposit elementToXMLTermDeposit :: TermDeposit -> [Content ()]