FpML 4.2 Working Draft

12 October 2005

Foreign Exchange 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:45:19.59


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
fxAverageRateOption
fxBarrierOption
fxDigitalOption
fxSimpleOption
fxSingleLeg
fxSwap
termDeposit

Global Complex Types
CutName
ExchangeRate
ExpiryDateTime
FxAmericanTrigger
FxAverageRateObservationDate
FxAverageRateObservationSchedule
FxAverageRateOption
FxBarrier
FxBarrierOption
FxDigitalOption
FxEuropeanTrigger
FxLeg
FxOptionLeg
FxOptionPayout
FxOptionPremium
FxStrikePrice
FxSwap
ObservedRates
PremiumQuote
QuotedAs
SideRate
SideRates
TermDeposit

Global Simple Types

Schema Listing

Global Elements

fxAverageRateOption

Description:

A component describing an FX Average Rate Option product.

Figure:

No SVG plugin installed

Contents:

Element fxAverageRateOption is defined by the complex type FxAverageRateOption

Used by:

Schema Fragment:

<xsd:element name="fxAverageRateOption" type="FxAverageRateOption" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing an FX Average Rate Option product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxBarrierOption

Description:

A component describing a FX Barrier Option product.

Figure:

No SVG plugin installed

Contents:

Element fxBarrierOption is defined by the complex type FxBarrierOption

Used by:

Schema Fragment:

<xsd:element name="fxBarrierOption" type="FxBarrierOption" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Barrier Option product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxDigitalOption

Description:

A component describing a FX Digital Option product.

Figure:

No SVG plugin installed

Contents:

Element fxDigitalOption is defined by the complex type FxDigitalOption

Used by:

Schema Fragment:

<xsd:element name="fxDigitalOption" type="FxDigitalOption" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Digital Option product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxSimpleOption

Description:

A component describing a FX Simple Option product

Figure:

No SVG plugin installed

Contents:

Element fxSimpleOption is defined by the complex type FxOptionLeg

Used by:

Schema Fragment:

<xsd:element name="fxSimpleOption" type="FxOptionLeg" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Simple Option product
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxSingleLeg

Description:

A single-legged FX transaction definition (e.g., spot or forward).

Figure:

No SVG plugin installed

Contents:

Element fxSingleLeg is defined by the complex type FxLeg

Used by:

Schema Fragment:

<xsd:element name="fxSingleLeg" type="FxLeg" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A single-legged FX transaction definition (e.g., spot or
      forward).
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxSwap

Description:

A component describing a FX Swap product.

Figure:

No SVG plugin installed

Contents:

Element fxSwap is defined by the complex type FxSwap

Used by:

Schema Fragment:

<xsd:element name="fxSwap" type="FxSwap" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Swap product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

termDeposit

Description:

A term deposit product definition.

Figure:

No SVG plugin installed

Contents:

Element termDeposit is defined by the complex type TermDeposit

Used by:

Schema Fragment:

<xsd:element name="termDeposit" type="TermDeposit" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A term deposit product definition.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

Global Complex Types

CutName

Description:

Allows for an expiryDateTime cut to be described by name.

Figure:

No SVG plugin installed

Contents:

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

Attribute: cutNameScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="CutName">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Allows for an expiryDateTime cut to be described by name.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="cutNameScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/cut-name-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

ExchangeRate

Description:

A type that is used for describing the exchange rate for a particular transaction.

Figure:

No SVG plugin installed

Contents:

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

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

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

sideRates (zero or one occurrence; of the type SideRates)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="ExchangeRate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for describing the exchange rate for a
      particular transaction.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="FxRate">
      <xsd:sequence>
        <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional element used for FX forwards and certain
              types of FX OTC options. For deals consumated in the FX
              Forwards Market, this represents the current market rate
              for a particular currency pair. For barrier and
              digital/binary options, it can be useful to include the
              spot rate at the time the option was executed to make it
              easier to know whether the option needs to move "up" or
              "down" to be triggered.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="forwardPoints" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional element used for deals consumated in the FX
              Forwards market. Forward points represent the interest
              rate differential between the two currencies traded and
              are quoted as a preminum or a discount. Forward points
              are added to, or subtracted from, the spot rate to create
              the rate of the forward trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="sideRates" type="SideRates" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional element that allow for definition of rates
              against base currency for non-base currency FX contracts.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ExpiryDateTime

Description:

A type that describes the date and time in a location of the option expiry. In the case of American options this is the latest possible expiry date and time.

Figure:

No SVG plugin installed

Contents:

expiryDate (exactly one occurrence; of the type xsd:date)

expiryTime (exactly one occurrence; of the type BusinessCenterTime)

cutName (zero or one occurrence; of the type CutName)

Used by:

Schema Fragment:

<xsd:complexType name="ExpiryDateTime">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes the date and time in a location of the
      option expiry. In the case of American options this is the latest
      possible expiry date and time.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="expiryDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Represents a standard expiry date as defined for an FX OTC
          option.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="expiryTime" type="BusinessCenterTime"/>
    <xsd:element name="cutName" type="CutName" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

FxAmericanTrigger

Description:

A tyoe that defines a particular type of payout in an FX OTC exotic option. An American trigger occurs if the trigger criteria are met at any time from the initiation to the maturity of the option.

Figure:

No SVG plugin installed

Contents:

touchCondition (exactly one occurrence; of the type TouchConditionEnum)

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

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

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

Used by:

Schema Fragment:

<xsd:complexType name="FxAmericanTrigger">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A tyoe that defines a particular type of payout in an FX OTC
      exotic option. An American trigger occurs if the trigger criteria
      are met at any time from the initiation to the maturity of the
      option.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="touchCondition" type="TouchConditionEnum">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The binary condition that applies to an American-style
          trigger. There can only be two domain values for this
          element: "touch" or "no touch".
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <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:element name="triggerRate" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The market rate is observed relative to the trigger rate, and
          if it is found to be on the predefined side of (above or
          below) the trigger rate, a trigger event is deemed to have
          occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="informationSource" type="InformationSource" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The information source where a published or displayed market
          rate will be obtained, e.g. Telerate Page 3750.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The start of the period over which observations are made to
          determine whether a trigger has occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observationEndDate" type="xsd:date" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The end of the period over which observations are made to
          determine whether a trigger event has occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FxAverageRateObservationDate

