# FpML 4.2 Trial Recommendation

## 10 September 2021

## Risk Definitions Component Definitions

### Version: 4.2

### This Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Latest Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Previous Version:

> https://www.fpml.org/spec/fpml-4-2-12-rec-2/

### Errata for this Version:

> http://www.fpml.org/spec/errata/fpml-4-2-13-tr-6-errata.html

Document built: Thu 09/09/2021 16:55:36.56

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
    DenominatorTerm
    DerivativeCalculationMethod
    DerivativeCalculationProcedure
    DerivativeFormula
    FormulaTerm
    PerturbationType
    PricingParameterDerivative
    PricingParameterDerivativeReference
    PricingParameterShift
    SensitivityDefinition
    SensitivitySetDefinition
    WeightedPartialDerivative
  Global Elements
  Groups
    AnalyticDerivativeParameters.model
    ComputedDerivative.model
    DerivativeCalculationParameters.model
    FiniteDifferenceDerivativeParameters.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)

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- PricingParameterDerivative/parameterReference
- PricingParameterShift/parameterReference

### Extension of:

- Reference

### 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: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)

- A partial derivative multiplied by a weighting factor.

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

- The power to which this term is raised.

### Used by:

- DerivativeFormula/denominatorTerm

### 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:integer">
          <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:

- DerivativeCalculationProcedure/method

### 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)

- The method by which a derivative is computed, e.g. analytic, numerical model, perturbation, etc.

There can be one occurance of the following structure;

### Used by:

- PricingParameterDerivative/calculationProcedure
- SensitivitySetDefinition/calculationProcedure

### 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)

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

denominatorTerm (exactly one occurrence; of the type DenominatorTerm)

- A denominator term of the formula. Its value is (sum of weighted partials) ^ power.

### 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)

- The coefficient by which this term is multiplied, typically 1 or -1.

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

- A reference to the partial derivative.

### Used by:

- DerivativeFormula/term

### 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>

## 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>

## 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)

- A description, if needed, of how the derivative is computed.

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

parameterReference (zero or one occurrence; of the type AssetOrTermPointOrPricingStructureReference)

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

Or

inputDateReference (one or more occurrences; of the type ValuationReference)

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

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

- The method by which a derivative is computed, e.g. analytic, numerical model, perturbation, etc., and the corresponding parameters

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)

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- FormulaTerm/partialDerivativeReference

### Extension of:

- Reference

### 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: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)

- The size of the denominator, e.g. 0.0001 = 1 bp.

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

- The units of the denominator, e.g. currency. If not present, use the units of the PricingInputReference.

Attribute: id (xsd:ID)

### Used by:

- DerivedValuationScenario/shift
- ValuationScenario/shift

### 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>

## SensitivityDefinition

### Description:

A set of characteristics describing a sensitivity

### Figure:

### Contents:

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

- The name of the derivative, e.g. first derivative, Hessian, etc. Typically not required, but may be used to explain more complex derivative calculations.

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

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

There can be one occurance of the following structure;

Attribute: id (xsd:ID)

### Used by:

- SensitivitySetDefinition/sensitivityDefinition

### 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)

- The name of the sensitivity set definition, e.g. "USDLIBOR curve sensitivities".

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

- The default characteristics of the quotation, e.g. type, units, etc.

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

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

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

- The type of the pricing input to which the sensitivity is shown, e.g. a yield curve or volatility matrix.

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

- A reference to the pricing input to which the sensitivity is shown, e.g. a reference to a USDLIBOR yield curve.

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

- The size of the denominator, e.g. 0.0001 = 1 bp. For derivatives with respect to time, the default period is 1 day.

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

- A set of sensitivity definitions. Either one per point reported, or one generic definition that applies to all points.

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

- The method by which each derivative is computed, e.g. analytic, numerical model, perturbation, etc., and the corresponding parameters (eg. shift amounts).

Attribute: id (xsd:ID)

### Used by:

- ValuationSet/sensitivitySetDefinition

### 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>

## WeightedPartialDerivative

### Description:

A partial derivative multiplied by a weighting factor.

### Figure:

### Contents:

partialDerivativeReference (exactly one occurrence; of the type PricingStructureReference)

- A reference to a partial derivative defined in the ComputedDerivative.model, i.e. defined as part of this sensitivity definition.

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

- The weight factor to be applied to the partial derivative, e.g. 1 or -1, or some other scaling value.

### Used by:

- DenominatorTerm/weightedPartial

### 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

The schema does not contain any global elements.

# 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)

- The formula used to compute the derivative (perhaps could be updated to use the Formula type in EQS.).

### 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)

- A partial derivative of the measure with respect to an input.

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

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

### Used by:

- SensitivityDefinition

### 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:

- DerivativeCalculationProcedure

### 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)

- The size and direction of the perturbation used to compute the derivative, e.g. 0.0001 = 1 bp.

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

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

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

- The type of perturbation, if any, used to compute the derivative (Absolute vs Relative).

### 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>

## 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

term (exactly one occurrence; of the type TimeDimension)

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

### Used by:

- SensitivityDefinition

### 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)

- A reference to the replacement version of the market input, e.g. a bumped yield curve.

### 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 targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 884 $">
      <xsd:include schemaLocation="fpml-mktenv-4-2.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: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:integer">
            <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="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="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: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="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="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: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="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>