# FpML 4.2 Trial Recommendation

## 10 September 2021

## Market Environment 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:28.71

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
    CompoundingFrequency
    CreditCurve
    CreditCurveValuation
    DefaultProbabilityCurve
    ForwardRateCurve
    FxCurve
    FxCurveValuation
    FxRateSet
    GenericDimension
    InstrumentSet
    InterpolationMethod
    Market
    MultiDimensionalPricingData
    ParametricAdjustment
    ParametricAdjustmentPoint
    PricingDataPointCoordinate
    PricingDataPointCoordinateReference
    PricingInputType
    PricingMethod
    PricingStructure
    PricingStructurePoint
    PricingStructureReference
    PricingStructureValuation
    QuotedAssetSet
    TermCurve
    TermPoint
    TimeDimension
    VolatilityMatrix
    VolatilityRepresentation
    YieldCurve
    YieldCurveValuation
    ZeroRateCurve
  Global Elements
    creditCurve
    creditCurveValuation
    fxCurve
    fxCurveValuation
    market
    pricingStructure
    pricingStructureValuation
    volatilityMatrixValuation
    volatilityRepresentation
    yieldCurve
    yieldCurveValuation
  Groups
    BidMidAsk.model
    CreditCurveCharacteristics.model
    FxCurveCharacteristics.model
    PricingCoordinateOrReference.model
    PricingInputDates.model
    PricingStructureIndex.model
    RecoveryRate.model
    UnderlyingAssetOrReference.model
    YieldCurveCharacteristics.model
  Schema Listing

# Global Simple Types

The schema does not contain any global simple types.

# Global Complex Types

## CompoundingFrequency

### Description:

The frequency at which a rate is compounded.

### Figure:

### Contents:

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

Attribute: compoundingFrequencyScheme (xsd:anyURI)

### Used by:

- ZeroRateCurve/compoundingFrequency

### Schema Fragment:

    <xsd:complexType name="CompoundingFrequency">
      <xsd:annotation>
        <xsd:documentation source="http://www.FpML.org" xml:lang="en">
          The frequency at which a rate is compounded.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="compoundingFrequencyScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/compounding-frequency-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## CreditCurve

### Description:

A generic credit curve definition.

### Figure:

### Contents:

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

- An abstract pricing structure base type. Used as a base for structures such as yield curves and volatility matrices..

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

referenceEntity (exactly one occurrence; of the type LegalEntity)

- The entity for which this is defined.

Or

creditEntityReference (exactly one occurrence; of the type LegalEntityReference)

- An XML reference a credit entity defined elsewhere in the document.

creditEvents (zero or one occurrence; of the type CreditEvents)

- The material credit event.

seniority (exactly one occurrence; of the type CreditSeniority)

- The level of seniority of the deliverable obligation.

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

- Whether the deliverable obligation is secured or unsecured.

currency (exactly one occurrence; of the type Currency)

- The currency of denomination of the deliverable obligation.

obligations (zero or one occurrence; of the type Obligations)

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

deliverableObligations (zero or one occurrence; of the type DeliverableObligations)

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

### Used by:

### Extension of:

- PricingStructure

### Schema Fragment:

    <xsd:complexType name="CreditCurve">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A generic credit curve definition.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructure">
          <xsd:sequence>
            <xsd:group ref="CreditCurveCharacteristics.model" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## CreditCurveValuation

### Description:

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

### Figure:

### Contents:

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

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

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

defaultProbabilityCurve (zero or one occurrence; of the type DefaultProbabilityCurve)

- A curve of default probabilities.

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

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

- A single recovery rate, to be used for all terms.

Or

recoveryRateCurve (exactly one occurrence; of the type TermCurve)

- A curve of recovery rates, allowing different terms to have different recovery rates.

### Used by:

### Extension of:

- PricingStructureValuation

### Schema Fragment:

    <xsd:complexType name="CreditCurveValuation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A set of credit curve values, which can include pricing inputs
          (which are typically credit spreads), default probabilities, and
          recovery rates.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructureValuation">
          <xsd:sequence>
            <xsd:element name="inputs" type="QuotedAssetSet" minOccurs="0"/>
            <xsd:element name="defaultProbabilityCurve" type="DefaultProbabilityCurve" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A curve of default probabilities.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:group ref="RecoveryRate.model" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A recovery rate value or curve.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:group>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## DefaultProbabilityCurve

### Description:

A set of default probabilities.

### Figure:

### Contents:

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

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

baseYieldCurve (exactly one occurrence; of the type PricingStructureReference)

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

defaultProbabilities (zero or one occurrence; of the type TermCurve)

- A collection of default probabilities.

### Used by:

- CreditCurveValuation/defaultProbabilityCurve

### Extension of:

- PricingStructureValuation

### Schema Fragment:

    <xsd:complexType name="DefaultProbabilityCurve">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A set of default probabilities.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructureValuation">
          <xsd:sequence>
            <xsd:element name="baseYieldCurve" type="PricingStructureReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A reference to the yield curve values used as a basis for
                  this credit curve valuation.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="defaultProbabilities" type="TermCurve" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A collection of default probabilities.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## ForwardRateCurve

### Description:

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

### Figure:

### Contents:

assetReference (zero or one occurrence; of the type AssetReference)

