FpML 4.3 Trial Recommendation

14 December 2007

Risk Definitions Component Definitions

Version: 4.3

This Version:

http://www.fpml.org/spec/fpml-4-3-9-tr-1

Latest Version:

http://www.fpml.org/spec/fpml-4-3-9-tr-1

Previous Version:

http://www.fpml.org/spec/2007/lcwd-fpml-4-3-2007-10-30/

Errata for this Version:

http://www.fpml.org/spec/fpml-4-3-9-tr-1/html/fpml-4-3-errata.html

Document built: Mon 01/14/2008 12:55:45.20


Copyright (c) 1999 - 2006 by INTERNATIONAL SWAPS AND DERIVATIVES ASSOCIATION, INC.
Financial Products Markup Language is subject to the FpML public license
A copy of this license is available at http://www.fpml.org/documents/license.html



The FpML specifications provided are without warranty of any kind, either expressed or implied, including, without limitation, warranties that FpML, or the FpML specifications are free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the specifications is with you. Should any of the FpML specifications prove defective in any respect, you assume the cost of any necessary servicing or repair. Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall ISDA, any of its members, or any distributor of documents or software containing any of the FpML specifications, or any supplier of any of such parties, be liable to you or any other person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages.


Contents

Global Simple Types

Global Complex Types
AssetOrTermPointOrPricingStructureReference
BasicAssetValuation
DenominatorTerm
DerivativeCalculationMethod
DerivativeCalculationProcedure
DerivativeFormula
FormulaTerm
GenericDimension
InstrumentSet
Market
MarketReference
PerturbationType
PositionId
PricingDataPointCoordinate
PricingDataPointCoordinateReference
PricingInputReplacement
PricingInputType
PricingMethod
PricingParameterDerivative
PricingParameterDerivativeReference
PricingParameterShift
PricingStructureValuation
QuotedAssetSet
SensitivityDefinition
SensitivitySetDefinition
TimeDimension
Valuation
ValuationReference
ValuationScenario
ValuationScenarioReference
WeightedPartialDerivative

Global Elements
market
pricingStructure
pricingStructureValuation

Groups
AnalyticDerivativeParameters.model
ComputedDerivative.model
DerivativeCalculationParameters.model
FiniteDifferenceDerivativeParameters.model
PositionIdAndVersion.model
PricingCoordinateOrReference.model
PricingInputDates.model
PricingStructureIndex.model
SensitivityDescription.model
SubstitutionDerivativeParameters.model

Schema Listing

Global Simple Types

The schema does not contain any global simple types.


Global Complex Types

AssetOrTermPointOrPricingStructureReference

Description:

Reference to an underlying asset, term point or pricing structure (yield curve).

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Reference)

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="AssetOrTermPointOrPricingStructureReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to an underlying asset, term point or pricing structure
      (yield curve).
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

BasicAssetValuation

Description:

A structure that holds a set of measures about an asset.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Valuation)

quote (one or more occurrences; of the type BasicQuotation)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="BasicAssetValuation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A structure that holds a set of measures about an asset.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Valuation">
      <xsd:sequence>
        <xsd:element name="quote" type="BasicQuotation" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              One or more numerical measures relating to the asset,
              possibly together with sensitivities of that measure to
              pricing inputs
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

DenominatorTerm

Description:

The type defining a denominator term of the formula. Its value is (sum of weighted partials) ^ power.

Figure:

Contents:

weightedPartial (exactly one occurrence; of the type WeightedPartialDerivative)

power (exactly one occurrence; of the type xsd:positiveInteger)

Used by:

Schema Fragment:

<xsd:complexType name="DenominatorTerm">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The type defining a denominator term of the formula. Its value is
      (sum of weighted partials) ^ power.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="weightedPartial" type="WeightedPartialDerivative">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A partial derivative multiplied by a weighting factor.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="power" type="xsd:positiveInteger">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The power to which this term is raised.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

DerivativeCalculationMethod

Description:

The method by which a derivative is computed.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)

Attribute: derivativeCalculationMethodScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="DerivativeCalculationMethod">
  <xsd:annotation>
    <xsd:documentation source="http://www.FpML.org" xml:lang="en">
      The method by which a derivative is computed.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="derivativeCalculationMethodScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/derivative-calculation-method-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

DerivativeCalculationProcedure

Description:

A description of how a numerical derivative is computed.

Figure:

Contents:

method (zero or one occurrence; of the type DerivativeCalculationMethod)


There can be one occurance of the following structure;

Used by:

Schema Fragment:

<xsd:complexType name="DerivativeCalculationProcedure">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A description of how a numerical derivative is computed.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="method" type="DerivativeCalculationMethod" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The method by which a derivative is computed, e.g. analytic,
          numerical model, perturbation, etc.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:group ref="DerivativeCalculationParameters.model" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

DerivativeFormula

Description:

A formula for computing a complex derivative from partial derivatives. Its value is the sum of the terms divided by the product of the denominator terms.

Figure:

Contents:

term (exactly one occurrence; of the type FormulaTerm)

denominatorTerm (exactly one occurrence; of the type DenominatorTerm)

Used by:

Schema Fragment:

<xsd:complexType name="DerivativeFormula">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A formula for computing a complex derivative from partial
      derivatives. Its value is the sum of the terms divided by the
      product of the denominator terms.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="term" type="FormulaTerm">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A term of the formula. Its value is the product of the its
          coefficient and the referenced partial derivatives.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="denominatorTerm" type="DenominatorTerm">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A denominator term of the formula. Its value is (sum of
          weighted partials) ^ power.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FormulaTerm

Description:

A type defining a term of the formula. Its value is the product of the its coefficient and the referenced partial derivatives.

Figure:

Contents:

coefficient (exactly one occurrence; of the type xsd:decimal)

