FpML 4.3 Trial Recommendation

14 December 2007

Market Environment Component Definitions

Version: 4.3

This Version:

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

Latest Version:

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

Previous Version:

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

Errata for this Version:

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

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


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
InterpolationMethod
MultiDimensionalPricingData
ParametricAdjustment
ParametricAdjustmentPoint
PricingStructurePoint
TermCurve
TermPoint
VolatilityMatrix
VolatilityRepresentation
YieldCurve
YieldCurveValuation
ZeroRateCurve

Global Elements
creditCurve
creditCurveValuation
fxCurve
fxCurveValuation
volatilityMatrixValuation
volatilityRepresentation
yieldCurve
yieldCurveValuation

Groups
BidMidAsk.model
CreditCurveCharacteristics.model
FxCurveCharacteristics.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:

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)


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:

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:

Contents:

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

baseYieldCurve (exactly one occurrence; of the type PricingStructureReference)

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="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)

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:

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:

Contents:

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

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)

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="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)

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>

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:

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>

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)

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


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

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

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

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:

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:

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>

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

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


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

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

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

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>

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:

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)

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>

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)

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:

Contents:

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

asset (exactly one occurrence; of the type AnyAssetReference)

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="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)

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:

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:

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 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"/>

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)

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

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

Used by:

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

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:

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)

Used by:

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>

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

Or


Used by:

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

Or


Used by:

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:

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 ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML" targetNamespace="http://www.fpml.org/2007/FpML-4-3" version="$Revision: 2351 $" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xsd:include schemaLocation="fpml-riskdef-4-3.xsd"/>
  <xsd:include schemaLocation="fpml-cd-4-3.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="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="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="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="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="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="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="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>