- A reference to the rate index whose forwards are modeled.

rateCurve (exactly one occurrence; of the type TermCurve)

- The curve of forward values.

### Used by:

- YieldCurveValuation/forwardCurve

### Schema Fragment:

    <xsd:complexType name="ForwardRateCurve">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A curve used to model a set of forward interest rates. Used for
          forecasting interest rates as part of a pricing calculation.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="assetReference" type="AssetReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the rate index whose forwards are modeled.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="rateCurve" type="TermCurve">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The curve of forward values.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## FxCurve

### Description:

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

### Figure:

### Contents:

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

- An abstract pricing structure base type. Used as a base for structures such as yield curves and volatility matrices..

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

### Used by:

### Extension of:

- PricingStructure

### Schema Fragment:

    <xsd:complexType name="FxCurve">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An fx curve object., which includes pricing inputs and term
          structures for fx forwards.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructure">
          <xsd:sequence>
            <xsd:group ref="FxCurveCharacteristics.model" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## FxCurveValuation

### Description:

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

### Figure:

### Contents:

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

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

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

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

spotRate (zero or one occurrence; of the type FxRateSet)

fxForwardCurve (zero or one occurrence; of the type TermCurve)

- A curve of fx forward rates

fxForwardPointsCurve (zero or one occurrence; of the type TermCurve)

- A curve of fx forward point spreads.

### Used by:

### Extension of:

- PricingStructureValuation

### Schema Fragment:

    <xsd:complexType name="FxCurveValuation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A valuation of an FX curve object., which includes pricing inputs
          and term structures for fx forwards.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructureValuation">
          <xsd:sequence>
            <xsd:element name="settlementCurrencyYieldCurve" type="PricingStructureReference" minOccurs="0"/>
            <xsd:element name="forecastCurrencyYieldCurve" type="PricingStructureReference" minOccurs="0"/>
            <xsd:element name="spotRate" type="FxRateSet" minOccurs="0"/>
            <xsd:element name="fxForwardCurve" type="TermCurve" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A curve of fx forward rates
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="fxForwardPointsCurve" type="TermCurve" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A curve of fx forward point spreads.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## FxRateSet

### Description:

A collection of spot FX rates used in pricing.

### Figure:

### Contents:

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

- A collection of quoted assets.

### Used by:

- FxCurveValuation/spotRate

### Extension of:

- QuotedAssetSet

### Schema Fragment:

    <xsd:complexType name="FxRateSet">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of spot FX rates used in pricing.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="QuotedAssetSet">
          <xsd:sequence/>
        </xsd:extension>
      </xsd:complexContent>
    </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">
            <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.

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

- Define the underlying asset when it is a listed security.

### Used by:

- QuotedAssetSet/instrumentSet

### Schema Fragment:

    <xsd:complexType name="InstrumentSet">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of instruments usable for quotation purposes.
        </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>

## InterpolationMethod

### Description:

The type of interpolation used.

### Figure:

### Contents:

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

Attribute: interpolationMethodScheme (xsd:anyURI)

### Used by:

- InflationRateCalculation/interpolationMethod
- TermCurve/interpolationMethod

### Schema Fragment:

    <xsd:complexType name="InterpolationMethod">
      <xsd:annotation>
        <xsd:documentation source="http://www.FpML.org" xml:lang="en">
          The type of interpolation used.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="interpolationMethodScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/interpolation-method-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Market

### Description:

A collection of pricing inputs.

### Figure:

### Contents:

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

- The name of the market, e.g. the USDLIBOR market. Used for description and understandability.

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

- A collection of benchmark instruments and quotes used as inputs to the pricing models.

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)

- The pricing structure used to quote a benchmark instrument.

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>

## MultiDimensionalPricingData

### Description:

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

### Figure:

### Contents:

measureType (zero or one occurrence; of the type AssetMeasureType)

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

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

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

side (zero or one occurrence; of the type QuotationSideEnum)

- The side (bid/mid/ask) of the measure.

currency (zero or one occurrence; of the type Currency)

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

timing (zero or one occurrence; of the type QuoteTiming)

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

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

businessCenter (exactly one occurrence; of the type BusinessCenter)

- A city or other business center.

Or

exchangeId (exactly one occurrence; of the type ExchangeId)

- The exchange (e.g. stock or futures exchange) from which the quote is obtained.

informationSource (zero or more occurrences; of the type InformationSource)

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

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

- When the quote was observed or derived.

valuationDate (zero or one occurrence; of the type xsd:date)

- When the quote was computed.

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

- When does the quote cease to be valid.

cashFlowType (zero or one occurrence; of the type CashflowType)

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

point (one or more occurrences; of the type PricingStructurePoint)

### Used by:

- VolatilityMatrix/dataPoints

### Schema Fragment:

    <xsd:complexType name="MultiDimensionalPricingData">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A pricing data set that contains a series of points with
          coordinates. It is a sparse matrix representation of a
          multi-dimensional matrix.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="QuotationCharacteristics.model" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Characteristics that apply to all quotations in the pricing
              structure.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:group>
        <xsd:element name="point" type="PricingStructurePoint" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## ParametricAdjustment

### Description:

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

### Figure:

### Contents:

name (exactly one occurrence; of the type xsd:normalizedString)

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

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

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

