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

Safe HaskellSafe-Infered

Data.FpML.V53.Mktenv

Synopsis

Documentation

data CreditCurve Source

A generic credit curve definition.

Constructors

CreditCurve 

Fields

creditCurve_ID :: Maybe ID
 
creditCurve_name :: Maybe NormalizedString

The name of the structure, e.g USDLIBOR-3M EOD Curve.

creditCurve_currency :: Maybe Currency

The currency that the structure is expressed in (this is relevant mostly for the Interes Rates asset class).

creditCurve_choice2 :: Maybe (OneOf2 LegalEntity LegalEntityReference)

Choice between:

  1. The entity for which this is defined.
  2. An XML reference a credit entity defined elsewhere in the document.
creditCurve_creditEvents :: Maybe CreditEvents

The material credit event.

creditCurve_seniority :: Maybe CreditSeniority

The level of seniority of the deliverable obligation.

creditCurve_secured :: Maybe Boolean

Whether the deliverable obligation is secured or unsecured.

creditCurve_obligationCurrency :: Maybe Currency

The currency of denomination of the deliverable obligation.

creditCurve_obligations :: Maybe Obligations

The underlying obligations of the reference entity on which you are buying or selling protection

creditCurve_deliverableObligations :: Maybe DeliverableObligations

What sort of obligation may be delivered in the event of the credit event. ISDA 2003 Term: Obligation Category/Deliverable Obligation Category

data CreditCurveValuation Source

A set of credit curve values, which can include pricing inputs (which are typically credit spreads), default probabilities, and recovery rates.

Constructors

CreditCurveValuation 

Fields

creditCurveVal_ID :: Maybe ID
 
creditCurveVal_definitionRef :: Maybe IDREF

An optional reference to the scenario that this valuation applies to.

creditCurveVal_objectReference :: Maybe AnyAssetReference

A reference to the asset or pricing structure that this values.

creditCurveVal_valuationScenarioReference :: Maybe ValuationScenarioReference

A reference to the valuation scenario used to calculate this valuation. If the Valuation occurs within a ValuationSet, this value is optional and is defaulted from the ValuationSet. If this value occurs in both places, the lower level value (i.e. the one here) overrides that in the higher (i.e. ValuationSet).

creditCurveVal_baseDate :: Maybe IdentifiedDate

The base date for which the structure applies, i.e. the curve date. Normally this will align with the valuation date.

creditCurveVal_spotDate :: Maybe IdentifiedDate

The spot settlement date for which the structure applies, normally 0-2 days after the base date. The difference between the baseDate and the spotDate is termed the settlement lag, and is sometimes called days to spot.

creditCurveVal_inputDataDate :: Maybe IdentifiedDate

The date from which the input data used to construct the pricing input was obtained. Often the same as the baseDate, but sometimes the pricing input may be rolled forward, in which input data from one date is used to generate a curve for a later date.

creditCurveVal_endDate :: Maybe IdentifiedDate

The last date for which data is supplied in this pricing input.

creditCurveVal_buildDateTime :: Maybe DateTime

The date and time when the pricing input was generated.

creditCurveVal_inputs :: Maybe QuotedAssetSet
 
creditCurveVal_defaultProbabilityCurve :: Maybe DefaultProbabilityCurve

A curve of default probabilities.

creditCurveVal_choice9 :: Maybe (OneOf2 Decimal TermCurve)

Choice between:

  1. A single recovery rate, to be used for all terms.
  2. A curve of recovery rates, allowing different terms to have different recovery rates.

data DefaultProbabilityCurve Source

A set of default probabilities.

Constructors

DefaultProbabilityCurve 

Fields

defaultProbabCurve_ID :: Maybe ID
 
defaultProbabCurve_definitionRef :: Maybe IDREF

An optional reference to the scenario that this valuation applies to.

defaultProbabCurve_objectReference :: Maybe AnyAssetReference

A reference to the asset or pricing structure that this values.

defaultProbabCurve_valuationScenarioReference :: Maybe ValuationScenarioReference

A reference to the valuation scenario used to calculate this valuation. If the Valuation occurs within a ValuationSet, this value is optional and is defaulted from the ValuationSet. If this value occurs in both places, the lower level value (i.e. the one here) overrides that in the higher (i.e. ValuationSet).