partialDerivativeReference (one or more occurrences; of the type PricingParameterDerivativeReference)

Used by:

Schema Fragment:

<xsd:complexType name="FormulaTerm">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining a term of the formula. Its value is the product
      of the its coefficient and the referenced partial derivatives.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="coefficient" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The coefficient by which this term is multiplied, typically 1
          or -1.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="partialDerivativeReference" type="PricingParameterDerivativeReference" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the partial derivative.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

GenericDimension

Description:

A generic (user defined) dimension, e.g. for use in a correlation surface. e.g. a currency, stock, etc. This would take values like USD, GBP, JPY, or IBM, MSFT, etc.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:string)

Attribute: name (xsd:normalizedString) - required

Attribute: href (xsd:IDREF)

Used by:

Schema Fragment:

<xsd:complexType name="GenericDimension">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A generic (user defined) dimension, e.g. for use in a correlation
      surface. e.g. a currency, stock, etc. This would take values like
      USD, GBP, JPY, or IBM, MSFT, etc.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:string">
      <xsd:attribute name="name" type="xsd:normalizedString" use="required">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The name of the dimension. E.g.: "Currency", "Stock",
            "Issuer", etc.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="href" type="xsd:IDREF" ecore:reference="Asset">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to an instrument (e.g. currency) that this
            value represents.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:attribute>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

InstrumentSet

Description:

A collection of instruments usable for quotation purposes. In future releases, quotable derivative assets may be added after the underlying asset.

Figure:

Contents:

A collection of underlying assets (bonds, discount instruments, futures, etc.) that can be used as a basis for benchmark quotes. underlyingAsset (zero or more occurrences; of the type Asset)

Used by:

Schema Fragment:

<xsd:complexType name="InstrumentSet">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A collection of instruments usable for quotation purposes. In
      future releases, quotable derivative assets may be added after
      the underlying asset.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="underlyingAsset" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of underlying assets (bonds, discount
          instruments, futures, etc.) that can be used as a basis for
          benchmark quotes.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

Market

Description:

A collection of pricing inputs.

Figure:

Contents:

name (zero or one occurrence; of the type xsd:string)

benchmarkQuotes (zero or one occurrence; of the type QuotedAssetSet)

A collection of pricing inputs (curves, volatility matrices, etc.) used to represent the market. pricingStructure (zero or more occurrences; of the type PricingStructure)

The values of the pricing structure used to represent the markets.. pricingStructureValuation (zero or more occurrences; of the type PricingStructureValuation)

benchmarkPricingMethod (zero or more occurrences; of the type PricingMethod)

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="Market">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A collection of pricing inputs.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="name" type="xsd:string" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The name of the market, e.g. the USDLIBOR market. Used for
          description and understandability.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="benchmarkQuotes" type="QuotedAssetSet" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of benchmark instruments and quotes used as
          inputs to the pricing models.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element ref="pricingStructure" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of pricing inputs (curves, volatility matrices,
          etc.) used to represent the market.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element ref="pricingStructureValuation" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The values of the pricing structure used to represent the
          markets..
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="benchmarkPricingMethod" type="PricingMethod" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The pricing structure used to quote a benchmark instrument.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

MarketReference

Description:

Reference to a market structure.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Reference)

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="MarketReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a market structure.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="Market"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

PerturbationType

Description:

The type of perturbation applied to compute a derivative perturbatively.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)

Attribute: perturbationTypeScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="PerturbationType">
  <xsd:annotation>
    <xsd:documentation source="http://www.FpML.org" xml:lang="en">
      The type of perturbation applied to compute a derivative
      perturbatively.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="perturbationTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/perturbation-type-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

PositionId

Description:

A unique identifier for the position. The id attribute is defined for intradocument referencing.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)

Attribute: positionIdScheme (xsd:anyURI)

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="PositionId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A unique identifier for the position. The id attribute is defined
      for intradocument referencing.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="positionIdScheme" type="xsd:anyURI"/>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

PricingDataPointCoordinate

Description:

A set of index values that identify a pricing data point. For example: (strike = 17%, expiration = 6M, term = 1Y.

Figure:

Contents:


There can be one occurance of the following structure; Choice of either

Or

Or

Or


Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="PricingDataPointCoordinate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A set of index values that identify a pricing data point. For
      example: (strike = 17%, expiration = 6M, term = 1Y.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="PricingStructureIndex.model" maxOccurs="unbounded"/>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

PricingDataPointCoordinateReference

Description:

Reference to a Pricing Data Point Coordinate.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Reference)

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="PricingDataPointCoordinateReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a Pricing Data Point Coordinate.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="PricingDataPointCoordinate"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

PricingInputReplacement

Description:

The substitution of a pricing input (e.g. curve) for another, used in generating prices and risks for valuation scenarios.

Figure:

Contents:

originalInputReference (exactly one occurrence; of the type PricingStructureReference)

replacementInputReference (exactly one occurrence; of the type PricingStructureReference)

Used by:

Schema Fragment:

<xsd:complexType name="PricingInputReplacement">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The substitution of a pricing input (e.g. curve) for another,
      used in generating prices and risks for valuation scenarios.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="originalInputReference" type="PricingStructureReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the original value of the pricing input.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="replacementInputReference" type="PricingStructureReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the substitution to do.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

PricingInputType

Description:

The type of pricing structure represented.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)

Attribute: pricingInputTypeScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="PricingInputType">
  <xsd:annotation>
    <xsd:documentation source="http://www.FpML.org" xml:lang="en">
      The type of pricing structure represented.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="pricingInputTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/pricing-input-type-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

PricingMethod

Description:

For an asset (e.g. a reference/benchmark asset), the pricing structure used to price it. Used, for example, to specify that the rateIndex "USD-LIBOR-Telerate" with term = 6M is priced using the "USD-LIBOR-Close" curve.

Figure:

Contents:

assetReference (exactly one occurrence; of the type AnyAssetReference)

pricingInputReference (exactly one occurrence; of the type PricingStructureReference)

Used by:

Schema Fragment:

<xsd:complexType name="PricingMethod">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      For an asset (e.g. a reference/benchmark asset), the pricing
      structure used to price it. Used, for example, to specify that
      the rateIndex "USD-LIBOR-Telerate" with term = 6M is priced using
      the "USD-LIBOR-Close" curve.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="assetReference" type="AnyAssetReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The asset whose price is required.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="pricingInputReference" type="PricingStructureReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the pricing input used to value the asset.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

PricingParameterDerivative

Description:

A definition of the mathematical derivative with respect to a specific pricing parameter.

Figure:

Contents:

description (zero or one occurrence; of the type xsd:string)


There can be one occurance of the following structure; Choice of either

Or


calculationProcedure (zero or one occurrence; of the type DerivativeCalculationProcedure)

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="PricingParameterDerivative">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A definition of the mathematical derivative with respect to a
      specific pricing parameter.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="description" type="xsd:string" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A description, if needed, of how the derivative is computed.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:choice>
      <xsd:element name="parameterReference" type="AssetOrTermPointOrPricingStructureReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the pricing input parameter to which the
            sensitivity is computed. If it is omitted, the derivative
            definition is generic, and applies to any input point in
            the valuation set.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="inputDateReference" type="ValuationReference" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference(s) to the pricing input dates that are shifted
            when the sensitivity is computed. Depending on the time
            advance method used, this list could vary. Used for
            describing time-advance derivatives (theta, carry, etc.)
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
    <xsd:element name="calculationProcedure" type="DerivativeCalculationProcedure" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The method by which a derivative is computed, e.g. analytic,
          numerical model, perturbation, etc., and the corresponding
          parameters
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

PricingParameterDerivativeReference

Description:

Reference to a partial derivative.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Reference)

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="PricingParameterDerivativeReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a partial derivative.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="PricingParameterDerivative"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

PricingParameterShift

Description:

A definition of a shift with respect to a specific pricing parameter.

Figure:

Contents:

parameterReference (exactly one occurrence; of the type AssetOrTermPointOrPricingStructureReference)

shift (exactly one occurrence; of the type xsd:decimal)

shiftUnits (zero or one occurrence; of the type PriceQuoteUnits)

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="PricingParameterShift">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A definition of a shift with respect to a specific pricing
      parameter.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="parameterReference" type="AssetOrTermPointOrPricingStructureReference"/>
    <xsd:element name="shift" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The size of the denominator, e.g. 0.0001 = 1 bp.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="shiftUnits" type="PriceQuoteUnits" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The units of the denominator, e.g. currency. If not present,
          use the units of the PricingInputReference.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

PricingStructureValuation

Description:

An abstract pricing structure valuation base type. Used as a base for values of pricing structures such as yield curves and volatility matrices. Derived from the "Valuation" type.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Valuation)

baseDate (exactly one occurrence; of the type IdentifiedDate)

spotDate (zero or one occurrence; of the type IdentifiedDate)

inputDataDate (zero or one occurrence; of the type IdentifiedDate)

endDate (zero or one occurrence; of the type IdentifiedDate)

buildDateTime (zero or one occurrence; of the type xsd:dateTime)

Used by:

Extension of:

Derived Types:

Schema Fragment:

<xsd:complexType name="PricingStructureValuation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An abstract pricing structure valuation base type. Used as a base
      for values of pricing structures such as yield curves and
      volatility matrices. Derived from the "Valuation" type.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Valuation">
      <xsd:sequence>
        <xsd:group ref="PricingInputDates.model">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The relevant dates for a pricing structure - what is
              applies to, when it was built, etc.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:group>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

QuotedAssetSet

Description:

A collection of quoted assets.

Figure:

Contents:

instrumentSet (zero or one occurrence; of the type InstrumentSet)

assetQuote (zero or more occurrences; of the type BasicAssetValuation)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="QuotedAssetSet">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A collection of quoted assets.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="instrumentSet" type="InstrumentSet" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of instruments used as a basis for quotation.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="assetQuote" type="BasicAssetValuation" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          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.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

SensitivityDefinition

Description:

A set of characteristics describing a sensitivity

Figure:

Contents:

name (zero or one occurrence; of the type xsd:string)

valuationScenarioReference (zero or one occurrence; of the type ValuationScenarioReference)


There can be one occurance of the following structure;

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="SensitivityDefinition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A set of characteristics describing a sensitivity
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="name" type="xsd:string" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The name of the derivative, e.g. first derivative, Hessian,
          etc. Typically not required, but may be used to explain more
          complex derivative calculations.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="valuationScenarioReference" type="ValuationScenarioReference" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to the valuation scenario to which this sensitivity
          definition applies. If the SensitivityDefinition occurs
          within a SensitivitySetDefinition, this is not required and
          normally not used. In this case, if it is supplied it
          overrides the valuationScenarioReference in the
          SensitivitySetDefinition.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:choice>
      <xsd:group ref="ComputedDerivative.model"/>
      <xsd:group ref="SensitivityDescription.model"/>
    </xsd:choice>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

SensitivitySetDefinition

Description:

A sensitivity report definition, consisting of a collection of sensitivity definitions.

Figure:

Contents:

name (zero or one occurrence; of the type xsd:string)

sensitivityCharacteristics (zero or one occurrence; of the type QuotationCharacteristics)

valuationScenarioReference (zero or one occurrence; of the type ValuationScenarioReference)

pricingInputType (zero or one occurrence; of the type PricingInputType)

pricingInputReference (zero or one occurrence; of the type PricingStructureReference)

scale (exactly one occurrence; of the type xsd:decimal)