datapoint (one or more occurrences; of the type ParametricAdjustmentPoint)

- The values of the adjustment parameter.

### Used by:

- VolatilityMatrix/adjustment

### Schema Fragment:

    <xsd:complexType name="ParametricAdjustment">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An adjustment used to accommodate a parameter of the input trade,
          e.g. the strike.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="name" type="xsd:normalizedString">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The name of the adjustment parameter (e.g. "Volatility
              Skew").
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="inputUnits" type="PriceQuoteUnits" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The units of the input parameter, e.g. Yield.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="datapoint" type="ParametricAdjustmentPoint" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The values of the adjustment parameter.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ParametricAdjustmentPoint

### Description:

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

### Figure:

### Contents:

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

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

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

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

### Used by:

- ParametricAdjustment/datapoint

### Schema Fragment:

    <xsd:complexType name="ParametricAdjustmentPoint">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A value of the adjustment point, consisting of the x value and
          the corresponding y value.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="parameterValue" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The value of the independent variable (e.g. strike offset).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="adjustmentValue" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The value of the dependent variable, the actual adjustment
              amount.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </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

term (exactly one occurrence; of the type TimeDimension)

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

Or

expiration (exactly one occurrence; of the type TimeDimension)

- A time dimension that represents the time to expiration of an option.

Or

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

- A numerical dimension that represents the strike rate or price of an option.

Or

generic (exactly one occurrence; of the type GenericDimension)

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)

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

### Extension of:

- Reference

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

- SensitivitySetDefinition/pricingInputType

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

- The asset whose price is required.

pricingInputReference (exactly one occurrence; of the type PricingStructureReference)

- A reference to the pricing input used to value the asset.

### Used by:

- Market/benchmarkPricingMethod

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

## PricingStructure

### Description:

An abstract pricing structure base type. Used as a base for structures such as yield curves and volatility matrices..

### Figure:

### Contents:

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

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

currency (zero or one occurrence; of the type Currency)

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

Attribute: id (xsd:ID)

### Used by:

### Derived Types:

- CreditCurve
- FxCurve
- VolatilityRepresentation
- YieldCurve

### Schema Fragment:

    <xsd:complexType name="PricingStructure">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An abstract pricing structure base type. Used as a base for
          structures such as yield curves and volatility matrices..
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="name" type="xsd:normalizedString" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The name of the structure, e.g "USDLIBOR-3M EOD Curve".
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="currency" type="Currency" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency that the structure is expressed in (this is
              relevant mostly for the Interes Rates asset class).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## PricingStructurePoint

### Description:

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

### Figure:

### Contents:

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

coordinate (exactly one occurrence; of the type PricingDataPointCoordinate)

- An explicit, filled in data point coordinate. This might specify expiration, strike, etc.

Or

coordinateReference (exactly one occurrence; of the type PricingDataPointCoordinateReference)

- A reference to a pricing data point coordinate within this document.

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

An underlying asset that defines the meaning of the value, i.e. the product that the value corresponds to. For example, this could be a caplet or simple european swaption. underlyingAsset (exactly one occurrence; of the type Asset)

- Define the underlying asset when it is a listed security.

Or

underlyingAssetReference (zero or one occurrence; of the type AssetReference)

- A reference to an underlying asset that defines the meaning of the value, i.e. the product that the value corresponds to. For example, this could be a caplet or simple european swaption.

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

- The value of the the quotation.

measureType (zero or one occurrence; of the type AssetMeasureType)

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

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

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

side (zero or one occurrence; of the type QuotationSideEnum)

- The side (bid/mid/ask) of the measure.

currency (zero or one occurrence; of the type Currency)

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

timing (zero or one occurrence; of the type QuoteTiming)

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

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

businessCenter (exactly one occurrence; of the type BusinessCenter)

- A city or other business center.

Or

exchangeId (exactly one occurrence; of the type ExchangeId)

- The exchange (e.g. stock or futures exchange) from which the quote is obtained.

informationSource (zero or more occurrences; of the type InformationSource)

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

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

- When the quote was observed or derived.

valuationDate (zero or one occurrence; of the type xsd:date)

- When the quote was computed.

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

- When does the quote cease to be valid.

cashFlowType (zero or one occurrence; of the type CashflowType)

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

Attribute: id (xsd:ID)

### Used by:

- MultiDimensionalPricingData/point

### Schema Fragment:

    <xsd:complexType name="PricingStructurePoint">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A single valued point with a set of coordinates that define an
          arbitrary number of indentifying indexes (0 or more). Note that
          the collection of coordinates/coordinate references for a
          PricingStructurePoint must not define a given dimension (other
          than "generic") more than once. This is to avoid ambiguity.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="PricingCoordinateOrReference.model" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:group ref="UnderlyingAssetOrReference.model" minOccurs="0"/>
        <xsd:group ref="Quotation.model">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A quotation for a specific point, including anny
              characteristics that may be unique to that point.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:group>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## PricingStructureReference

### Description:

Reference to a pricing structure or any derived components (i.e. 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:

- DefaultProbabilityCurve/baseYieldCurve
- FxCurveValuation/forecastCurrencyYieldCurve
- FxCurveValuation/settlementCurrencyYieldCurve
- PricingInputReplacement/originalInputReference
- PricingInputReplacement/replacementInputReference
- PricingMethod/pricingInputReference
- SensitivitySetDefinition/pricingInputReference
- WeightedPartialDerivative/partialDerivativeReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="PricingStructureReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to a pricing structure or any derived components (i.e.
          yield curve).
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </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)

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

baseDate (exactly one occurrence; of the type IdentifiedDate)

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

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

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

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

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

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

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

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

- The date and time when the pricing input was generated.

### Used by:

### Extension of:

- Valuation

### Derived Types:

- CreditCurveValuation
- DefaultProbabilityCurve
- FxCurveValuation
- VolatilityMatrix
- YieldCurveValuation

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

- A collection of instruments used as a basis for quotation.

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

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

### Used by:

- CreditCurveValuation/inputs
- Market/benchmarkQuotes
- YieldCurveValuation/inputs

### Derived Types:

- FxRateSet

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

## TermCurve

### Description:

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

### Figure:

### Contents:

interpolationMethod (zero or one occurrence; of the type InterpolationMethod)

extrapolationPermitted (zero or one occurrence; of the type xsd:boolean)

point (one or more occurrences; of the type TermPoint)

### Used by:

- DefaultProbabilityCurve/defaultProbabilities
- ForwardRateCurve/rateCurve
- FxCurveValuation/fxForwardCurve
- FxCurveValuation/fxForwardPointsCurve
- YieldCurveValuation/discountFactorCurve
- ZeroRateCurve/rateCurve

### Schema Fragment:

    <xsd:complexType name="TermCurve">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A curve consisting only of values over a term. This is a
          restricted form of One Dimensional Structure.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="interpolationMethod" type="InterpolationMethod" minOccurs="0"/>
        <xsd:element name="extrapolationPermitted" type="xsd:boolean" minOccurs="0"/>
        <xsd:element name="point" type="TermPoint" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## TermPoint

### Description:

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

### Figure:

### Contents:

term (exactly one occurrence; of the type TimeDimension)

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

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

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

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

- A price midway between the bid and the ask price.

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

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

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

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

definition (zero or one occurrence; of the type AssetReference)

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

Attribute: id (xsd:ID)

### Used by:

- TermCurve/point

### Schema Fragment:

    <xsd:complexType name="TermPoint">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A value point that can have a time dimension. Allows bid, mid,
          ask, and spread values to be represented.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="term" type="TimeDimension">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The time dimension of the point (tenor and/or date)
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:group ref="BidMidAsk.model"/>
        <xsd:element name="spreadValue" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The spread value can be used in conjunction with the "mid"
              value to define the bid and the ask value.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="definition" type="AssetReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional reference to an underlying asset that defines the
              meaning of the value, i.e. the product that the value
              corresponds to. For example, this could be a discount
              instrument.
            </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

tenor (exactly one occurrence; of the type Interval)

- The amount of time from the base date of the pricing input to the specified term point, e.g. 6M or 5Y.

### Used by:

- TermPoint/term

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

## VolatilityMatrix

### Description:

A matrix of volatilities with dimension 0-3.

### Figure:

### Contents:

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

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

dataPoints (exactly one occurrence; of the type MultiDimensionalPricingData)

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

adjustment (zero or more occurrences; of the type ParametricAdjustment)

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

### Used by:

### Extension of:

- PricingStructureValuation

### Schema Fragment:

    <xsd:complexType name="VolatilityMatrix">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A matrix of volatilities with dimension 0-3.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructureValuation">
          <xsd:sequence>
            <xsd:element name="dataPoints" type="MultiDimensionalPricingData">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The raw volatility matrix data, expressed as a
                  multi-dimensional array.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="adjustment" type="ParametricAdjustment" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An adjustment factor, such as for vol smile/skew.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## VolatilityRepresentation

### Description:

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

### Figure:

### Contents:

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

- An abstract pricing structure base type. Used as a base for structures such as yield curves and volatility matrices..

asset (exactly one occurrence; of the type AnyAssetReference)

- A reference to the asset whose volatility is modeled.

### Used by:

### Extension of:

- PricingStructure

### Schema Fragment:

    <xsd:complexType name="VolatilityRepresentation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A representation of volatilities of an asset. This is a generic
          structure whose values can be supplied in a specific volatility
          matrix.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructure">
          <xsd:sequence>
            <xsd:element name="asset" type="AnyAssetReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A reference to the asset whose volatility is modeled.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## YieldCurve

### Description:

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

### Figure:

### Contents:

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

- An abstract pricing structure base type. Used as a base for structures such as yield curves and volatility matrices..

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

forecastRateIndex (zero or one occurrence; of the type ForecastRateIndex)

### Used by:

### Extension of:

- PricingStructure

### Schema Fragment:

    <xsd:complexType name="YieldCurve">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A generic yield curve object, which can be valued in a variety of
          ways.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructure">
          <xsd:sequence>
            <xsd:group ref="YieldCurveCharacteristics.model" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## YieldCurveValuation

### Description:

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

### Figure:

### Contents:

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

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

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

zeroCurve (zero or one occurrence; of the type ZeroRateCurve)

- A curve of zero rates.

forwardCurve (zero or more occurrences; of the type ForwardRateCurve)

- A curve of forward rates.