defaultProbabCurve_baseDate :: Maybe IdentifiedDate

The base date for which the structure applies, i.e. the curve date. Normally this will align with the valuation date.

defaultProbabCurve_spotDate :: Maybe IdentifiedDate

The spot settlement date for which the structure applies, normally 0-2 days after the base date. The difference between the baseDate and the spotDate is termed the settlement lag, and is sometimes called days to spot.

defaultProbabCurve_inputDataDate :: Maybe IdentifiedDate

The date from which the input data used to construct the pricing input was obtained. Often the same as the baseDate, but sometimes the pricing input may be rolled forward, in which input data from one date is used to generate a curve for a later date.

defaultProbabCurve_endDate :: Maybe IdentifiedDate

The last date for which data is supplied in this pricing input.

defaultProbabCurve_buildDateTime :: Maybe DateTime

The date and time when the pricing input was generated.

defaultProbabCurve_baseYieldCurve :: Maybe PricingStructureReference

A reference to the yield curve values used as a basis for this credit curve valuation.

defaultProbabCurve_defaultProbabilities :: Maybe TermCurve

A collection of default probabilities.

data ForwardRateCurve Source

A curve used to model a set of forward interest rates. Used for forecasting interest rates as part of a pricing calculation.

Constructors

ForwardRateCurve 

Fields

forwardRateCurve_assetReference :: Maybe AssetReference

A reference to the rate index whose forwards are modeled.

forwardRateCurve_rateCurve :: Maybe TermCurve

The curve of forward values.

data FxCurve Source

An fx curve object., which includes pricing inputs and term structures for fx forwards.

Constructors

FxCurve 

Fields

fxCurve_ID :: Maybe ID
 
fxCurve_name :: Maybe NormalizedString

The name of the structure, e.g USDLIBOR-3M EOD Curve.

fxCurve_currency :: Maybe Currency

The currency that the structure is expressed in (this is relevant mostly for the Interes Rates asset class).

fxCurve_quotedCurrencyPair :: Maybe QuotedCurrencyPair

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

data FxCurveValuation Source

A valuation of an FX curve object., which includes pricing inputs and term structures for fx forwards.

Constructors

FxCurveValuation 

Fields

fxCurveVal_ID :: Maybe ID
 
fxCurveVal_definitionRef :: Maybe IDREF

An optional reference to the scenario that this valuation applies to.

fxCurveVal_objectReference :: Maybe AnyAssetReference

A reference to the asset or pricing structure that this values.

fxCurveVal_valuationScenarioReference :: Maybe ValuationScenarioReference

A reference to the valuation scenario used to calculate this valuation. If the Valuation occurs within a ValuationSet, this value is optional and is defaulted from the ValuationSet. If this value occurs in both places, the lower level value (i.e. the one here) overrides that in the higher (i.e. ValuationSet).

fxCurveVal_baseDate :: Maybe IdentifiedDate

The base date for which the structure applies, i.e. the curve date. Normally this will align with the valuation date.

fxCurveVal_spotDate :: Maybe IdentifiedDate

The spot settlement date for which the structure applies, normally 0-2 days after the base date. The difference between the baseDate and the spotDate is termed the settlement lag, and is sometimes called days to spot.

fxCurveVal_inputDataDate :: Maybe IdentifiedDate

The date from which the input data used to construct the pricing input was obtained. Often the same as the baseDate, but sometimes the pricing input may be rolled forward, in which input data from one date is used to generate a curve for a later date.

fxCurveVal_endDate :: Maybe IdentifiedDate

The last date for which data is supplied in this pricing input.

fxCurveVal_buildDateTime :: Maybe DateTime

The date and time when the pricing input was generated.

fxCurveVal_settlementCurrencyYieldCurve :: Maybe PricingStructureReference
 
fxCurveVal_forecastCurrencyYieldCurve :: Maybe PricingStructureReference
 
fxCurveVal_spotRate :: Maybe FxRateSet
 
fxCurveVal_fxForwardCurve :: Maybe TermCurve

A curve of fx forward rates.

fxCurveVal_fxForwardPointsCurve :: Maybe TermCurve

A curve of fx forward point spreads.

data FxRateSet Source

A collection of spot FX rates used in pricing.