Description:

A type that, for average rate options, is used to describe each specific observation date, as opposed to a parametric frequency of rate observations.

Figure:

No SVG plugin installed

Contents:

observationDate (exactly one occurrence; of the type xsd:date)

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

Used by:

Schema Fragment:

<xsd:complexType name="FxAverageRateObservationDate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that, for average rate options, is used to describe each
      specific observation date, as opposed to a parametric frequency
      of rate observations.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="observationDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A specific date for which an observation against a particular
          rate will be made and will be used for subsequent
          computations.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="averageRateWeightingFactor" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An optional factor that can be used for weighting certain
          observation dates. Typically, firms will weight each date
          with a factor of 1 if there are standard, unweighted
          adjustments.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FxAverageRateObservationSchedule

Description:

A type that describes average rate options rate observations. This is used to describe a parametric frequency of rate observations against a particular rate. Typical frequencies might include daily, every Friday, etc.

Figure:

No SVG plugin installed

Contents:

observationStartDate (exactly one occurrence; of the type xsd:date)

observationEndDate (exactly one occurrence; of the type xsd:date)

calculationPeriodFrequency (exactly one occurrence; of the type CalculationPeriodFrequency)

Used by:

Schema Fragment:

<xsd:complexType name="FxAverageRateObservationSchedule">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes average rate options rate observations.
      This is used to describe a parametric frequency of rate
      observations against a particular rate. Typical frequencies might
      include daily, every Friday, etc.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="observationStartDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The start of the period over which observations are made to
          determine whether a trigger has occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observationEndDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The end of the period over which observations are made to
          determine whether a trigger event has occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="calculationPeriodFrequency" type="CalculationPeriodFrequency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The frequency at which calculation period end dates occur
          with the regular part of the calculation period schedule and
          their roll date convention.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FxAverageRateOption

Description:

A type that is used for an option whose payout is based on the average of the price of the underlying over a specific period of time. The payout is the difference between the predetermined, fixed strike price and the average of spot rates observed and is used for hedging against prevailing spot rates over a given time period.

Figure:

No SVG plugin installed

Contents:

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

buyerPartyReference (exactly one occurrence; of the type Reference)

sellerPartyReference (exactly one occurrence; of the type Reference)

expiryDateTime (exactly one occurrence; of the type ExpiryDateTime)

exerciseStyle (exactly one occurrence; of the type ExerciseStyleEnum)

fxOptionPremium (zero or more occurrences; of the type FxOptionPremium)

valueDate (exactly one occurrence; of the type xsd:date)

putCurrencyAmount (exactly one occurrence; of the type Money)

callCurrencyAmount (exactly one occurrence; of the type Money)

fxStrikePrice (exactly one occurrence; of the type FxStrikePrice)

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

payoutCurrency (exactly one occurrence; of the type Currency)

averageRateQuoteBasis (exactly one occurrence; of the type StrikeQuoteBasisEnum)

precision (zero or one occurrence; of the type xsd:nonNegativeInteger)

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

primaryRateSource (exactly one occurrence; of the type InformationSource)

secondaryRateSource (zero or one occurrence; of the type InformationSource)

fixingTime (exactly one occurrence; of the type BusinessCenterTime)


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

Or


observedRates (zero or more occurrences; of the type ObservedRates)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FxAverageRateOption">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for an option whose payout is based on the
      average of the price of the underlying over a specific period of
      time. The payout is the difference between the predetermined,
      fixed strike price and the average of spot rates observed and is
      used for hedging against prevailing spot rates over a given time
      period.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:group ref="BuyerSeller.model"/>
        <xsd:element name="expiryDateTime" type="ExpiryDateTime">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date and time in a location of the option expiry. In
              the case of american options this is the latest possible
              expiry date and time.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="exerciseStyle" type="ExerciseStyleEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The manner in which the option can be exercised.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Premium amount or premium installment amount for an
              option.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="valueDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which both currencies traded will settle.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="putCurrencyAmount" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency amount that the option gives the right to
              sell.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="callCurrencyAmount" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency amount that the option gives the right to
              buy.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fxStrikePrice" type="FxStrikePrice">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              TBA
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional element used for FX forwards and certain
              types of FX OTC options. For deals consumated in the FX
              Forwards Market, this represents the current market rate
              for a particular currency pair. For barrier and
              digital/binary options, it can be useful to include the
              spot rate at the time the option was executed to make it
              easier to know whether the option needs to move "up" or
              "down" to be triggered.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="payoutCurrency" type="Currency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISO code of the currency in which a payout (if any)
              is to be made when a trigger is hit on a digital or
              barrier option.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="averageRateQuoteBasis" type="StrikeQuoteBasisEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The method by which the average rate that is being
              observed is quoted.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="precision" type="xsd:nonNegativeInteger" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the rounding precision in terms of a number of
              decimal places. Note how a percentage rate rounding of 5
              decimal places is expressed as a rounding precision of 7
              in the FpML document since the percentage is expressed as
              a decimal, e.g. 9.876543% (or 0.09876543) being rounded
              to the nearest 5 decimal places is 9.87654% (or
              0.0987654).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="payoutFormula" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The description of the mathematical computation for how
              the payout is computed.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="primaryRateSource" type="InformationSource">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The primary source for where the rate observation will
              occur. Will typically be either a page or a reference
              bank published rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="secondaryRateSource" type="InformationSource" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An alternative, or secondary, source for where the rate
              observation will occur. Will typically be either a page
              or a reference bank published rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fixingTime" type="BusinessCenterTime">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The time at which the spot currency exchange rate will be
              observed. It is specified as a time in a specific
              business center, e.g. 11:00am London time.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="averageRateObservationSchedule" type="FxAverageRateObservationSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Parametric schedule of rate observations.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="averageRateObservationDate" type="FxAverageRateObservationDate" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                One of more specific rate observation dates.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="observedRates" type="ObservedRates" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Describes prior rate observations within average rate
              options. Periodically, an average rate option agreement
              will be struck whereby some rates have already been
              observed in the past but will become part of computation
              of the average rate of the option. This structure
              provides for these previously observed rates to be
              included in the description of the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FxBarrier