discountFactorCurve (zero or one occurrence; of the type TermCurve)

- A curve of discount factors.

### Used by:

### Extension of:

- PricingStructureValuation

### Schema Fragment:

    <xsd:complexType name="YieldCurveValuation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The values of a yield curve, including possibly inputs and
          outputs (dfs, forwards, zero rates).
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PricingStructureValuation">
          <xsd:sequence>
            <xsd:element name="inputs" type="QuotedAssetSet" minOccurs="0"/>
            <xsd:element name="zeroCurve" type="ZeroRateCurve" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A curve of zero rates.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="forwardCurve" type="ForwardRateCurve" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A curve of forward rates.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="discountFactorCurve" type="TermCurve" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A curve of discount factors.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## ZeroRateCurve

### Description:

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

### Figure:

### Contents:

compoundingFrequency (exactly one occurrence; of the type CompoundingFrequency)

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

rateCurve (exactly one occurrence; of the type TermCurve)

- The curve of zero-coupon values.

### Used by:

- YieldCurveValuation/zeroCurve

### Schema Fragment:

    <xsd:complexType name="ZeroRateCurve">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A curve used to model a set of zero-coupon interest rates.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="compoundingFrequency" type="CompoundingFrequency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The frequency at which the rates are compounded (e.g.
              continuously compounded).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="rateCurve" type="TermCurve">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The curve of zero-coupon values.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

# Global Elements

## creditCurve

### Description:

### Figure:

### Contents:

Element creditCurve is defined by the complex type CreditCurve

### Used by:

### Schema Fragment:

    <xsd:element name="creditCurve" type="CreditCurve" substitutionGroup="pricingStructure"/>

## creditCurveValuation

### Description:

### Figure:

### Contents:

Element creditCurveValuation is defined by the complex type CreditCurveValuation

### Used by:

### Schema Fragment:

    <xsd:element name="creditCurveValuation" type="CreditCurveValuation" substitutionGroup="pricingStructureValuation"/>

## fxCurve

### Description:

### Figure:

### Contents:

Element fxCurve is defined by the complex type FxCurve

### Used by:

### Schema Fragment:

    <xsd:element name="fxCurve" type="FxCurve" substitutionGroup="pricingStructure"/>

## fxCurveValuation

### Description:

### Figure:

### Contents:

Element fxCurveValuation is defined by the complex type FxCurveValuation

### Used by:

### Schema Fragment:

    <xsd:element name="fxCurveValuation" type="FxCurveValuation" substitutionGroup="pricingStructureValuation"/>

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

- RequestValuationReport
- ValuationDocument
- ValuationReport

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

- Market

### Substituted by:

- creditCurve
- fxCurve
- volatilityRepresentation
- yieldCurve

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

- Market

### Substituted by:

- creditCurveValuation
- fxCurveValuation
- volatilityMatrixValuation
- yieldCurveValuation

### Schema Fragment:

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

## volatilityMatrixValuation

### Description:

### Figure:

### Contents:

Element volatilityMatrixValuation is defined by the complex type VolatilityMatrix

### Used by:

### Schema Fragment:

    <xsd:element name="volatilityMatrixValuation" type="VolatilityMatrix" substitutionGroup="pricingStructureValuation"/>

## volatilityRepresentation

### Description:

### Figure:

### Contents:

Element volatilityRepresentation is defined by the complex type VolatilityRepresentation

### Used by:

### Schema Fragment:

    <xsd:element name="volatilityRepresentation" type="VolatilityRepresentation" substitutionGroup="pricingStructure"/>

## yieldCurve

### Description:

### Figure:

### Contents:

Element yieldCurve is defined by the complex type YieldCurve

### Used by:

### Schema Fragment:

    <xsd:element name="yieldCurve" type="YieldCurve" substitutionGroup="pricingStructure"/>

## yieldCurveValuation

### Description:

### Figure:

### Contents:

Element yieldCurveValuation is defined by the complex type YieldCurveValuation

### Used by:

### Schema Fragment:

    <xsd:element name="yieldCurveValuation" type="YieldCurveValuation" substitutionGroup="pricingStructureValuation"/>

# Groups

## BidMidAsk.model

### Description:

The bid, mid, or ask values relevant for a quote

### Figure:

### Contents:

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

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

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

- A price midway between the bid and the ask price.

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

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

### Used by:

- TermPoint

### Schema Fragment:

    <xsd:group name="BidMidAsk.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The bid, mid, or ask values relevant for a quote
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="bid" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A price "bid" by a buyer for an asset, i.e. the price a buyer
              is willing to pay.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="mid" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A price midway between the bid and the ask price.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ask" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A price "asked" by a seller for an asset, i.e. the price at
              which a seller is willing to sell.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## CreditCurveCharacteristics.model

### Description:

The set of characterstics that describe the outputs of a credit curve.

### Figure:

### Contents:

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

referenceEntity (exactly one occurrence; of the type LegalEntity)

- The entity for which this is defined.

Or

creditEntityReference (exactly one occurrence; of the type LegalEntityReference)

- An XML reference a credit entity defined elsewhere in the document.

creditEvents (zero or one occurrence; of the type CreditEvents)

- The material credit event.

seniority (exactly one occurrence; of the type CreditSeniority)