Constructors

FxRateSet 

Fields

fxRateSet_instrumentSet :: Maybe InstrumentSet

A collection of instruments used as a basis for quotation.

fxRateSet_assetQuote :: [BasicAssetValuation]

A collection of valuations (quotes) for the assets needed in the set. Normally these quotes will be for the underlying assets listed above, but they don't necesarily have to be.

data MultiDimensionalPricingData Source

A pricing data set that contains a series of points with coordinates. It is a sparse matrix representation of a multi-dimensional matrix.

Constructors

MultiDimensionalPricingData 

Fields

multiDimensPricingData_measureType :: Maybe AssetMeasureType

The type of the value that is measured. This could be an NPV, a cash flow, a clean price, etc.

multiDimensPricingData_quoteUnits :: Maybe PriceQuoteUnits

The optional units that the measure is expressed in. If not supplied, this is assumed to be a price/value in currency units.

multiDimensPricingData_side :: Maybe QuotationSideEnum

The side (bidmidask) of the measure.

multiDimensPricingData_currency :: Maybe Currency

The optional currency that the measure is expressed in. If not supplied, this is defaulted from the reportingCurrency in the valuationScenarioDefinition.

multiDimensPricingData_currencyType :: Maybe ReportingCurrencyType

The optional currency that the measure is expressed in. If not supplied, this is defaulted from the reportingCurrency in the valuationScenarioDefinition.

multiDimensPricingData_timing :: Maybe QuoteTiming

When during a day the quote is for. Typically, if this element is supplied, the QuoteLocation needs also to be supplied.

multiDimensPricingData_choice6 :: Maybe (OneOf2 BusinessCenter ExchangeId)

Choice between:

  1. A city or other business center.
  2. The exchange (e.g. stock or futures exchange) from which the quote is obtained.
multiDimensPricingData_informationSource :: [InformationSource]

The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

multiDimensPricingData_pricingModel :: Maybe PricingModel

.

multiDimensPricingData_time :: Maybe DateTime

When the quote was observed or derived.

multiDimensPricingData_valuationDate :: Maybe Date

When the quote was computed.

multiDimensPricingData_expiryTime :: Maybe DateTime

When does the quote cease to be valid.

multiDimensPricingData_cashflowType :: Maybe CashflowType

For cash flows, the type of the cash flows. Examples include: Coupon payment, Premium Fee, Settlement Fee, Brokerage Fee, etc.

multiDimensPricingData_point :: [PricingStructurePoint]
 

data ParametricAdjustment Source

An adjustment used to accommodate a parameter of the input trade, e.g. the strike.

Constructors

ParametricAdjustment 

Fields

paramAdjust_name :: Maybe NormalizedString

The name of the adjustment parameter (e.g. Volatility Skew).

paramAdjust_inputUnits :: Maybe PriceQuoteUnits

The units of the input parameter, e.g. Yield.

paramAdjust_datapoint :: [ParametricAdjustmentPoint]

The values of the adjustment parameter.

data ParametricAdjustmentPoint Source

A value of the adjustment point, consisting of the x value and the corresponding y value.

Constructors

ParametricAdjustmentPoint 

Fields

paramAdjustPoint_parameterValue :: Maybe Decimal

The value of the independent variable (e.g. strike offset).

paramAdjustPoint_adjustmentValue :: Maybe Decimal

The value of the dependent variable, the actual adjustment amount.

data PricingStructurePoint Source

A single valued point with a set of coordinates that define an arbitrary number of indentifying indexes (0 or more). Note that the collection of coordinates/coordinate references for a PricingStructurePoint must not define a given dimension (other than generic) more than once. This is to avoid ambiguity.

Constructors

PricingStructurePoint 

Fields

pricingStructPoint_ID :: Maybe ID
 
pricingStructPoint_choice0 :: Maybe (OneOf2 PricingDataPointCoordinate PricingDataPointCoordinateReference)

Choice between:

  1. An explicit, filled in data point coordinate. This might specify expiration, strike, etc.
  2. A reference to a pricing data point coordinate within this document.
pricingStructPoint_choice1 :: Maybe (OneOf2 Asset AssetReference)

