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

Safe HaskellSafe-Infered




data AssetValuation Source

A structure that holds a set of measures about an asset, including possibly their sensitivities.




assetVal_ID :: Maybe ID
assetVal_definitionRef :: Maybe IDREF

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

assetVal_objectReference :: Maybe AnyAssetReference

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

assetVal_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).

assetVal_quote :: [Quotation]

One or more numerical measures relating to the asset, possibly together with sensitivities of that measure to pricing inputs.

assetVal_fxRate :: [FxRate]

Indicates the rate of a currency conversion that may have been used to compute valuations.

data DerivedValuationScenario Source

A valuation scenario that is derived from another valuation scenario.




derivedValScenar_ID :: Maybe ID
derivedValScenar_name :: Maybe XsdString

The (optional) name for this valuation scenario, used for understandability. For example EOD Valuations.

derivedValScenar_baseValuationScenario :: Maybe ValuationScenarioReference

An (optional) reference to a valuation scenario from which this one is derived.

derivedValScenar_valuationDate :: Maybe IdentifiedDate

The (optional) date for which the assets are valued. If not present, the valuation date will be that of the base valuation scenario.

derivedValScenar_marketReference :: Maybe MarketReference

A reference to the market environment used to price the asset. If not present, the market will be that of the base valuation scenario.

derivedValScenar_shift :: [PricingParameterShift]

A collection of shifts to be applied to market inputs prior to computation of the derivative.

data Quotation Source

Some kind of numerical measure about an asset, eg. its NPV, together with characteristics of that measure, together with optional sensitivities.




quotation_value :: Maybe Decimal

The value of the the quotation.

quotation_measureType :: Maybe AssetMeasureType

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

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

quotation_side :: Maybe QuotationSideEnum

The side (bidmidask) of the measure.

quotation_currency :: Maybe Currency

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

quotation_currencyType :: Maybe ReportingCurrencyType

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

quotation_timing :: Maybe QuoteTiming

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

quotation_choice7 :: 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.
quotation_informationSource :: [InformationSource]

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

quotation_pricingModel :: Maybe PricingModel


quotation_time :: Maybe DateTime

When the quote was observed or derived.

quotation_valuationDate :: Maybe Date

When the quote was computed.

quotation_expiryTime :: Maybe DateTime

When does the quote cease to be valid.

quotation_cashflowType :: Maybe CashflowType

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

quotation_sensitivitySet :: [SensitivitySet]

Zero or more sets of sensitivities of this measure to various input parameters.

data ReportingRoles Source

The roles of the parties in reporting information such as positions.




reportRoles_baseParty :: Maybe PartyReference

A reference to the party from whose perspective the position is valued, ie. the owner or holder of the position.

reportRoles_baseAccount :: Maybe AccountReference

A reference to the party from whose perspective the position is valued, ie. the owner or holder of the position.

reportRoles_activityProvider :: Maybe PartyReference

A reference to the party responsible for reporting trading activities.

reportRoles_positionProvider :: Maybe PartyReference

A reference to the party responsible for reporting the position itself and its constituents.

reportRoles_valuationProvider :: Maybe PartyReference

A reference to the party responsible for calculating and reporting the valuations of the positions.

data ScheduledDate Source

An servicing date relevant for a trade structure, such as a payment or a reset.




schedDate_choice0 :: Maybe (OneOf1 (Maybe Date, Maybe Date))

Choice between:

  1. Sequence of:
  • unadjustedDate
  • adjustedDate
schedDate_type :: Maybe ScheduledDateType

The type of the date, e.g. next or previous payment.

schedDate_assetReference :: Maybe AnyAssetReference

A reference to the leg (or other product component) for which these dates occur.

schedDate_choice3 :: Maybe (OneOf2 AssetValuation ValuationReference)

Choice between:

  1. The value that is associated with the scheduled date.
  2. A reference to the value associated with this scheduled date.

data ScheduledDates Source

A list of dates (cash flows, resets, etc.) that are relevant for this structure, e.g. next cash flow, last reset, etc. Provides a way to list upcoming or recent servicing dates related to this trade stream in a way that is simpler and more flexible than the FpML cashflows structure.




schedDates_scheduledDate :: [ScheduledDate]

A single stream level scheduled servicing date.

data ScheduledDateType Source

A scheme used to identify the type of a stream scheduled servicing date.

data Sensitivity Source

The sensitivity of a value to a defined change in input parameters.

data SensitivityAttributes Source




sensitAttrib_name :: Maybe NormalizedString

A optional name for this sensitivity. This is primarily intended for display purposes.