- The level of seniority of the deliverable obligation.

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

- Whether the deliverable obligation is secured or unsecured.

currency (exactly one occurrence; of the type Currency)

- The currency of denomination of the deliverable obligation.

obligations (zero or one occurrence; of the type Obligations)

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

deliverableObligations (zero or one occurrence; of the type DeliverableObligations)

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

### Used by:

- CreditCurve

### Schema Fragment:

    <xsd:group name="CreditCurveCharacteristics.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The set of characterstics that describe the outputs of a credit
          curve.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="CreditEntity.model"/>
        <xsd:element name="creditEvents" type="CreditEvents" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The material credit event.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="seniority" type="CreditSeniority">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The level of seniority of the deliverable obligation.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="secured" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Whether the deliverable obligation is secured or unsecured.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="currency" type="Currency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency of denomination of the deliverable obligation.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="obligations" type="Obligations" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The underlying obligations of the reference entity on which
              you are buying or selling protection
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="deliverableObligations" type="DeliverableObligations" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              What sort of obligation may be delivered in the event of the
              credit event. ISDA 2003 Term: Obligation Category/Deliverable
              Obligation Category
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## FxCurveCharacteristics.model

### Description:

The set of characterstics that describe the outputs of a fx curve.

### Figure:

### Contents:

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

### Used by:

- FxCurve

### Schema Fragment:

    <xsd:group name="FxCurveCharacteristics.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The set of characterstics that describe the outputs of a fx
          curve.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines the two currencies for an FX trade and the quotation
              relationship between the two currencies.
            </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

coordinate (exactly one occurrence; of the type PricingDataPointCoordinate)

- An explicit, filled in data point coordinate. This might specify expiration, strike, etc.

Or

coordinateReference (exactly one occurrence; of the type PricingDataPointCoordinateReference)

- A reference to a pricing data point coordinate within this document.

### Used by:

- PricingStructurePoint

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

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

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

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

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

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

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

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

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

- The date and time when the pricing input was generated.

### Used by:

- PricingStructureValuation

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

term (exactly one occurrence; of the type TimeDimension)

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

Or

expiration (exactly one occurrence; of the type TimeDimension)

- A time dimension that represents the time to expiration of an option.

Or

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

- A numerical dimension that represents the strike rate or price of an option.

Or

generic (exactly one occurrence; of the type GenericDimension)

### Used by:

- PricingDataPointCoordinate

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

## RecoveryRate.model

### Description:

The model of the recovery rate (single value or curve).

### Figure:

### Contents:

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

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

- A single recovery rate, to be used for all terms.

Or

recoveryRateCurve (exactly one occurrence; of the type TermCurve)

- A curve of recovery rates, allowing different terms to have different recovery rates.

### Used by:

- CreditCurveValuation

### Schema Fragment:

    <xsd:group name="RecoveryRate.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The model of the recovery rate (single value or curve).
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="recoveryRate" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A single recovery rate, to be used for all terms.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="recoveryRateCurve" type="TermCurve">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A curve of recovery rates, allowing different terms to have
              different recovery rates.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:group>

## UnderlyingAssetOrReference.model

### Description:

Include or reference an underlying asset definition.

### Figure:

### Contents:

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

An underlying asset that defines the meaning of the value, i.e. the product that the value corresponds to. For example, this could be a caplet or simple european swaption. underlyingAsset (exactly one occurrence; of the type Asset)

- Define the underlying asset when it is a listed security.

Or

underlyingAssetReference (zero or one occurrence; of the type AssetReference)

- A reference to an underlying asset that defines the meaning of the value, i.e. the product that the value corresponds to. For example, this could be a caplet or simple european swaption.

### Used by:

- PricingStructurePoint

### Schema Fragment:

    <xsd:group name="UnderlyingAssetOrReference.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Include or reference an underlying asset definition.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element ref="underlyingAsset">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An underlying asset that defines the meaning of the value,
              i.e. the product that the value corresponds to. For example,
              this could be a caplet or simple european swaption.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="underlyingAssetReference" type="AssetReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to an underlying asset that defines the meaning
              of the value, i.e. the product that the value corresponds to.
              For example, this could be a caplet or simple european
              swaption.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:group>

## YieldCurveCharacteristics.model

### Description:

The set of characteristics that describe the outputs of a yield curve.

### Figure:

### Contents:

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

forecastRateIndex (zero or one occurrence; of the type ForecastRateIndex)

### Used by:

- YieldCurve

### Schema Fragment:

    <xsd:group name="YieldCurveCharacteristics.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The set of characteristics that describe the outputs of a yield
          curve.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="algorithm" type="xsd:string" minOccurs="0"/>
        <xsd:element name="forecastRateIndex" type="ForecastRateIndex" minOccurs="0"/>
      </xsd:sequence>
    </xsd:group>