Choice between:

  1. Define the underlying asset, either a listed security or other instrument.
  2. A reference to an underlying asset that defines the meaning of the value, i.e. the product that the value corresponds to. For example, this could be a caplet or simple european swaption.
pricingStructPoint_value :: Maybe Decimal

The value of the the quotation.

pricingStructPoint_measureType :: Maybe AssetMeasureType

The type of the value that is measured. This could be an NPV, a cash flow, a clean price, etc.

pricingStructPoint_quoteUnits :: Maybe PriceQuoteUnits

The optional units that the measure is expressed in. If not supplied, this is assumed to be a price/value in currency units.

pricingStructPoint_side :: Maybe QuotationSideEnum

The side (bidmidask) of the measure.

pricingStructPoint_currency :: Maybe Currency

The optional currency that the measure is expressed in. If not supplied, this is defaulted from the reportingCurrency in the valuationScenarioDefinition.

pricingStructPoint_currencyType :: Maybe ReportingCurrencyType

The optional currency that the measure is expressed in. If not supplied, this is defaulted from the reportingCurrency in the valuationScenarioDefinition.

pricingStructPoint_timing :: Maybe QuoteTiming

When during a day the quote is for. Typically, if this element is supplied, the QuoteLocation needs also to be supplied.

pricingStructPoint_choice9 :: Maybe (OneOf2 BusinessCenter ExchangeId)

Choice between:

  1. A city or other business center.
  2. The exchange (e.g. stock or futures exchange) from which the quote is obtained.
pricingStructPoint_informationSource :: [InformationSource]

The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

pricingStructPoint_pricingModel :: Maybe PricingModel

.

pricingStructPoint_time :: Maybe DateTime

When the quote was observed or derived.

pricingStructPoint_valuationDate :: Maybe Date

When the quote was computed.

pricingStructPoint_expiryTime :: Maybe DateTime

When does the quote cease to be valid.

pricingStructPoint_cashflowType :: Maybe CashflowType

For cash flows, the type of the cash flows. Examples include: Coupon payment, Premium Fee, Settlement Fee, Brokerage Fee, etc.

data TermCurve Source

A curve consisting only of values over a term. This is a restricted form of One Dimensional Structure.

data TermPoint Source

A value point that can have a time dimension. Allows bid, mid, ask, and spread values to be represented.

Constructors

TermPoint 

Fields

termPoint_ID :: Maybe ID
 
termPoint_term :: Maybe TimeDimension

The time dimension of the point (tenor and/or date)

termPoint_bid :: Maybe Decimal

A price bid by a buyer for an asset, i.e. the price a buyer is willing to pay.

termPoint_mid :: Maybe Decimal

A price midway between the bid and the ask price.

termPoint_ask :: Maybe Decimal

A price asked by a seller for an asset, i.e. the price at which a seller is willing to sell.

termPoint_spreadValue :: Maybe Decimal

The spread value can be used in conjunction with the mid value to define the bid and the ask value.

termPoint_definition :: Maybe AssetReference

An optional reference to an underlying asset that defines the meaning of the value, i.e. the product that the value corresponds to. For example, this could be a discount instrument.

data VolatilityMatrix Source

A matrix of volatilities with dimension 0-3.

Constructors

VolatilityMatrix 

Fields

volatMatrix_ID :: Maybe ID
 
volatMatrix_definitionRef :: Maybe IDREF

An optional reference to the scenario that this valuation applies to.

volatMatrix_objectReference :: Maybe AnyAssetReference

A reference to the asset or pricing structure that this values.

volatMatrix_valuationScenarioReference :: Maybe ValuationScenarioReference

A reference to the valuation scenario used to calculate this valuation. If the Valuation occurs within a ValuationSet, this value is optional and is defaulted from the ValuationSet. If this value occurs in both places, the lower level value (i.e. the one here) overrides that in the higher (i.e. ValuationSet).

volatMatrix_baseDate :: Maybe IdentifiedDate

The base date for which the structure applies, i.e. the curve date. Normally this will align with the valuation date.

volatMatrix_spotDate :: Maybe IdentifiedDate

The spot settlement date for which the structure applies, normally 0-2 days after the base date. The difference between the baseDate and the spotDate is termed the settlement lag, and is sometimes called days to spot.

volatMatrix_inputDataDate :: Maybe IdentifiedDate