Description:

A type that is used within the FX barrier option definition to define one or more barrier levels that determine whether the option will be knocked-in or knocked-out.

Figure:

No SVG plugin installed

Contents:

fxBarrierType (zero or one occurrence; of the type FxBarrierTypeEnum)

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

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

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

Used by:

Schema Fragment:

<xsd:complexType name="FxBarrier">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used within the FX barrier option definition to
      define one or more barrier levels that determine whether the
      option will be knocked-in or knocked-out.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="fxBarrierType" type="FxBarrierTypeEnum" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          This specifies whether the option becomes effective
          ("knock-in") or is annulled ("knock-out") when the respective
          trigger event occurs.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <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:element name="triggerRate" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The market rate is observed relative to the trigger rate, and
          if it is found to be on the predefined side of (above or
          below) the trigger rate, a trigger event is deemed to have
          occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="informationSource" type="InformationSource" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The information source where a published or displayed market
          rate will be obtained, e.g. Telerate Page 3750.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The start of the period over which observations are made to
          determine whether a trigger has occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observationEndDate" type="xsd:date" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The end of the period over which observations are made to
          determine whether a trigger event has occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FxBarrierOption

Description:

A type that describes an option with a put/call component, but also one or more associated barrier rates. If the market rate moves to reach a barrier rate a trigger event occurs. The trigger event may for example be necessary to enable the option, or may annul the option contract. [Since the barriers reduce the probability of exercise, the premium for an option with barriers is likely to be cheaper than one without].

Figure:

No SVG plugin installed

Contents:

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

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

fxBarrier (one or more occurrences; of the type FxBarrier)

triggerPayout (zero or one occurrence; of the type FxOptionPayout)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FxBarrierOption">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes an option with a put/call component, but
      also one or more associated barrier rates. If the market rate
      moves to reach a barrier rate a trigger event occurs. The trigger
      event may for example be necessary to enable the option, or may
      annul the option contract. [Since the barriers reduce the
      probability of exercise, the premium for an option with barriers
      is likely to be cheaper than one without].
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="FxOptionLeg">
      <xsd:sequence>
        <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional element used for FX forwards and certain
              types of FX OTC options. For deals consumated in the FX
              Forwards Market, this represents the current market rate
              for a particular currency pair. For barrier and
              digital/binary options, it can be useful to include the
              spot rate at the time the option was executed to make it
              easier to know whether the option needs to move "up" or
              "down" to be triggered.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fxBarrier" type="FxBarrier" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Information about a barrier rate in a Barrier Option -
              specifying the exact criteria for a trigger event to
              occur.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="triggerPayout" type="FxOptionPayout" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The amount of currency which becomes payable if and when
              a trigger event occurs.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FxDigitalOption

Description:

A type that describes an option without a put/call component (and so no associated exercise), but with one or more trigger rates) Examples are "one-touch", "no-touch", and "double-no-touch" options. For a specified period the market rate is observed relative to the trigger rates, and on a trigger event a fixed payout may become due to the buyer of the option, or alternatively the option contract may be annulled.

Figure:

No SVG plugin installed

Contents:

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

buyerPartyReference (exactly one occurrence; of the type Reference)

sellerPartyReference (exactly one occurrence; of the type Reference)

expiryDateTime (exactly one occurrence; of the type ExpiryDateTime)

fxOptionPremium (zero or more occurrences; of the type FxOptionPremium)

valueDate (exactly one occurrence; of the type xsd:date)

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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


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

Or


triggerPayout (exactly one occurrence; of the type FxOptionPayout)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FxDigitalOption">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes an option without a put/call component (and
      so no associated exercise), but with one or more trigger rates)
      Examples are "one-touch", "no-touch", and "double-no-touch"
      options. For a specified period the market rate is observed
      relative to the trigger rates, and on a trigger event a fixed
      payout may become due to the buyer of the option, or
      alternatively the option contract may be annulled.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:group ref="BuyerSeller.model"/>
        <xsd:element name="expiryDateTime" type="ExpiryDateTime">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date and time in a location of the option expiry. In
              the case of american options this is the latest possible
              expiry date and time.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Premium amount or premium installment amount for an
              option.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="valueDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which both currencies traded will settle.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <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:element name="spotRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional element used for FX forwards and certain
              types of FX OTC options. For deals consumated in the FX
              Forwards Market, this represents the current market rate
              for a particular currency pair. For barrier and
              digital/binary options, it can be useful to include the
              spot rate at the time the option was executed to make it
              easier to know whether the option needs to move "up" or
              "down" to be triggered.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="fxEuropeanTrigger" type="FxEuropeanTrigger" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A European trigger occurs if the trigger criteria are
                met, but these are valid (and an observation is made)
                only at the maturity of the option.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxAmericanTrigger" type="FxAmericanTrigger" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An American trigger occurs if the trigger criteria are
                met at any time from the initiation to the maturity of
                the option.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="triggerPayout" type="FxOptionPayout">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The amount of currency which becomes payable if and when
              a trigger event occurs.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FxEuropeanTrigger

Description:

A type that defines a particular type of payout in an FX OTC exotic option. A European trigger occurs if the trigger criteria are met, but these are valid (and an observation is made) only at the maturity of the option.

Figure:

No SVG plugin installed

Contents:

triggerCondition (exactly one occurrence; of the type TriggerConditionEnum)

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

Used by:

Schema Fragment:

<xsd:complexType name="FxEuropeanTrigger">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that defines a particular type of payout in an FX OTC
      exotic option. A European trigger occurs if the trigger criteria
      are met, but these are valid (and an observation is made) only at
      the maturity of the option.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="triggerCondition" type="TriggerConditionEnum">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The binary condition that applies to a European-style
          trigger, determining where the spot rate must be relative to
          the triggerRate for the option to be exercisable. There can
          only be two domain values for this element: "aboveTrigger" or
          "belowTrigger".
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <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:element name="triggerRate" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The market rate is observed relative to the trigger rate, and
          if it is found to be on the predefined side of (above or
          below) the trigger rate, a trigger event is deemed to have
          occurred.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="informationSource" type="InformationSource" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The information source where a published or displayed market
          rate will be obtained, e.g. Telerate Page 3750.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FxLeg

Description:

A type that represents a single exchange of one currency for another. This is used for representing FX spot, forward, and swap transactions.

Figure:

No SVG plugin installed

Contents:

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

exchangedCurrency1 (exactly one occurrence; of the type Payment)

exchangedCurrency2 (exactly one occurrence; of the type Payment)


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

exchangeRate (exactly one occurrence; of the type ExchangeRate)

nonDeliverableForward (zero or one occurrence; of the type FxCashSettlement)

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

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FxLeg">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that represents a single exchange of one currency for
      another. This is used for representing FX spot, forward, and swap
      transactions.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element name="exchangedCurrency1" type="Payment">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This is the first of the two currency flows that define a
              single leg of a standard foreign exchange transaction.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="exchangedCurrency2" type="Payment">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This is the second of the two currency flows that define
              a single leg of a standard foreign exchange transaction.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="valueDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which both currencies traded will settle.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:sequence>
            <xsd:element name="currency1ValueDate" type="xsd:date">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The date on which the currency1 amount will be
                  settled. To be used in a split value date scenario.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="currency2ValueDate" type="xsd:date">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The date on which the currency2 amount will be
                  settled. To be used in a split value date scenario.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:choice>
        <xsd:element name="exchangeRate" type="ExchangeRate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The rate of exchange between the two currencies.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="nonDeliverableForward" type="FxCashSettlement" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Used to describe a particular type of FX forward
              transaction that is settled in a single currency.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="confirmationSenderPartyReference" type="Reference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the party that is sending the current
              document as a confirmation of the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FxOptionLeg

Description:

A type that is used for describing a standard FX OTC option (European or American) which may be a complete trade in its own right or part of a trade strategy.

Figure:

No SVG plugin installed

Contents:

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

buyerPartyReference (exactly one occurrence; of the type Reference)

sellerPartyReference (exactly one occurrence; of the type Reference)

expiryDateTime (exactly one occurrence; of the type ExpiryDateTime)

exerciseStyle (exactly one occurrence; of the type ExerciseStyleEnum)

fxOptionPremium (zero or more occurrences; of the type FxOptionPremium)

valueDate (exactly one occurrence; of the type xsd:date)

cashSettlementTerms (zero or one occurrence; of the type FxCashSettlement)

putCurrencyAmount (exactly one occurrence; of the type Money)

callCurrencyAmount (exactly one occurrence; of the type Money)

fxStrikePrice (exactly one occurrence; of the type FxStrikePrice)

quotedAs (zero or one occurrence; of the type QuotedAs)

Used by:

Extension of:

Derived Types:

Schema Fragment:

<xsd:complexType name="FxOptionLeg">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for describing a standard FX OTC option
      (European or American) which may be a complete trade in its own
      right or part of a trade strategy.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:group ref="BuyerSeller.model"/>
        <xsd:element name="expiryDateTime" type="ExpiryDateTime">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date and time in a location of the option expiry. In
              the case of american options this is the latest possible
              expiry date and time.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="exerciseStyle" type="ExerciseStyleEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The manner in which the option can be exercised.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Premium amount or premium installment amount for an
              option.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="valueDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which both currencies traded will settle.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="cashSettlementTerms" type="FxCashSettlement" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This optional element is only used if an option has been
              specified at execution time to be settled into a single
              cash payment. This would be used for a non-deliverable
              option.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="putCurrencyAmount" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency amount that the option gives the right to
              sell.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="callCurrencyAmount" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency amount that the option gives the right to
              buy.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fxStrikePrice" type="FxStrikePrice">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              TBA
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="quotedAs" type="QuotedAs" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Describes how the option was quoted.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FxOptionPayout

Description:

A type that contains full details of a predefined fixed payout which may occur (or not) in a Barrier Option or Digital Option when a trigger event occurs (or not).

Figure:

No SVG plugin installed

Contents:

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

payoutStyle (exactly one occurrence; of the type PayoutEnum)

settlementInformation (zero or one occurrence; of the type SettlementInformation)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FxOptionPayout">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that contains full details of a predefined fixed payout
      which may occur (or not) in a Barrier Option or Digital Option
      when a trigger event occurs (or not).
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Money">
      <xsd:sequence>
        <xsd:element name="payoutStyle" type="PayoutEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The trigger event and payout may be asynchonous. A payout
              may become due on the trigger event, or the payout may
              (by agreeement at initiation) be deferred (for example)
              to the maturity date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="settlementInformation" type="SettlementInformation" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The information required to settle a currency payment
              that results from a trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FxOptionPremium

Description:

A type that specifies the premium exchanged for a single option trade or option strategy.

Figure:

No SVG plugin installed

Contents:

payerPartyReference (exactly one occurrence; of the type Reference)

receiverPartyReference (exactly one occurrence; of the type Reference)

premiumAmount (exactly one occurrence; of the type Money)

premiumSettlementDate (exactly one occurrence; of the type xsd:date)

settlementInformation (zero or one occurrence; of the type SettlementInformation)

premiumQuote (zero or one occurrence; of the type PremiumQuote)

Used by:

Schema Fragment:

<xsd:complexType name="FxOptionPremium">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that specifies the premium exchanged for a single option
      trade or option strategy.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="PayerReceiver.model"/>
    <xsd:element name="premiumAmount" type="Money">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The specific currency and amount of the option premium.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="premiumSettlementDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The agreed-upon date when the option premium will be settled.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="settlementInformation" type="SettlementInformation" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The information required to settle a currency payment that
          results from a trade.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="premiumQuote" type="PremiumQuote" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          This is the option premium as quoted. It is expected to be
          consistent with the premiumAmount and is for information
          only.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FxStrikePrice