# Full XML Schema

    <xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 905 $">
      <xsd:include schemaLocation="fpml-asset-4-2.xsd"/>
      <xsd:include schemaLocation="fpml-valuation-base-4-2.xsd"/>
      <xsd:include schemaLocation="fpml-cd-4-2.xsd"/>
      <xsd:include schemaLocation="fpml-shared-4-2.xsd"/>
      <xsd:complexType name="CompoundingFrequency">
        <xsd:annotation>
          <xsd:documentation source="http://www.FpML.org" xml:lang="en">
            The frequency at which a rate is compounded.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="compoundingFrequencyScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/compounding-frequency-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="CreditCurve">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A generic credit curve definition.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructure">
            <xsd:sequence>
              <xsd:group ref="CreditCurveCharacteristics.model" minOccurs="0"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="CreditCurveValuation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A set of credit curve values, which can include pricing inputs
            (which are typically credit spreads), default probabilities,
            and recovery rates.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructureValuation">
            <xsd:sequence>
              <xsd:element name="inputs" type="QuotedAssetSet" minOccurs="0"/>
              <xsd:element name="defaultProbabilityCurve" type="DefaultProbabilityCurve" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A curve of default probabilities.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:group ref="RecoveryRate.model" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A recovery rate value or curve.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:group>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="DefaultProbabilityCurve">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A set of default probabilities.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructureValuation">
            <xsd:sequence>
              <xsd:element name="baseYieldCurve" type="PricingStructureReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A reference to the yield curve values used as a basis
                    for this credit curve valuation.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="defaultProbabilities" type="TermCurve" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A collection of default probabilities.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ForwardRateCurve">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A curve used to model a set of forward interest rates. Used for
            forecasting interest rates as part of a pricing calculation.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="assetReference" type="AssetReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the rate index whose forwards are modeled.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="rateCurve" type="TermCurve">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The curve of forward values.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="FxCurve">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An fx curve object., which includes pricing inputs and term
            structures for fx forwards.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructure">
            <xsd:sequence>
              <xsd:group ref="FxCurveCharacteristics.model" minOccurs="0"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="FxCurveValuation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A valuation of an FX curve object., which includes pricing
            inputs and term structures for fx forwards.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructureValuation">
            <xsd:sequence>
              <xsd:element name="settlementCurrencyYieldCurve" type="PricingStructureReference" minOccurs="0"/>
              <xsd:element name="forecastCurrencyYieldCurve" type="PricingStructureReference" minOccurs="0"/>
              <xsd:element name="spotRate" type="FxRateSet" minOccurs="0"/>
              <xsd:element name="fxForwardCurve" type="TermCurve" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A curve of fx forward rates
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="fxForwardPointsCurve" type="TermCurve" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A curve of fx forward point spreads.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="FxRateSet">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A collection of spot FX rates used in pricing.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="QuotedAssetSet">
            <xsd:sequence/>
          </xsd:extension>
        </xsd:complexContent>
      </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">
              <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.
          </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="InterpolationMethod">
        <xsd:annotation>
          <xsd:documentation source="http://www.FpML.org" xml:lang="en">
            The type of interpolation used.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="interpolationMethodScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/interpolation-method-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </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="MultiDimensionalPricingData">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A pricing data set that contains a series of points with
            coordinates. It is a sparse matrix representation of a
            multi-dimensional matrix.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="QuotationCharacteristics.model" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Characteristics that apply to all quotations in the pricing
                structure.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="point" type="PricingStructurePoint" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ParametricAdjustment">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An adjustment used to accommodate a parameter of the input
            trade, e.g. the strike.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="name" type="xsd:normalizedString">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the adjustment parameter (e.g. "Volatility
                Skew").
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="inputUnits" type="PriceQuoteUnits" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The units of the input parameter, e.g. Yield.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="datapoint" type="ParametricAdjustmentPoint" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The values of the adjustment parameter.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ParametricAdjustmentPoint">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A value of the adjustment point, consisting of the x value and
            the corresponding y value.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="parameterValue" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The value of the independent variable (e.g. strike offset).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="adjustmentValue" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The value of the dependent variable, the actual adjustment
                amount.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </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:complexContent>
      </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="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="PricingStructure">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An abstract pricing structure base type. Used as a base for
            structures such as yield curves and volatility matrices..
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="name" type="xsd:normalizedString" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the structure, e.g "USDLIBOR-3M EOD Curve".
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="currency" type="Currency" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency that the structure is expressed in (this is
                relevant mostly for the Interes Rates asset class).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="PricingStructureReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to a pricing structure or any derived components
            (i.e. yield curve).
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="PricingStructurePoint">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A single valued point with a set of coordinates that define an
            arbitrary number of indentifying indexes (0 or more). Note that
            the collection of coordinates/coordinate references for a
            PricingStructurePoint must not define a given dimension (other
            than "generic") more than once. This is to avoid ambiguity.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="PricingCoordinateOrReference.model" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:group ref="UnderlyingAssetOrReference.model" minOccurs="0"/>
          <xsd:group ref="Quotation.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A quotation for a specific point, including anny
                characteristics that may be unique to that point.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:group>
        </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="TermCurve">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A curve consisting only of values over a term. This is a
            restricted form of One Dimensional Structure.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="interpolationMethod" type="InterpolationMethod" minOccurs="0"/>
          <xsd:element name="extrapolationPermitted" type="xsd:boolean" minOccurs="0"/>
          <xsd:element name="point" type="TermPoint" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="TermPoint">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A value point that can have a time dimension. Allows bid, mid,
            ask, and spread values to be represented.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="term" type="TimeDimension">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The time dimension of the point (tenor and/or date)
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="BidMidAsk.model"/>
          <xsd:element name="spreadValue" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The spread value can be used in conjunction with the "mid"
                value to define the bid and the ask value.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="definition" type="AssetReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional reference to an underlying asset that defines
                the meaning of the value, i.e. the product that the value
                corresponds to. For example, this could be a discount
                instrument.
              </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="VolatilityMatrix">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A matrix of volatilities with dimension 0-3.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructureValuation">
            <xsd:sequence>
              <xsd:element name="dataPoints" type="MultiDimensionalPricingData">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The raw volatility matrix data, expressed as a
                    multi-dimensional array.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="adjustment" type="ParametricAdjustment" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    An adjustment factor, such as for vol smile/skew.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="VolatilityRepresentation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A representation of volatilities of an asset. This is a generic
            structure whose values can be supplied in a specific volatility
            matrix.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructure">
            <xsd:sequence>
              <xsd:element name="asset" type="AnyAssetReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A reference to the asset whose volatility is modeled.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="YieldCurve">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A generic yield curve object, which can be valued in a variety
            of ways.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructure">
            <xsd:sequence>
              <xsd:group ref="YieldCurveCharacteristics.model" minOccurs="0"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="YieldCurveValuation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The values of a yield curve, including possibly inputs and
            outputs (dfs, forwards, zero rates).
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PricingStructureValuation">
            <xsd:sequence>
              <xsd:element name="inputs" type="QuotedAssetSet" minOccurs="0"/>
              <xsd:element name="zeroCurve" type="ZeroRateCurve" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A curve of zero rates.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="forwardCurve" type="ForwardRateCurve" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A curve of forward rates.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="discountFactorCurve" type="TermCurve" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A curve of discount factors.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ZeroRateCurve">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A curve used to model a set of zero-coupon interest rates.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="compoundingFrequency" type="CompoundingFrequency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The frequency at which the rates are compounded (e.g.
                continuously compounded).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="rateCurve" type="TermCurve">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The curve of zero-coupon values.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="creditCurve" type="CreditCurve" substitutionGroup="pricingStructure"/>
      <xsd:element name="creditCurveValuation" type="CreditCurveValuation" substitutionGroup="pricingStructureValuation"/>
      <xsd:element name="fxCurve" type="FxCurve" substitutionGroup="pricingStructure"/>
      <xsd:element name="fxCurveValuation" type="FxCurveValuation" substitutionGroup="pricingStructureValuation"/>
      <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:element name="volatilityMatrixValuation" type="VolatilityMatrix" substitutionGroup="pricingStructureValuation"/>
      <xsd:element name="volatilityRepresentation" type="VolatilityRepresentation" substitutionGroup="pricingStructure"/>
      <xsd:element name="yieldCurve" type="YieldCurve" substitutionGroup="pricingStructure"/>
      <xsd:element name="yieldCurveValuation" type="YieldCurveValuation" substitutionGroup="pricingStructureValuation"/>
      <xsd:group name="BidMidAsk.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The bid, mid, or ask values relevant for a quote
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="bid" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A price "bid" by a buyer for an asset, i.e. the price a
                buyer is willing to pay.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="mid" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A price midway between the bid and the ask price.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="ask" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A price "asked" by a seller for an asset, i.e. the price at
                which a seller is willing to sell.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="CreditCurveCharacteristics.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The set of characterstics that describe the outputs of a credit
            curve.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="CreditEntity.model"/>
          <xsd:element name="creditEvents" type="CreditEvents" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The material credit event.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="seniority" type="CreditSeniority">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The level of seniority of the deliverable obligation.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="secured" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Whether the deliverable obligation is secured or unsecured.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="currency" type="Currency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency of denomination of the deliverable obligation.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="obligations" type="Obligations" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The underlying obligations of the reference entity on which
                you are buying or selling protection
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="deliverableObligations" type="DeliverableObligations" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                What sort of obligation may be delivered in the event of
                the credit event. ISDA 2003 Term: Obligation
                Category/Deliverable Obligation Category
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="FxCurveCharacteristics.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The set of characterstics that describe the outputs of a fx
            curve.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines the two currencies for an FX trade and the
                quotation relationship between the two currencies.
              </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="RecoveryRate.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The model of the recovery rate (single value or curve).
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="recoveryRate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A single recovery rate, to be used for all terms.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="recoveryRateCurve" type="TermCurve">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A curve of recovery rates, allowing different terms to have
                different recovery rates.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:group>
      <xsd:group name="UnderlyingAssetOrReference.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Include or reference an underlying asset definition.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element ref="underlyingAsset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An underlying asset that defines the meaning of the value,
                i.e. the product that the value corresponds to. For
                example, this could be a caplet or simple european
                swaption.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="underlyingAssetReference" type="AssetReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to an underlying asset that defines the meaning
                of the value, i.e. the product that the value corresponds
                to. For example, this could be a caplet or simple european
                swaption.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:group>
      <xsd:group name="YieldCurveCharacteristics.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The set of characteristics that describe the outputs of a yield
            curve.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="algorithm" type="xsd:string" minOccurs="0"/>
          <xsd:element name="forecastRateIndex" type="ForecastRateIndex" minOccurs="0"/>
        </xsd:sequence>
      </xsd:group>
    </xsd:schema>