The date from which the input data used to construct the pricing input was obtained. Often the same as the baseDate, but sometimes the pricing input may be rolled forward, in which input data from one date is used to generate a curve for a later date.

volatMatrix_endDate :: Maybe IdentifiedDate

The last date for which data is supplied in this pricing input.

volatMatrix_buildDateTime :: Maybe DateTime

The date and time when the pricing input was generated.

volatMatrix_dataPoints :: Maybe MultiDimensionalPricingData

The raw volatility matrix data, expressed as a multi-dimensional array.

volatMatrix_adjustment :: [ParametricAdjustment]

An adjustment factor, such as for vol smile/skew.

data VolatilityRepresentation Source

A representation of volatilities of an asset. This is a generic structure whose values can be supplied in a specific volatility matrix.

Constructors

VolatilityRepresentation 

Fields

volatRepres_ID :: Maybe ID
 
volatRepres_name :: Maybe NormalizedString

The name of the structure, e.g USDLIBOR-3M EOD Curve.

volatRepres_currency :: Maybe Currency

The currency that the structure is expressed in (this is relevant mostly for the Interes Rates asset class).

volatRepres_asset :: Maybe AnyAssetReference

A reference to the asset whose volatility is modeled.

data YieldCurve Source

A generic yield curve object, which can be valued in a variety of ways.

Constructors

YieldCurve 

Fields

yieldCurve_ID :: Maybe ID
 
yieldCurve_name :: Maybe NormalizedString

The name of the structure, e.g USDLIBOR-3M EOD Curve.

yieldCurve_currency :: Maybe Currency

The currency that the structure is expressed in (this is relevant mostly for the Interes Rates asset class).

yieldCurve_algorithm :: Maybe XsdString
 
yieldCurve_forecastRateIndex :: Maybe ForecastRateIndex
 

data YieldCurveValuation Source

The values of a yield curve, including possibly inputs and outputs (dfs, forwards, zero rates).

Constructors

YieldCurveValuation 

Fields

yieldCurveVal_ID :: Maybe ID
 
yieldCurveVal_definitionRef :: Maybe IDREF

An optional reference to the scenario that this valuation applies to.

yieldCurveVal_objectReference :: Maybe AnyAssetReference

A reference to the asset or pricing structure that this values.

yieldCurveVal_valuationScenarioReference :: Maybe ValuationScenarioReference

A reference to the valuation scenario used to calculate this valuation. If the Valuation occurs within a ValuationSet, this value is optional and is defaulted from the ValuationSet. If this value occurs in both places, the lower level value (i.e. the one here) overrides that in the higher (i.e. ValuationSet).

yieldCurveVal_baseDate :: Maybe IdentifiedDate

The base date for which the structure applies, i.e. the curve date. Normally this will align with the valuation date.

yieldCurveVal_spotDate :: Maybe IdentifiedDate

The spot settlement date for which the structure applies, normally 0-2 days after the base date. The difference between the baseDate and the spotDate is termed the settlement lag, and is sometimes called days to spot.

yieldCurveVal_inputDataDate :: Maybe IdentifiedDate

The date from which the input data used to construct the pricing input was obtained. Often the same as the baseDate, but sometimes the pricing input may be rolled forward, in which input data from one date is used to generate a curve for a later date.

yieldCurveVal_endDate :: Maybe IdentifiedDate

The last date for which data is supplied in this pricing input.

yieldCurveVal_buildDateTime :: Maybe DateTime

The date and time when the pricing input was generated.

yieldCurveVal_inputs :: Maybe QuotedAssetSet
 
yieldCurveVal_zeroCurve :: Maybe ZeroRateCurve

A curve of zero rates.

yieldCurveVal_forwardCurve :: [ForwardRateCurve]

A curve of forward rates.

yieldCurveVal_discountFactorCurve :: Maybe TermCurve

A curve of discount factors.

data ZeroRateCurve Source

A curve used to model a set of zero-coupon interest rates.

Constructors

ZeroRateCurve 

Fields

zeroRateCurve_compoundingFrequency :: Maybe CompoundingFrequency

The frequency at which the rates are compounded (e.g. continuously compounded).

zeroRateCurve_rateCurve :: Maybe TermCurve

The curve of zero-coupon values.