sensitivityDefinition (zero or more occurrences; of the type SensitivityDefinition)

calculationProcedure (zero or one occurrence; of the type DerivativeCalculationProcedure)

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="SensitivitySetDefinition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A sensitivity report definition, consisting of a collection of
      sensitivity definitions.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="name" type="xsd:string" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The name of the sensitivity set definition, e.g. "USDLIBOR
          curve sensitivities".
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="sensitivityCharacteristics" type="QuotationCharacteristics" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The default characteristics of the quotation, e.g. type,
          units, etc.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="valuationScenarioReference" type="ValuationScenarioReference" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to the valuation scenario to which this sensitivity
          definition applies, e.g. a reference to the EOD valuation
          scenario. If not supplied, this sensitivity set definition is
          generic to a variety of valuation scenarios.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="pricingInputType" type="PricingInputType" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The type of the pricing input to which the sensitivity is
          shown, e.g. a yield curve or volatility matrix.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="pricingInputReference" type="PricingStructureReference" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the pricing input to which the sensitivity is
          shown, e.g. a reference to a USDLIBOR yield curve.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="scale" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The size of the denominator, e.g. 0.0001 = 1 bp. For
          derivatives with respect to time, the default period is 1
          day.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="sensitivityDefinition" type="SensitivityDefinition" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A set of sensitivity definitions. Either one per point
          reported, or one generic definition that applies to all
          points.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="calculationProcedure" type="DerivativeCalculationProcedure" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The method by which each derivative is computed, e.g.
          analytic, numerical model, perturbation, etc., and the
          corresponding parameters (eg. shift amounts).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

TimeDimension

Description:

The time dimensions of a term-structure. The user must supply either a tenor or a date or both.

Figure:

Contents:


There can be one occurance of the following structure; Choice of either

Used by:

Schema Fragment:

<xsd:complexType name="TimeDimension">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The time dimensions of a term-structure. The user must supply
      either a tenor or a date or both.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:choice>
    <xsd:element name="tenor" type="Interval">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The amount of time from the base date of the pricing input to
          the specified term point, e.g. 6M or 5Y.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:sequence>
      <xsd:element name="date" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The absolute date corresponding to this term point, for
            example January 3, 2005.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="tenor" type="Interval" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The amount of time from the base date of the pricing input
            to the specified term point, e.g. 6M or 5Y.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:choice>
</xsd:complexType>

Valuation

Description:

A valuation of an valuable object - an asset or a pricing input. This is an abstract type, used as a base for values of pricing structures such as yield curves as well as asset values.

Figure:

Contents:

objectReference (zero or one occurrence; of the type AnyAssetReference)

valuationScenarioReference (zero or one occurrence; of the type ValuationScenarioReference)

Attribute: id (xsd:ID)

Attribute: definitionRef (xsd:IDREF)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="Valuation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A valuation of an valuable object - an asset or a pricing input.
      This is an abstract type, used as a base for values of pricing
      structures such as yield curves as well as asset values.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="objectReference" type="AnyAssetReference" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the asset or pricing structure that this
          values.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="valuationScenarioReference" type="ValuationScenarioReference" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          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).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
  <xsd:attribute name="definitionRef" type="xsd:IDREF" ecore:reference="ValuationScenario">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An optional reference to the scenario that this valuation
        applies to.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:attribute>
</xsd:complexType>

ValuationReference

Description:

Reference to a Valuation or any derived structure such as PricingStructureValuation.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Reference)

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="ValuationReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a Valuation or any derived structure such as
      PricingStructureValuation.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="Valuation"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ValuationScenario

Description:

A set of rules for generating a valuation.

Figure:

Contents:

name (zero or one occurrence; of the type xsd:string)

valuationDate (exactly one occurrence; of the type IdentifiedDate)

marketReference (zero or one occurrence; of the type MarketReference)

shift (zero or more occurrences; of the type PricingParameterShift)

replacement (zero or more occurrences; of the type PricingInputReplacement)

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="ValuationScenario">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A set of rules for generating a valuation.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="name" type="xsd:string" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The (optional) name for this valuation scenario, used for
          understandability. For example "EOD Valuations".
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="valuationDate" type="IdentifiedDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The date for which the assets are valued.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="marketReference" type="MarketReference" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the market environment used to price the
          asset.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="shift" type="PricingParameterShift" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of shifts to be applied to market inputs prior
          to computation of the derivative.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="replacement" type="PricingInputReplacement" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of shifts to be applied to market inputs prior
          to computation of the derivative.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

ValuationScenarioReference

Description:

Reference to a valuation scenario.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Reference)

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="ValuationScenarioReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a valuation scenario.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="ValuationScenario"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

WeightedPartialDerivative

Description:

A partial derivative multiplied by a weighting factor.

Figure:

Contents:

partialDerivativeReference (exactly one occurrence; of the type PricingStructureReference)

weight (exactly one occurrence; of the type xsd:decimal)

Used by:

Schema Fragment:

<xsd:complexType name="WeightedPartialDerivative">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A partial derivative multiplied by a weighting factor.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="partialDerivativeReference" type="PricingStructureReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to a partial derivative defined in the
          ComputedDerivative.model, i.e. defined as part of this
          sensitivity definition.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="weight" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The weight factor to be applied to the partial derivative,
          e.g. 1 or -1, or some other scaling value.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

Global Elements

market

Description:

This is a global element used for creating global types. It holds Market information, e.g. curves, surfaces, quotes, etc.

Figure:

Contents:

Element market is defined by the complex type Market

Used by:

Schema Fragment:

<xsd:element name="market" type="Market">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      This is a global element used for creating global types. It holds
      Market information, e.g. curves, surfaces, quotes, etc.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

pricingStructure

Description:

Figure:

Contents:

Element pricingStructure is defined by the complex type PricingStructure

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="pricingStructure" type="PricingStructure" abstract="true"/>

