FpML 4.2 Working Draft

12 October 2005

Market Environment Component Definitions

Version: 4.2

This Version:

http://www.fpml.org/spec/2005/wd-fpml-4-2-2005-10-12

Latest Version:

http://www.fpml.org/spec/2005/wd-fpml-4-2-2005-10-12

Previous Version:

http://www.fpml.org/spec/2005/wd-fpml-4-2-2005-05-04/

Errata for this Version:

http://www.fpml.org/spec/errata/wd-fpml-4-2-2005-10-12-errata.html

Document built: Tue 10/11/2005 12:44:27.65


Copyright (c) 1999 - 2005 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



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 Elements
creditCurve
creditCurveValuation
fxCurve
fxCurveValuation
market
pricingStructure
pricingStructureValuation
volatilityMatrixValuation
volatilityRepresentation
yieldCurve
yieldCurveValuation

Global Complex Types
AssetReference
CompoundingFrequency
CreditCurve
CreditCurveValuation
DefaultProbabilityCurve
ForwardRateCurve
FxCurve
FxCurveValuation
FxRateSet
GenericDimension
InstrumentSet
InterpolationMethod
Market
MultiDimensionalPricingData
ParametricAdjustment
ParametricAdjustmentPoint
PricingDataPointCoordinate
PricingInputType
PricingMethod
PricingStructure
PricingStructurePoint
PricingStructureValuation
QuotedAssetSet
TermCurve
TermPoint
TimeDimension
VolatilityMatrix
VolatilityRepresentation
YieldCurve
YieldCurveValuation
ZeroRateCurve

Global Simple Types

Schema Listing

Global Elements

creditCurve

Description:

Figure:

No SVG plugin installed

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:

No SVG plugin installed

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:

No SVG plugin installed

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:

No SVG plugin installed

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:

No SVG plugin installed

Contents:

Element market is defined by the complex type Market

Used by:

Schema Fragment:

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

pricingStructure

Description:

Figure:

No SVG plugin installed

Contents:

Element pricingStructure is defined by the complex type PricingStructure

Used by:

Substituted by:

Schema Fragment:

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

pricingStructureValuation

Description:

Figure:

No SVG plugin installed

Contents:

Element pricingStructureValuation is defined by the complex type PricingStructureValuation

Used by:

Substituted by:

Schema Fragment:

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

volatilityMatrixValuation

Description:

Figure:

No SVG plugin installed

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:

No SVG plugin installed

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:

No SVG plugin installed

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:

No SVG plugin installed

Contents:

Element yieldCurveValuation is defined by the complex type YieldCurveValuation

Used by:

Schema Fragment:

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

Global Complex Types

AssetReference

Description:

A reference to an asset, e.g. a portfolio, trade, or reference instrument..

Figure:

No SVG plugin installed

Contents:

Attribute: href (xsd:IDREF) - required

Used by:

Schema Fragment:

<xsd:complexType name="AssetReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A reference to an asset, e.g. a portfolio, trade, or reference
      instrument..
    </xsd:documentation>
  </xsd:annotation>
  <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
</xsd:complexType>

CompoundingFrequency

Description:

The frequency at which a rate is compounded.

Figure:

No SVG plugin installed

Contents:

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

Attribute: compoundingFrequencyScheme (xsd:anyURI)

Used by:

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:

No SVG plugin installed

Contents:

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


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

Or


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

seniority (exactly one occurrence; of the type CreditSeniority)

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

currency (exactly one occurrence; of the type Currency)

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

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

Used by:

Extension of:

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:

No SVG plugin installed

Contents:

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

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

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


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

Or


Used by:

Extension of:

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:

No SVG plugin installed

Contents:

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

baseYieldCurve (exactly one occurrence; of the type Reference)

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

Used by:

Extension of:

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="Reference">
          <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:

No SVG plugin installed

Contents:

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

rateCurve (exactly one occurrence; of the type TermCurve)

Used by:

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:

No SVG plugin installed

Contents:

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

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

Used by:

Extension of:

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:

No SVG plugin installed

Contents:

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

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

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

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

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

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

Used by:

Extension of:

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="Reference" minOccurs="0"/>
        <xsd:element name="forecastCurrencyYieldCurve" type="Reference" 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:

No SVG plugin installed

Contents:

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

Used by:

Extension of:

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:

No SVG plugin installed

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:

No SVG plugin installed

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

Used by:

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:

No SVG plugin installed

Contents:

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

Attribute: interpolationMethodScheme (xsd:anyURI)

Used by:

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:

No SVG plugin installed

Contents:

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

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

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

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

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

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

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

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:

No SVG plugin installed

Contents:

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

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

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

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

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


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

Or


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

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

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

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

Used by:

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:

No SVG plugin installed

Contents:

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

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

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

Used by:

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:

No SVG plugin installed

Contents:

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

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

Used by:

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:

No SVG plugin installed

Contents:


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

Or

Or

Or


Attribute: id (xsd:ID)

Used by:

Schema Fragment:

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

PricingInputType

Description:

The type of pricing structure represented.

Figure:

No SVG plugin installed

Contents:

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

Attribute: pricingInputTypeScheme (xsd:anyURI)

Used by:

Schema Fragment:

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

PricingMethod

Description:

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

Figure:

No SVG plugin installed

Contents:

assetReference (exactly one occurrence; of the type AssetReference)

pricingInputReference (exactly one occurrence; of the type Reference)

Used by:

Schema Fragment:

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

No SVG plugin installed

Contents:

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

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

Attribute: id (xsd:ID)

Used by:

Derived Types:

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:

No SVG plugin installed

Contents:


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

Or



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

Or


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

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

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

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

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

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


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

Or


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

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

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

Attribute: id (xsd:ID)

Used by:

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>

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:

No SVG plugin installed

Contents:

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

baseDate (exactly one occurrence; of the type IdentifiedDate)

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

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

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

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

Used by:

Extension of:

Derived Types:

Schema Fragment:

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

QuotedAssetSet

Description:

A collection of quoted assets.

Figure:

No SVG plugin installed

Contents:

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

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="QuotedAssetSet">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A collection of quoted assets.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="instrumentSet" type="InstrumentSet" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of instruments used as a basis for quotation.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="assetQuote" type="BasicAssetValuation" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A collection of valuations (quotes) for the assets needed in
          the set. Normally these quotes will be for the underlying
          assets listed above, but they don't necesarily have to be.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

TermCurve

Description:

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

Figure:

No SVG plugin installed

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:

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:

No SVG plugin installed

Contents:

term (exactly one occurrence; of the type TimeDimension)

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

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

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

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

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

Attribute: id (xsd:ID)

Used by:

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:

No SVG plugin installed

Contents:


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

Attribute: href (xsd:IDREF)

Used by:

Schema Fragment:

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

VolatilityMatrix

Description:

A matrix of volatilities with dimension 0-3.

Figure:

No SVG plugin installed

Contents:

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

dataPoints (exactly one occurrence; of the type MultiDimensionalPricingData)

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

Used by:

Extension of:

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:

No SVG plugin installed

Contents:

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

asset (exactly one occurrence; of the type AssetReference)

Used by:

Extension of:

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="AssetReference">
          <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:

No SVG plugin installed

Contents:

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

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

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

Used by:

Extension of:

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:

No SVG plugin installed

Contents:

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

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

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

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

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

Used by:

Extension of:

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:

No SVG plugin installed

Contents:

compoundingFrequency (exactly one occurrence; of the type CompoundingFrequency)

rateCurve (exactly one occurrence; of the type TermCurve)

Used by:

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 Simple Types

The schema does not contain any global simple types.


Full XML Schema

<xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <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="AssetReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A reference to an asset, e.g. a portfolio, trade, or reference
        instrument..
      </xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
  </xsd:complexType>
  <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="Reference">
            <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="Reference" minOccurs="0"/>
          <xsd:element name="forecastCurrencyYieldCurve" type="Reference" 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="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="AssetReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The asset whose price is required.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="pricingInputReference" type="Reference">
        <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="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:attribute name="href" type="xsd:IDREF"/>
  </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="AssetReference">
            <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="Reference">
        <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>