sensitAttrib_definitionRef :: Maybe IDREF

A optional (but normally supplied) reference to the definition of this sensitivity.

data SensitivitySet Source

A collection of sensitivities. References a definition that explains the meaning/type of the sensitivities.

data Valuations Source

A set of valuation.




valuations_choice0 :: Maybe (OneOf2 AssetValuation ValuationReference)

Choice between:

  1. valuation
  2. A reference to a quotation

data ValuationSet Source

A set of valuation inputs and results. This structure can be used for requesting valuations, or for reporting them. In general, the request fills in fewer elements.




valuationSet_ID :: Maybe ID
valuationSet_name :: Maybe XsdString

The name of the valuation set, used to understand what it means. E.g., EOD Values and Risks for Party A.

valuationSet_valuationScenario :: [ValuationScenario]

Valuation scenerios used (requested/reported) in this valuation set. E.g., the EOD valuation scenario for a particular value date. Used for the first occurrence of a valuation scenario in a document.

valuationSet_valuationScenarioReference :: [ValuationScenarioReference]

References to valuation scenarios used (requested/reported) in this valuation set. E..g, a reference to the EOD valuation scenario for a particular value date. Used for subsequence occurrences of a valuation set in an FpML document.

valuationSet_baseParty :: Maybe PartyReference

Reference to the party from whose point of view the assets are valued.

valuationSet_quotationCharacteristics :: [QuotationCharacteristics]

Charactistics (measure types, units, sides, etc.) of the quotes used (requested/reported) in the valuation set.

valuationSet_sensitivitySetDefinition :: [SensitivitySetDefinition]

Definition(s) of sensitivity sets used (requested or reported) in this valuation set.

valuationSet_detail :: Maybe ValuationSetDetail

Does this valuation set include a market environment?

valuationSet_assetValuation :: [AssetValuation]

Valuations reported in this valuation set. These values can be values (NPVs, prices, etc.) or risks (DAR, etc.) and can include sensitivities.

data ValuationSetDetail Source

The amount of detail provided in the valuation set, e.g. is market environment data provided, are risk definitions provided, etc.

data Position Source

A collection of related trades or positions and the corresponding aggregate exposures generated by these.




position_ID :: Maybe ID
position_id :: Maybe PositionId

A version-independent identifier for the position, possibly based on trade identifier.

position_version :: Maybe PositiveInteger

A version identifier. Version identifiers must be ascending, i.e. higher numbers imply newer versions. There is no requirement that version identifiers for a position be sequential or small, so for example timestamp-based version identifiers could be used.

position_status :: Maybe PositionStatusEnum
position_creationDate :: Maybe Date
position_originatingEvent :: Maybe PositionOriginEnum
position_history :: Maybe PositionHistory
position_reportingRoles :: Maybe ReportingRoles

Information about the roles of the parties with respect to reporting the positions.

position_constituent :: Maybe PositionConstituent

The components that create this position.

position_scheduledDate :: [ScheduledDate]

Position level schedule date, such as final payment dates, in a simple and flexible format.

position_valuation :: [AssetValuation]

Valuation reported for the position, such as NPV or accrued interest. The asset/object references in the valuations should refer to the deal or components of the deal in the position, e.g. legs, streams, or underlyers.

data PositionHistory Source

A list of events that have affected a position.




positHistory_choice0 :: Maybe (OneOf10 (Maybe OriginatingEvent, Maybe Trade) TradeAmendmentContent TradeNotionalChange (Maybe TerminatingEvent, Maybe TradeNotionalChange) TradeNovationContent OptionExercise [OptionExpiry] DeClear Withdrawal AdditionalEvent)

Choice between:

  1. Sequence of:
  • originatingEvent
  • trade
  1. amendment
  2. increase
  3. Sequence of:
  • terminatingEvent
  • termination
  1. novation
  2. optionExercise
  3. optionExpiry
  4. deClear
  5. withdrawal
  6. The additionalEvent element is an extension/substitution point to customize FpML and add additional events.

data PositionConstituent Source

The items (trades, trade references, holdings, other positions) that comprise this position. Currently a position may consist only of a single trade, a reference to a previously submitted position, or a reference to the trade. The choice structure is optional to allow extensions to be placed within this container.




positConstit_choice0 :: Maybe (OneOf3 Trade PositiveInteger PartyTradeIdentifiers)

Choice between:

  1. An element that allows the full details of the trade to be used as a mechanism for identifying the trade for which the post-trade event pertains.
  2. A previously submitted version of the position.
  3. The trade reference identifier(s) allocated to the trade by the parties involved.