pricingStructureValuation

Description:

Figure:

Contents:

Element pricingStructureValuation is defined by the complex type PricingStructureValuation

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="pricingStructureValuation" type="PricingStructureValuation" abstract="true"/>

Groups

AnalyticDerivativeParameters.model

Description:

Parameters used in the computation of a derivative using analytical (closed form formula) techiques.

Figure:

Contents:

derivativeFormula (zero or one occurrence; of the type xsd:string)

Used by:

Schema Fragment:

<xsd:group name="AnalyticDerivativeParameters.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Parameters used in the computation of a derivative using
      analytical (closed form formula) techiques.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="derivativeFormula" type="xsd:string" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The formula used to compute the derivative (perhaps could be
          updated to use the Formula type in EQS.).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

ComputedDerivative.model

Description:

A group describing a derivative as combination of partial derivatives.

Figure:

Contents:

partialDerivative (one or more occurrences; of the type PricingParameterDerivative)

formula (zero or one occurrence; of the type DerivativeFormula)

Used by:

Schema Fragment:

<xsd:group name="ComputedDerivative.model">
  <xsd:annotation>
    <xsd:documentation source="http://www.FpML.org" xml:lang="en">
      A group describing a derivative as combination of partial
      derivatives.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="partialDerivative" type="PricingParameterDerivative" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A partial derivative of the measure with respect to an input.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="formula" type="DerivativeFormula" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A formula defining how to compute the derivative from the
          partial derivatives. If absent, the derivative is just the
          product of the partial derivatives. Normally only required
          for more higher-order derivatives, e.g. Hessians.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

DerivativeCalculationParameters.model

Description:

Parameters used in the computation of a derivative.

Figure:

Contents:


There can be one occurance of the following structure;

Used by:

Schema Fragment:

<xsd:group name="DerivativeCalculationParameters.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Parameters used in the computation of a derivative.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:choice>
    <xsd:group ref="FiniteDifferenceDerivativeParameters.model"/>
    <xsd:group ref="AnalyticDerivativeParameters.model"/>
    <xsd:group ref="SubstitutionDerivativeParameters.model"/>
  </xsd:choice>
</xsd:group>

FiniteDifferenceDerivativeParameters.model

Description:

Parameters used in the computation of a derivative using numerical (finite difference) techniques.

Figure:

Contents:

perturbationAmount (zero or one occurrence; of the type xsd:decimal)

averaged (exactly one occurrence; of the type xsd:boolean)

perturbationType (zero or one occurrence; of the type PerturbationType)

Used by:

Schema Fragment:

<xsd:group name="FiniteDifferenceDerivativeParameters.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Parameters used in the computation of a derivative using
      numerical (finite difference) techniques.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="perturbationAmount" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The size and direction of the perturbation used to compute
          the derivative, e.g. 0.0001 = 1 bp.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="averaged" type="xsd:boolean">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The value is calculated by perturbing by the
          perturbationAmount and then the negative of the
          perturbationAmount and then averaging the two values (i.e.
          the value is half of the difference between perturbing up and
          perturbing down).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="perturbationType" type="PerturbationType" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The type of perturbation, if any, used to compute the
          derivative (Absolute vs Relative).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

PositionIdAndVersion.model

Description:

A model group that includes a position ID and an optional version.

Figure:

Contents:

positionId (exactly one occurrence; of the type PositionId)

version (zero or one occurrence; of the type xsd:positiveInteger)

Used by:

Schema Fragment:

<xsd:group name="PositionIdAndVersion.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A model group that includes a position ID and an optional
      version.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="positionId" type="PositionId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A version-independent identifier for the position, possibly
          based on trade identifier.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="version" type="xsd:positiveInteger" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          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.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

PricingCoordinateOrReference.model

Description:

A pricing structure coordinate, or a reference to one. This can be used to either directly define a coordinate or reference an existing coordinate.

Figure:

Contents:


There can be one occurance of the following structure; Choice of either

Or


Used by:

Schema Fragment:

<xsd:group name="PricingCoordinateOrReference.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A pricing structure coordinate, or a reference to one. This can
      be used to either directly define a coordinate or reference an
      existing coordinate.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:choice>
    <xsd:element name="coordinate" type="PricingDataPointCoordinate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An explicit, filled in data point coordinate. This might
          specify expiration, strike, etc.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="coordinateReference" type="PricingDataPointCoordinateReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to a pricing data point coordinate within this
          document.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:choice>
</xsd:group>

PricingInputDates.model

Description:

The dates that might be relevant for a pricing input, e.g. what valuation date it applies to, when it was built, when the data comes from, etc..

Figure:

Contents:

baseDate (exactly one occurrence; of the type IdentifiedDate)

spotDate (zero or one occurrence; of the type IdentifiedDate)

inputDataDate (zero or one occurrence; of the type IdentifiedDate)

endDate (zero or one occurrence; of the type IdentifiedDate)

buildDateTime (zero or one occurrence; of the type xsd:dateTime)

Used by:

Schema Fragment:

<xsd:group name="PricingInputDates.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The dates that might be relevant for a pricing input, e.g. what
      valuation date it applies to, when it was built, when the data
      comes from, etc..
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="baseDate" type="IdentifiedDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The base date for which the structure applies, i.e. the curve
          date. Normally this will align with the valuation date.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="spotDate" type="IdentifiedDate" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          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".
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="inputDataDate" type="IdentifiedDate" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          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.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="endDate" type="IdentifiedDate" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The last date for which data is supplied in this pricing
          input.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="buildDateTime" type="xsd:dateTime" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The date and time when the pricing input was generated.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

PricingStructureIndex.model

Description:

The index (an ordinate) of a pricing structure. The index expresses how far along a particular dimension (e.g. time, strike, etc.) a point is located.

Figure:

Contents:


There can be one occurance of the following structure; Choice of either

Or

Or

Or


Used by:

Schema Fragment:

<xsd:group name="PricingStructureIndex.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The index (an ordinate) of a pricing structure. The index
      expresses how far along a particular dimension (e.g. time,
      strike, etc.) a point is located.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:choice>
    <xsd:element name="term" type="TimeDimension">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A time dimension that represents the term of a financial
          instrument, e.g. of a zero-coupon bond on a curve, or of an
          underlying caplet or swap for an option.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="expiration" type="TimeDimension">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A time dimension that represents the time to expiration of an
          option.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="strike" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A numerical dimension that represents the strike rate or
          price of an option.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="generic" type="GenericDimension"/>
  </xsd:choice>
</xsd:group>

SensitivityDescription.model

Description:

A group describing a specific sensitivity without an explicity reference to the market data input point.

Figure:

Contents:


There can be one occurance of the following structure; Choice of either

Used by:

Schema Fragment:

<xsd:group name="SensitivityDescription.model">
  <xsd:annotation>
    <xsd:documentation source="http://www.FpML.org" xml:lang="en">
      A group describing a specific sensitivity without an explicity
      reference to the market data input point.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:choice>
    <xsd:element name="term" type="TimeDimension">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The time dimension of the sensitivity point (tenor and/or
          date)
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:group ref="PricingCoordinateOrReference.model" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The input coordinates, or references to them (e.g.
          expiration, strike, tenor).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:group>
  </xsd:choice>
</xsd:group>

SubstitutionDerivativeParameters.model

Description:

Parameters used in the computation of a derivative by substituting a supplied market environment.

Figure:

Contents:

replacementMarketInput (exactly one occurrence; of the type PricingStructureReference)

Used by:

Schema Fragment:

<xsd:group name="SubstitutionDerivativeParameters.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Parameters used in the computation of a derivative by
      substituting a supplied market environment.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="replacementMarketInput" type="PricingStructureReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the replacement version of the market input,
          e.g. a bumped yield curve.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

Full XML Schema