Description:

A type that describes the rate of exchange at which the option has been struck.

Figure:

No SVG plugin installed

Contents:

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

strikeQuoteBasis (exactly one occurrence; of the type StrikeQuoteBasisEnum)

Used by:

Schema Fragment:

<xsd:complexType name="FxStrikePrice">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes the rate of exchange at which the option
      has been struck.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="rate" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The rate of exchange between the two currencies of the leg of
          a deal. Must be specified with a quote basis.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="strikeQuoteBasis" type="StrikeQuoteBasisEnum">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The method by which the strike rate is quoted.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

FxSwap

Description:

A type that describes an FX swap. This is similar to FpML_FXLeg, but contains multiple legs for a particular trade.

Figure:

No SVG plugin installed

Contents:

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

fxSingleLeg (one or more occurrences; of the type FxLeg)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FxSwap">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes an FX swap. This is similar to FpML_FXLeg,
      but contains multiple legs for a particular trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element ref="fxSingleLeg" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ObservedRates

Description:

A type that describes prior rate observations within average rate options. Periodically, an average rate option agreement will be struck whereby some rates have already been observed in the past but will become part of computation of the average rate of the option. This structure provides for these previously observed rates to be included in the description of the trade.

Figure:

No SVG plugin installed

Contents:

observationDate (exactly one occurrence; of the type xsd:date)

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

Used by:

Schema Fragment:

<xsd:complexType name="ObservedRates">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes prior rate observations within average rate
      options. Periodically, an average rate option agreement will be
      struck whereby some rates have already been observed in the past
      but will become part of computation of the average rate of the
      option. This structure provides for these previously observed
      rates to be included in the description of the trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="observationDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A specific date for which an observation against a particular
          rate will be made and will be used for subsequent
          computations.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observedRate" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The actual observed rate before any required rate treatment
          is applied, e.g. before converting a rate quoted on a
          discount basis to an equivalent yield. An observed rate of 5%
          would be represented as 0.05.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

PremiumQuote

Description:

A type that describes the option premium as quoted.

Figure:

No SVG plugin installed

Contents:

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

premiumQuoteBasis (exactly one occurrence; of the type PremiumQuoteBasisEnum)

Used by:

Schema Fragment:

<xsd:complexType name="PremiumQuote">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes the option premium as quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="premiumValue" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The value of the premium quote. In general this will be
          either a percentage or an explicit amount.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="premiumQuoteBasis" type="PremiumQuoteBasisEnum">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The method by which the option premium was quoted.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

QuotedAs

Description:

A type that describes how the option was quoted.

Figure:

No SVG plugin installed

Contents:

optionOnCurrency (exactly one occurrence; of the type Currency)

faceOnCurrency (exactly one occurrence; of the type Currency)

quotedTenor (zero or one occurrence; of the type Interval)

Used by:

Schema Fragment:

<xsd:complexType name="QuotedAs">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes how the option was quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="optionOnCurrency" type="Currency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Either the callCurrencyAmount or the putCurrencyAmount
          defined elsewhere in the document. The currency reference
          denotes the option currency as the option was quoted (as
          opposed to the face currency).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="faceOnCurrency" type="Currency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Either the callCurrencyAmount or the putCurrencyAmount
          defined elsewhere in the document.The currency reference
          denotes the face currency as the option was quoted (as
          opposed to the option currency).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="quotedTenor" type="Interval" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Code denoting the tenor of the option leg.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

SideRate

Description:

A type that is used for describing a particular rate against base currency. Exists within SideRates.

Figure:

No SVG plugin installed

Contents:

currency (exactly one occurrence; of the type Currency)

sideRateBasis (exactly one occurrence; of the type SideRateBasisEnum)

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

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

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

Used by:

Schema Fragment:

<xsd:complexType name="SideRate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for describing a particular rate against base
      currency. Exists within SideRates.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="currency" type="Currency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The currency in which an amount is denominated.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="sideRateBasis" type="SideRateBasisEnum">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The method by which the exchange rate against base currency
          is quoted.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="rate" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The rate of exchange between the two currencies of the leg of
          a deal. Must be specified with a quote basis.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An optional element used for FX forwards and certain types of
          FX OTC options. For deals consumated in the FX Forwards
          Market, this represents the current market rate for a
          particular currency pair. For barrier and digital/binary
          options, it can be useful to include the spot rate at the
          time the option was executed to make it easier to know
          whether the option needs to move "up" or "down" to be
          triggered.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="forwardPoints" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An optional element used for deals consumated in the FX
          Forwards market. Forward points represent the interest rate
          differential between the two currencies traded and are quoted
          as a preminum or a discount. Forward points are added to, or
          subtracted from, the spot rate to create the rate of the
          forward trade.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

SideRates

Description:

A type that is used for including rates against base currency for non-base currency FX contracts.

Figure:

No SVG plugin installed

Contents:

baseCurrency (exactly one occurrence; of the type Currency)

currency1SideRate (zero or one occurrence; of the type SideRate)

currency2SideRate (zero or one occurrence; of the type SideRate)

Used by:

Schema Fragment:

<xsd:complexType name="SideRates">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for including rates against base currency for
      non-base currency FX contracts.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="baseCurrency" type="Currency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The currency that is used as the basis for the side rates
          when calculating a cross rate.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="currency1SideRate" type="SideRate" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The exchange rate for the first currency of the trade against
          base currency.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="currency2SideRate" type="SideRate" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The exchange rate for the second currency of the trade
          against base currency.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

TermDeposit

Description:

A class defining the content model for a term deposit product.

Figure:

No SVG plugin installed

Contents:

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

initialPayerReference (exactly one occurrence; of the type Reference)

initialReceiverReference (exactly one occurrence; of the type Reference)

startDate (exactly one occurrence; of the type xsd:date)

maturityDate (exactly one occurrence; of the type xsd:date)

dayCountFraction (exactly one occurrence; of the type DayCountFraction)

principal (exactly one occurrence; of the type Money)

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

interest (zero or one occurrence; of the type Money)

payment (zero or more occurrences; of the type Payment)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="TermDeposit">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A class defining the content model for a term deposit product.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element name="initialPayerReference" type="Reference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. The party referenced is the
              payer of the initial principal of the deposit on the
              start date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="initialReceiverReference" type="Reference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. The party is the receiver of
              the initial principal of the deposit on the start date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="startDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The averaging period start date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="maturityDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The end date of the calculation period. This date should
              already be adjusted for any applicable business day
              convention.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="dayCountFraction" type="DayCountFraction">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The day count fraction.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="principal" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The principal amount of the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fixedRate" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The calculation period fixed rate. A per annum rate,
              expressed as a decimal. A fixed rate of 5% would be
              represented as 0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="interest" type="Money" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The total interest of at maturity of the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="payment" type="Payment" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A known payment between two parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</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-shared-4-2.xsd"/>
  <xsd:complexType name="CutName">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Allows for an expiryDateTime cut to be described by name.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="cutNameScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/cut-name-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="ExchangeRate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for describing the exchange rate for a
        particular transaction.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxRate">
        <xsd:sequence>
          <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional element used for FX forwards and certain
                types of FX OTC options. For deals consumated in the FX
                Forwards Market, this represents the current market
                rate for a particular currency pair. For barrier and
                digital/binary options, it can be useful to include the
                spot rate at the time the option was executed to make
                it easier to know whether the option needs to move "up"
                or "down" to be triggered.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="forwardPoints" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional element used for deals consumated in the FX
                Forwards market. Forward points represent the interest
                rate differential between the two currencies traded and
                are quoted as a preminum or a discount. Forward points
                are added to, or subtracted from, the spot rate to
                create the rate of the forward trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="sideRates" type="SideRates" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional element that allow for definition of rates
                against base currency for non-base currency FX
                contracts.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ExpiryDateTime">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes the date and time in a location of the
        option expiry. In the case of American options this is the
        latest possible expiry date and time.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="expiryDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Represents a standard expiry date as defined for an FX OTC
            option.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="expiryTime" type="BusinessCenterTime"/>
      <xsd:element name="cutName" type="CutName" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAmericanTrigger">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A tyoe that defines a particular type of payout in an FX OTC
        exotic option. An American trigger occurs if the trigger
        criteria are met at any time from the initiation to the
        maturity of the option.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="touchCondition" type="TouchConditionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The binary condition that applies to an American-style
            trigger. There can only be two domain values for this
            element: "touch" or "no touch".
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <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:element name="triggerRate" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The market rate is observed relative to the trigger rate,
            and if it is found to be on the predefined side of (above
            or below) the trigger rate, a trigger event is deemed to
            have occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="informationSource" type="InformationSource" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The information source where a published or displayed
            market rate will be obtained, e.g. Telerate Page 3750.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The start of the period over which observations are made to
            determine whether a trigger has occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observationEndDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The end of the period over which observations are made to
            determine whether a trigger event has occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAverageRateObservationDate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that, for average rate options, is used to describe each
        specific observation date, as opposed to a parametric frequency
        of rate observations.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="observationDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A specific date for which an observation against a
            particular rate will be made and will be used for
            subsequent computations.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="averageRateWeightingFactor" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An optional factor that can be used for weighting certain
            observation dates. Typically, firms will weight each date
            with a factor of 1 if there are standard, unweighted
            adjustments.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAverageRateObservationSchedule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes average rate options rate observations.
        This is used to describe a parametric frequency of rate
        observations against a particular rate. Typical frequencies
        might include daily, every Friday, etc.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="observationStartDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The start of the period over which observations are made to
            determine whether a trigger has occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observationEndDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The end of the period over which observations are made to
            determine whether a trigger event has occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculationPeriodFrequency" type="CalculationPeriodFrequency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The frequency at which calculation period end dates occur
            with the regular part of the calculation period schedule
            and their roll date convention.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAverageRateOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for an option whose payout is based on the
        average of the price of the underlying over a specific period
        of time. The payout is the difference between the
        predetermined, fixed strike price and the average of spot rates
        observed and is used for hedging against prevailing spot rates
        over a given time period.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:group ref="BuyerSeller.model"/>
          <xsd:element name="expiryDateTime" type="ExpiryDateTime">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date and time in a location of the option expiry.
                In the case of american options this is the latest
                possible expiry date and time.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="exerciseStyle" type="ExerciseStyleEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The manner in which the option can be exercised.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Premium amount or premium installment amount for an
                option.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="valueDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which both currencies traded will settle.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="putCurrencyAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency amount that the option gives the right to
                sell.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="callCurrencyAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency amount that the option gives the right to
                buy.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxStrikePrice" type="FxStrikePrice">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                TBA
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional element used for FX forwards and certain
                types of FX OTC options. For deals consumated in the FX
                Forwards Market, this represents the current market
                rate for a particular currency pair. For barrier and
                digital/binary options, it can be useful to include the
                spot rate at the time the option was executed to make
                it easier to know whether the option needs to move "up"
                or "down" to be triggered.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="payoutCurrency" type="Currency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISO code of the currency in which a payout (if any)
                is to be made when a trigger is hit on a digital or
                barrier option.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="averageRateQuoteBasis" type="StrikeQuoteBasisEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The method by which the average rate that is being
                observed is quoted.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="precision" type="xsd:nonNegativeInteger" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the rounding precision in terms of a number
                of decimal places. Note how a percentage rate rounding
                of 5 decimal places is expressed as a rounding
                precision of 7 in the FpML document since the
                percentage is expressed as a decimal, e.g. 9.876543%
                (or 0.09876543) being rounded to the nearest 5 decimal
                places is 9.87654% (or 0.0987654).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="payoutFormula" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The description of the mathematical computation for how
                the payout is computed.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="primaryRateSource" type="InformationSource">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The primary source for where the rate observation will
                occur. Will typically be either a page or a reference
                bank published rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="secondaryRateSource" type="InformationSource" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An alternative, or secondary, source for where the rate
                observation will occur. Will typically be either a page
                or a reference bank published rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fixingTime" type="BusinessCenterTime">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The time at which the spot currency exchange rate will
                be observed. It is specified as a time in a specific
                business center, e.g. 11:00am London time.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="averageRateObservationSchedule" type="FxAverageRateObservationSchedule">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Parametric schedule of rate observations.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="averageRateObservationDate" type="FxAverageRateObservationDate" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  One of more specific rate observation dates.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="observedRates" type="ObservedRates" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Describes prior rate observations within average rate
                options. Periodically, an average rate option agreement
                will be struck whereby some rates have already been
                observed in the past but will become part of
                computation of the average rate of the option. This
                structure provides for these previously observed rates
                to be included in the description of the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxBarrier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used within the FX barrier option definition to
        define one or more barrier levels that determine whether the
        option will be knocked-in or knocked-out.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="fxBarrierType" type="FxBarrierTypeEnum" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            This specifies whether the option becomes effective
            ("knock-in") or is annulled ("knock-out") when the
            respective trigger event occurs.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <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:element name="triggerRate" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The market rate is observed relative to the trigger rate,
            and if it is found to be on the predefined side of (above
            or below) the trigger rate, a trigger event is deemed to
            have occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="informationSource" type="InformationSource" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The information source where a published or displayed
            market rate will be obtained, e.g. Telerate Page 3750.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The start of the period over which observations are made to
            determine whether a trigger has occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observationEndDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The end of the period over which observations are made to
            determine whether a trigger event has occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxBarrierOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes an option with a put/call component, but
        also one or more associated barrier rates. If the market rate
        moves to reach a barrier rate a trigger event occurs. The
        trigger event may for example be necessary to enable the
        option, or may annul the option contract. [Since the barriers
        reduce the probability of exercise, the premium for an option
        with barriers is likely to be cheaper than one without].
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxOptionLeg">
        <xsd:sequence>
          <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional element used for FX forwards and certain
                types of FX OTC options. For deals consumated in the FX
                Forwards Market, this represents the current market
                rate for a particular currency pair. For barrier and
                digital/binary options, it can be useful to include the
                spot rate at the time the option was executed to make
                it easier to know whether the option needs to move "up"
                or "down" to be triggered.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxBarrier" type="FxBarrier" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Information about a barrier rate in a Barrier Option -
                specifying the exact criteria for a trigger event to
                occur.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="triggerPayout" type="FxOptionPayout" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The amount of currency which becomes payable if and
                when a trigger event occurs.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxDigitalOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes an option without a put/call component
        (and so no associated exercise), but with one or more trigger
        rates) Examples are "one-touch", "no-touch", and
        "double-no-touch" options. For a specified period the market
        rate is observed relative to the trigger rates, and on a
        trigger event a fixed payout may become due to the buyer of the
        option, or alternatively the option contract may be annulled.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:group ref="BuyerSeller.model"/>
          <xsd:element name="expiryDateTime" type="ExpiryDateTime">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date and time in a location of the option expiry.
                In the case of american options this is the latest
                possible expiry date and time.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Premium amount or premium installment amount for an
                option.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="valueDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which both currencies traded will settle.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <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:element name="spotRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional element used for FX forwards and certain
                types of FX OTC options. For deals consumated in the FX
                Forwards Market, this represents the current market
                rate for a particular currency pair. For barrier and
                digital/binary options, it can be useful to include the
                spot rate at the time the option was executed to make
                it easier to know whether the option needs to move "up"
                or "down" to be triggered.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="fxEuropeanTrigger" type="FxEuropeanTrigger" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A European trigger occurs if the trigger criteria are
                  met, but these are valid (and an observation is made)
                  only at the maturity of the option.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="fxAmericanTrigger" type="FxAmericanTrigger" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An American trigger occurs if the trigger criteria
                  are met at any time from the initiation to the
                  maturity of the option.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="triggerPayout" type="FxOptionPayout">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The amount of currency which becomes payable if and
                when a trigger event occurs.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxEuropeanTrigger">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that defines a particular type of payout in an FX OTC
        exotic option. A European trigger occurs if the trigger
        criteria are met, but these are valid (and an observation is
        made) only at the maturity of the option.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="triggerCondition" type="TriggerConditionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The binary condition that applies to a European-style
            trigger, determining where the spot rate must be relative
            to the triggerRate for the option to be exercisable. There
            can only be two domain values for this element:
            "aboveTrigger" or "belowTrigger".
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <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:element name="triggerRate" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The market rate is observed relative to the trigger rate,
            and if it is found to be on the predefined side of (above
            or below) the trigger rate, a trigger event is deemed to
            have occurred.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="informationSource" type="InformationSource" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The information source where a published or displayed
            market rate will be obtained, e.g. Telerate Page 3750.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxLeg">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that represents a single exchange of one currency for
        another. This is used for representing FX spot, forward, and
        swap transactions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element name="exchangedCurrency1" type="Payment">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This is the first of the two currency flows that define
                a single leg of a standard foreign exchange
                transaction.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="exchangedCurrency2" type="Payment">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This is the second of the two currency flows that
                define a single leg of a standard foreign exchange
                transaction.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="valueDate" type="xsd:date">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The date on which both currencies traded will settle.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:sequence>
              <xsd:element name="currency1ValueDate" type="xsd:date">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The date on which the currency1 amount will be
                    settled. To be used in a split value date scenario.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="currency2ValueDate" type="xsd:date">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The date on which the currency2 amount will be
                    settled. To be used in a split value date scenario.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:choice>
          <xsd:element name="exchangeRate" type="ExchangeRate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The rate of exchange between the two currencies.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="nonDeliverableForward" type="FxCashSettlement" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Used to describe a particular type of FX forward
                transaction that is settled in a single currency.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="confirmationSenderPartyReference" type="Reference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the party that is sending the current
                document as a confirmation of the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxOptionLeg">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for describing a standard FX OTC option
        (European or American) which may be a complete trade in its own
        right or part of a trade strategy.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:group ref="BuyerSeller.model"/>
          <xsd:element name="expiryDateTime" type="ExpiryDateTime">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date and time in a location of the option expiry.
                In the case of american options this is the latest
                possible expiry date and time.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="exerciseStyle" type="ExerciseStyleEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The manner in which the option can be exercised.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Premium amount or premium installment amount for an
                option.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="valueDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which both currencies traded will settle.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="cashSettlementTerms" type="FxCashSettlement" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This optional element is only used if an option has
                been specified at execution time to be settled into a
                single cash payment. This would be used for a
                non-deliverable option.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="putCurrencyAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency amount that the option gives the right to
                sell.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="callCurrencyAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency amount that the option gives the right to
                buy.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxStrikePrice" type="FxStrikePrice">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                TBA
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="quotedAs" type="QuotedAs" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Describes how the option was quoted.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxOptionPayout">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that contains full details of a predefined fixed payout
        which may occur (or not) in a Barrier Option or Digital Option
        when a trigger event occurs (or not).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Money">
        <xsd:sequence>
          <xsd:element name="payoutStyle" type="PayoutEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The trigger event and payout may be asynchonous. A
                payout may become due on the trigger event, or the
                payout may (by agreeement at initiation) be deferred
                (for example) to the maturity date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="settlementInformation" type="SettlementInformation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The information required to settle a currency payment
                that results from a trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxOptionPremium">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that specifies the premium exchanged for a single option
        trade or option strategy.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PayerReceiver.model"/>
      <xsd:element name="premiumAmount" type="Money">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The specific currency and amount of the option premium.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="premiumSettlementDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The agreed-upon date when the option premium will be
            settled.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="settlementInformation" type="SettlementInformation" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The information required to settle a currency payment that
            results from a trade.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="premiumQuote" type="PremiumQuote" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            This is the option premium as quoted. It is expected to be
            consistent with the premiumAmount and is for information
            only.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxStrikePrice">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes the rate of exchange at which the option
        has been struck.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="rate" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The rate of exchange between the two currencies of the leg
            of a deal. Must be specified with a quote basis.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="strikeQuoteBasis" type="StrikeQuoteBasisEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The method by which the strike rate is quoted.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxSwap">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes an FX swap. This is similar to
        FpML_FXLeg, but contains multiple legs for a particular trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element ref="fxSingleLeg" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ObservedRates">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes prior rate observations within average
        rate options. Periodically, an average rate option agreement
        will be struck whereby some rates have already been observed in
        the past but will become part of computation of the average
        rate of the option. This structure provides for these
        previously observed rates to be included in the description of
        the trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="observationDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A specific date for which an observation against a
            particular rate will be made and will be used for
            subsequent computations.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observedRate" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The actual observed rate before any required rate treatment
            is applied, e.g. before converting a rate quoted on a
            discount basis to an equivalent yield. An observed rate of
            5% would be represented as 0.05.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PremiumQuote">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes the option premium as quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="premiumValue" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The value of the premium quote. In general this will be
            either a percentage or an explicit amount.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="premiumQuoteBasis" type="PremiumQuoteBasisEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The method by which the option premium was quoted.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="QuotedAs">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes how the option was quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="optionOnCurrency" type="Currency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Either the callCurrencyAmount or the putCurrencyAmount
            defined elsewhere in the document. The currency reference
            denotes the option currency as the option was quoted (as
            opposed to the face currency).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="faceOnCurrency" type="Currency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Either the callCurrencyAmount or the putCurrencyAmount
            defined elsewhere in the document.The currency reference
            denotes the face currency as the option was quoted (as
            opposed to the option currency).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="quotedTenor" type="Interval" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Code denoting the tenor of the option leg.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SideRate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for describing a particular rate against
        base currency. Exists within SideRates.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="currency" type="Currency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The currency in which an amount is denominated.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="sideRateBasis" type="SideRateBasisEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The method by which the exchange rate against base currency
            is quoted.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="rate" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The rate of exchange between the two currencies of the leg
            of a deal. Must be specified with a quote basis.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An optional element used for FX forwards and certain types
            of FX OTC options. For deals consumated in the FX Forwards
            Market, this represents the current market rate for a
            particular currency pair. For barrier and digital/binary
            options, it can be useful to include the spot rate at the
            time the option was executed to make it easier to know
            whether the option needs to move "up" or "down" to be
            triggered.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="forwardPoints" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An optional element used for deals consumated in the FX
            Forwards market. Forward points represent the interest rate
            differential between the two currencies traded and are
            quoted as a preminum or a discount. Forward points are
            added to, or subtracted from, the spot rate to create the
            rate of the forward trade.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SideRates">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for including rates against base currency
        for non-base currency FX contracts.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="baseCurrency" type="Currency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The currency that is used as the basis for the side rates
            when calculating a cross rate.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="currency1SideRate" type="SideRate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The exchange rate for the first currency of the trade
            against base currency.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="currency2SideRate" type="SideRate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The exchange rate for the second currency of the trade
            against base currency.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TermDeposit">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A class defining the content model for a term deposit product.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element name="initialPayerReference" type="Reference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. The party referenced is the
                payer of the initial principal of the deposit on the
                start date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="initialReceiverReference" type="Reference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. The party is the receiver of
                the initial principal of the deposit on the start date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="startDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The averaging period start date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="maturityDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The end date of the calculation period. This date
                should already be adjusted for any applicable business
                day convention.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dayCountFraction" type="DayCountFraction">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The day count fraction.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="principal" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The principal amount of the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fixedRate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The calculation period fixed rate. A per annum rate,
                expressed as a decimal. A fixed rate of 5% would be
                represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="interest" type="Money" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The total interest of at maturity of the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="payment" type="Payment" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A known payment between two parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="fxAverageRateOption" type="FxAverageRateOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing an FX Average Rate Option product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxBarrierOption" type="FxBarrierOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Barrier Option product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxDigitalOption" type="FxDigitalOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Digital Option product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxSimpleOption" type="FxOptionLeg" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Simple Option product
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxSingleLeg" type="FxLeg" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A single-legged FX transaction definition (e.g., spot or
        forward).
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxSwap" type="FxSwap" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Swap product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="termDeposit" type="TermDeposit" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A term deposit product definition.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
</xsd:schema>