<xsd:schema ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML" targetNamespace="http://www.fpml.org/2007/FpML-4-3" version="$Revision: 2351 $" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xsd:include schemaLocation="fpml-doc-4-3.xsd"/>
  <xsd:include schemaLocation="fpml-asset-4-3.xsd"/>
  <xsd:complexType name="AssetOrTermPointOrPricingStructureReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to an underlying asset, term point or pricing
        structure (yield curve).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="BasicAssetValuation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A structure that holds a set of measures about an asset.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Valuation">
        <xsd:sequence>
          <xsd:element name="quote" type="BasicQuotation" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                One or more numerical measures relating to the asset,
                possibly together with sensitivities of that measure to
                pricing inputs
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="DenominatorTerm">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The type defining a denominator term of the formula. Its value
        is (sum of weighted partials) ^ power.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="weightedPartial" type="WeightedPartialDerivative">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A partial derivative multiplied by a weighting factor.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="power" type="xsd:positiveInteger">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The power to which this term is raised.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DerivativeCalculationMethod">
    <xsd:annotation>
      <xsd:documentation source="http://www.FpML.org" xml:lang="en">
        The method by which a derivative is computed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="derivativeCalculationMethodScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/derivative-calculation-method-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="DerivativeCalculationProcedure">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A description of how a numerical derivative is computed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="method" type="DerivativeCalculationMethod" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The method by which a derivative is computed, e.g.
            analytic, numerical model, perturbation, etc.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="DerivativeCalculationParameters.model" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DerivativeFormula">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A formula for computing a complex derivative from partial
        derivatives. Its value is the sum of the terms divided by the
        product of the denominator terms.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="term" type="FormulaTerm">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A term of the formula. Its value is the product of the its
            coefficient and the referenced partial derivatives.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="denominatorTerm" type="DenominatorTerm">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A denominator term of the formula. Its value is (sum of
            weighted partials) ^ power.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FormulaTerm">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining a term of the formula. Its value is the product
        of the its coefficient and the referenced partial derivatives.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="coefficient" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The coefficient by which this term is multiplied, typically
            1 or -1.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="partialDerivativeReference" type="PricingParameterDerivativeReference" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the partial derivative.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="GenericDimension">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A generic (user defined) dimension, e.g. for use in a
        correlation surface. e.g. a currency, stock, etc. This would
        take values like USD, GBP, JPY, or IBM, MSFT, etc.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute name="name" type="xsd:normalizedString" use="required">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The name of the dimension. E.g.: "Currency", "Stock",
              "Issuer", etc.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute name="href" type="xsd:IDREF" ecore:reference="Asset">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to an instrument (e.g. currency) that this
              value represents.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="InstrumentSet">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A collection of instruments usable for quotation purposes. In
        future releases, quotable derivative assets may be added after
        the underlying asset.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="underlyingAsset" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A collection of underlying assets (bonds, discount
            instruments, futures, etc.) that can be used as a basis for
            benchmark quotes.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Market">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A collection of pricing inputs.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The name of the market, e.g. the USDLIBOR market. Used for
            description and understandability.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="benchmarkQuotes" type="QuotedAssetSet" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A collection of benchmark instruments and quotes used as
            inputs to the pricing models.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="pricingStructure" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A collection of pricing inputs (curves, volatility
            matrices, etc.) used to represent the market.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="pricingStructureValuation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The values of the pricing structure used to represent the
            markets..
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="benchmarkPricingMethod" type="PricingMethod" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The pricing structure used to quote a benchmark instrument.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="MarketReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a market structure.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="Market"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PerturbationType">
    <xsd:annotation>
      <xsd:documentation source="http://www.FpML.org" xml:lang="en">
        The type of perturbation applied to compute a derivative
        perturbatively.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="perturbationTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/perturbation-type-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PositionId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A unique identifier for the position. The id attribute is
        defined for intradocument referencing.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="positionIdScheme" type="xsd:anyURI"/>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PricingInputReplacement">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The substitution of a pricing input (e.g. curve) for another,
        used in generating prices and risks for valuation scenarios.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="originalInputReference" type="PricingStructureReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the original value of the pricing input.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="replacementInputReference" type="PricingStructureReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the substitution to do.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PricingInputType">
    <xsd:annotation>
      <xsd:documentation source="http://www.FpML.org" xml:lang="en">
        The type of pricing structure represented.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="pricingInputTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/pricing-input-type-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PricingDataPointCoordinate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A set of index values that identify a pricing data point. For
        example: (strike = 17%, expiration = 6M, term = 1Y.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PricingStructureIndex.model" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="PricingDataPointCoordinateReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a Pricing Data Point Coordinate.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="PricingDataPointCoordinate"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PricingMethod">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        For an asset (e.g. a reference/benchmark asset), the pricing
        structure used to price it. Used, for example, to specify that
        the rateIndex "USD-LIBOR-Telerate" with term = 6M is priced
        using the "USD-LIBOR-Close" curve.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="assetReference" type="AnyAssetReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The asset whose price is required.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="pricingInputReference" type="PricingStructureReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the pricing input used to value the asset.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PricingParameterDerivative">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A definition of the mathematical derivative with respect to a
        specific pricing parameter.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="description" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A description, if needed, of how the derivative is
            computed.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:element name="parameterReference" type="AssetOrTermPointOrPricingStructureReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the pricing input parameter to which the
              sensitivity is computed. If it is omitted, the derivative
              definition is generic, and applies to any input point in
              the valuation set.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="inputDateReference" type="ValuationReference" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Reference(s) to the pricing input dates that are shifted
              when the sensitivity is computed. Depending on the time
              advance method used, this list could vary. Used for
              describing time-advance derivatives (theta, carry, etc.)
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="calculationProcedure" type="DerivativeCalculationProcedure" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The method by which a derivative is computed, e.g.
            analytic, numerical model, perturbation, etc., and the
            corresponding parameters
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="PricingParameterDerivativeReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a partial derivative.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="PricingParameterDerivative"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PricingParameterShift">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A definition of a shift with respect to a specific pricing
        parameter.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="parameterReference" type="AssetOrTermPointOrPricingStructureReference"/>
      <xsd:element name="shift" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The size of the denominator, e.g. 0.0001 = 1 bp.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="shiftUnits" type="PriceQuoteUnits" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The units of the denominator, e.g. currency. If not
            present, use the units of the PricingInputReference.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="PricingStructureValuation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An abstract pricing structure valuation base type. Used as a
        base for values of pricing structures such as yield curves and
        volatility matrices. Derived from the "Valuation" type.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Valuation">
        <xsd:sequence>
          <xsd:group ref="PricingInputDates.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The relevant dates for a pricing structure - what is
                applies to, when it was built, etc.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:group>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="QuotedAssetSet">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A collection of quoted assets.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="instrumentSet" type="InstrumentSet" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A collection of instruments used as a basis for quotation.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="assetQuote" type="BasicAssetValuation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            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.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SensitivityDefinition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A set of characteristics describing a sensitivity
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The name of the derivative, e.g. first derivative, Hessian,
            etc. Typically not required, but may be used to explain
            more complex derivative calculations.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationScenarioReference" type="ValuationScenarioReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to the valuation scenario to which this
            sensitivity definition applies. If the
            SensitivityDefinition occurs within a
            SensitivitySetDefinition, this is not required and normally
            not used. In this case, if it is supplied it overrides the
            valuationScenarioReference in the SensitivitySetDefinition.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:group ref="ComputedDerivative.model"/>
        <xsd:group ref="SensitivityDescription.model"/>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="SensitivitySetDefinition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A sensitivity report definition, consisting of a collection of
        sensitivity definitions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The name of the sensitivity set definition, e.g. "USDLIBOR
            curve sensitivities".
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="sensitivityCharacteristics" type="QuotationCharacteristics" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The default characteristics of the quotation, e.g. type,
            units, etc.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationScenarioReference" type="ValuationScenarioReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to the valuation scenario to which this
            sensitivity definition applies, e.g. a reference to the EOD
            valuation scenario. If not supplied, this sensitivity set
            definition is generic to a variety of valuation scenarios.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="pricingInputType" type="PricingInputType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The type of the pricing input to which the sensitivity is
            shown, e.g. a yield curve or volatility matrix.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="pricingInputReference" type="PricingStructureReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the pricing input to which the sensitivity
            is shown, e.g. a reference to a USDLIBOR yield curve.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="scale" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The size of the denominator, e.g. 0.0001 = 1 bp. For
            derivatives with respect to time, the default period is 1
            day.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="sensitivityDefinition" type="SensitivityDefinition" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A set of sensitivity definitions. Either one per point
            reported, or one generic definition that applies to all
            points.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculationProcedure" type="DerivativeCalculationProcedure" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The method by which each derivative is computed, e.g.
            analytic, numerical model, perturbation, etc., and the
            corresponding parameters (eg. shift amounts).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="TimeDimension">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The time dimensions of a term-structure. The user must supply
        either a tenor or a date or both.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="tenor" type="Interval">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The amount of time from the base date of the pricing input
            to the specified term point, e.g. 6M or 5Y.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:sequence>
        <xsd:element name="date" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The absolute date corresponding to this term point, for
              example January 3, 2005.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="tenor" type="Interval" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The amount of time from the base date of the pricing
              input to the specified term point, e.g. 6M or 5Y.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="Valuation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A valuation of an valuable object - an asset or a pricing
        input. This is an abstract type, used as a base for values of
        pricing structures such as yield curves as well as asset
        values.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="objectReference" type="AnyAssetReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the asset or pricing structure that this
            values.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationScenarioReference" type="ValuationScenarioReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            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).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
    <xsd:attribute name="definitionRef" type="xsd:IDREF" ecore:reference="ValuationScenario">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An optional reference to the scenario that this valuation
          applies to.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="ValuationReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a Valuation or any derived structure such as
        PricingStructureValuation.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="Valuation"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ValuationScenario">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A set of rules for generating a valuation.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The (optional) name for this valuation scenario, used for
            understandability. For example "EOD Valuations".
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationDate" type="IdentifiedDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The date for which the assets are valued.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="marketReference" type="MarketReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the market environment used to price the
            asset.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="shift" type="PricingParameterShift" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A collection of shifts to be applied to market inputs prior
            to computation of the derivative.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="replacement" type="PricingInputReplacement" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A collection of shifts to be applied to market inputs prior
            to computation of the derivative.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="ValuationScenarioReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a valuation scenario.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="ValuationScenario"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="WeightedPartialDerivative">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A partial derivative multiplied by a weighting factor.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partialDerivativeReference" type="PricingStructureReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to a partial derivative defined in the
            ComputedDerivative.model, i.e. defined as part of this
            sensitivity definition.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="weight" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The weight factor to be applied to the partial derivative,
            e.g. 1 or -1, or some other scaling value.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="market" type="Market">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        This is a global element used for creating global types. It
        holds Market information, e.g. curves, surfaces, quotes, etc.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="pricingStructure" type="PricingStructure" abstract="true"/>
  <xsd:element name="pricingStructureValuation" type="PricingStructureValuation" abstract="true"/>
  <xsd:group name="AnalyticDerivativeParameters.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Parameters used in the computation of a derivative using
        analytical (closed form formula) techiques.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="derivativeFormula" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The formula used to compute the derivative (perhaps could
            be updated to use the Formula type in EQS.).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="ComputedDerivative.model">
    <xsd:annotation>
      <xsd:documentation source="http://www.FpML.org" xml:lang="en">
        A group describing a derivative as combination of partial
        derivatives.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partialDerivative" type="PricingParameterDerivative" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A partial derivative of the measure with respect to an
            input.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="formula" type="DerivativeFormula" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A formula defining how to compute the derivative from the
            partial derivatives. If absent, the derivative is just the
            product of the partial derivatives. Normally only required
            for more higher-order derivatives, e.g. Hessians.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="DerivativeCalculationParameters.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Parameters used in the computation of a derivative.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:group ref="FiniteDifferenceDerivativeParameters.model"/>
      <xsd:group ref="AnalyticDerivativeParameters.model"/>
      <xsd:group ref="SubstitutionDerivativeParameters.model"/>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="FiniteDifferenceDerivativeParameters.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Parameters used in the computation of a derivative using
        numerical (finite difference) techniques.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="perturbationAmount" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The size and direction of the perturbation used to compute
            the derivative, e.g. 0.0001 = 1 bp.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="averaged" type="xsd:boolean">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The value is calculated by perturbing by the
            perturbationAmount and then the negative of the
            perturbationAmount and then averaging the two values (i.e.
            the value is half of the difference between perturbing up
            and perturbing down).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="perturbationType" type="PerturbationType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The type of perturbation, if any, used to compute the
            derivative (Absolute vs Relative).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="PositionIdAndVersion.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A model group that includes a position ID and an optional
        version.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="positionId" type="PositionId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A version-independent identifier for the position, possibly
            based on trade identifier.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="version" type="xsd:positiveInteger" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            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.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="PricingCoordinateOrReference.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A pricing structure coordinate, or a reference to one. This can
        be used to either directly define a coordinate or reference an
        existing coordinate.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="coordinate" type="PricingDataPointCoordinate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An explicit, filled in data point coordinate. This might
            specify expiration, strike, etc.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="coordinateReference" type="PricingDataPointCoordinateReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to a pricing data point coordinate within this
            document.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="PricingInputDates.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The dates that might be relevant for a pricing input, e.g. what
        valuation date it applies to, when it was built, when the data
        comes from, etc..
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="baseDate" type="IdentifiedDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The base date for which the structure applies, i.e. the
            curve date. Normally this will align with the valuation
            date.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="spotDate" type="IdentifiedDate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            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".
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="inputDataDate" type="IdentifiedDate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            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.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="endDate" type="IdentifiedDate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The last date for which data is supplied in this pricing
            input.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="buildDateTime" type="xsd:dateTime" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The date and time when the pricing input was generated.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="PricingStructureIndex.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The index (an ordinate) of a pricing structure. The index
        expresses how far along a particular dimension (e.g. time,
        strike, etc.) a point is located.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="term" type="TimeDimension">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A time dimension that represents the term of a financial
            instrument, e.g. of a zero-coupon bond on a curve, or of an
            underlying caplet or swap for an option.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="expiration" type="TimeDimension">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A time dimension that represents the time to expiration of
            an option.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="strike" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A numerical dimension that represents the strike rate or
            price of an option.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="generic" type="GenericDimension"/>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="SensitivityDescription.model">
    <xsd:annotation>
      <xsd:documentation source="http://www.FpML.org" xml:lang="en">
        A group describing a specific sensitivity without an explicity
        reference to the market data input point.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="term" type="TimeDimension">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The time dimension of the sensitivity point (tenor and/or
            date)
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="PricingCoordinateOrReference.model" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The input coordinates, or references to them (e.g.
            expiration, strike, tenor).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:group>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="SubstitutionDerivativeParameters.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Parameters used in the computation of a derivative by
        substituting a supplied market environment.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="replacementMarketInput" type="PricingStructureReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the replacement version of the market input,
            e.g. a bumped yield curve.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
</xsd:schema>