Schema Name: fpml-fx-accruals-5-9.xsd
Target Namespace: http://www.fpml.org/FpML-5/confirmation
Collapse XSD Schema Code:

<!-- 
  == Copyright (c) 2002-2017 All rights reserved. 
  == Financial Products Markup Language is subject to the FpML public license. 
  == A copy of this license is available at http://www.fpml.org/license/license.html
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns="http://www.fpml.org/FpML-5/confirmation" xmlns:fpml-annotation="http://www.fpml.org/annotation" targetNamespace="http://www.fpml.org/FpML-5/confirmation" ecore:documentRoot="FpML" ecore:nsPrefix="conf" ecore:package="org.fpml.confirmation" version="$Revision: 11478 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-fx-targets-5-9.xsd" />
<!--
        ================
            complexTypes    
        ================
        -->
  <xsd:complexType name="FxAccrual">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Accrual calculation process.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="observable" type="FxRateObservable" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Contains the quoted currency pair, and the information source for fixing FX rate.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="accrualRegion" type="FxAccrualRegion" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the regions of the spot rate where fixings generate an accumulation of notional.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="fixingSchedule" type="FxFixingSchedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Describes a parametric schedule of fixing dates.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="FxAccrualAverageStrikeReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to an average rate structure in FxAccrualForward or FxAccrualOption products.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxAccrualStrike" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualBarrier">
    <xsd:complexContent>
      <xsd:extension base="FxComplexBarrierBase">
        <xsd:sequence>
          <xsd:element name="accrualRetention" type="FxAccrualKnockoutBarrierRetentionEnum" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Specifies the behavior with respect to settlement rights for the accrual period in which a global knockout event occurs (the "knockout period"). "Keep" means that the parties retain settlement rights at the end of the knckout period, fixed at the prevailing accrued notional, and settlement rights for all future accrual periods are extinguished. "Lose" means that settlement rights for the knockout period and all future accrual periods are extinguished, and the product is effectively extinguished. This element should be produced in case of a global knockout barrier (barrierType= "Knockout", scope="Global"), and omitted otherwise.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice minOccurs="0">
            <xsd:element name="observableReference" type="FxRateObservableReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">Reference to an 'FxRateObservable' structure.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:sequence>
              <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">Defines the two currencies for an FX trade and the quotation relationship between the two currencies.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="informationSource" type="InformationSource" minOccurs="0" 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:choice>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualDigitalOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">An FX Accrual Digital Option product The product defines a list of fixing (or observation) dates. There are m total fixings. At the expiry date of the product, the buyer of the option has the right to an FX settlement with n/m * Notional. Payout can be cash or physical.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Option">
        <xsd:sequence>
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional amount Schedule. The notional value of the product. This number divided by the total number of fixings in the fixing schedule is the amount that is accrued at each fixing if the accrual factor is one.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accrual" type="FxAccrual">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Describes accrual features within the product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="FxExpiryDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the expiry/observation date or schedule of the accrual product. The default dates' adjustments are as specified in the definitions.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:group ref="FxSettlementDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the settlement/payment date or schedule of the accrual product. The default dates' adjustments are as specified in the definitions.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="exerciseProcedure" type="ExerciseProcedure" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A set of parameters defining procedures associated with the exercise.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="trigger" type="FxAccrualTrigger">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines one or more conditions under which the option will payout if exercisable.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="barrier" type="FxAccrualBarrier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines a knockout barrier conditions where if a barrier event occurs, the accrual process is terminated for the duration of all remaining accrual periods. Settlement rights for the next settlement are either retained or extinguished.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="premium" 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:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualForward">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The product defines a schedule of expiry and delivery dates which specify settlement periods. The product further defines a schedule of fixing (or observation) dates and defines regions of spot where the product settlement amounts will accrue. There are n total fixings. One accumulates a fixed proportion of Notional (1/n) for every observation date that spot fixes within the pre-defined limits of the accrual regions. If spot breaks the limits, the Notional stops accumulating during the fixings outside the limits, but continues accruing once spot comes back to the accruing region. At expiry, one buys the accrued Notional at the pre-agreed hedge rate. Payout can be cash or physical. The variation of this product include: Accrual Forward (European and American), Double Accrual Forward (DAF), Boosted Accrual Forward, Fading Forward, Leveraged Accrual Forward, Accrual Forward with Collars, etc.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional amount Schedule. The notional value of the product per settlement period. The notional amount may differ for each settlement period. This number divided by the total number of fixings in the settlement period is the amount that is accrued at each fixing if the accrual factor is one.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accrual" type="FxAccrual">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Describes accrual features within the product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="FxExpiryDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the expiry/observation date or schedule of the accrual product.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:group ref="FxSettlementDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the settlement/payment date or schedule of the accrual product.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="spotRate" type="PositiveDecimal" 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 consummated 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="linearPayoffRegion" type="FxAccrualLinearPayoffRegion" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A region in which linear payoff applies i.e. the payoff bears a linear relationship to the fixing value (increases/decreases linearly with the fixing).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="averageRate" type="FxAverageRate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Average Rate Forward: means the average of the Reference Spot Rate on each Business Day from and including the Calculation Start Date up to and including the Calculation End Date rounded to the precision decimal places.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="barrier" type="FxAccrualBarrier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines a FX Accrual barrier conditions. Element barrier/scope specifies whether the barrier applies to the expiry period in which it is observed, or globally for whole product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="additionalPayment" type="SimplePayment" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">It supports the representation of premiums, fees, etc.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="cashSettlement" type="FxCashSettlementSimple" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Cash settlement currency.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="settlementPeriodSchedule" type="FxAccrualSettlementPeriodSchedule" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">It supports the representation of a matrix/tabular approach of the product by defining a set of settlement periods.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualLeverage">
    <xsd:sequence>
      <xsd:element name="condition" type="ConditionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Condition in which leverage applies.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="FxAccrualConditionLevel.model" />
      <xsd:choice>
        <xsd:element name="ratio" type="Schedule">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Leverage rate with optional steps. Format is 2 for 200%.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:sequence>
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional amount Schedule. The notional value of the product per settlement period. This number divided by the total number of fixings in the fixing schedule is the amount that is accrued at each fixing if the accrual factor is one.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="counterCurrencyAmount" type="FxCounterCurrencyAmount" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The opposite currency amount. The counterCurrencyAmount element is only optional if averageStrike component is present, in all other cases this element must be populated.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="FxAccrualLinearPayoffRegion">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A fixing region in which the payoff varies linearly with the fixing value.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxAccrualPayoffRegion">
        <xsd:sequence>
          <xsd:group ref="FxExchangedCurrency.model" />
          <xsd:choice>
            <xsd:sequence>
              <xsd:element name="strike" type="FxForwardStrikePrice">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">The rate of exchange between the two currencies.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="counterCurrencyAmount" type="NonNegativeAmountSchedule" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">The opposite currency amount. The counterCurrencyAmount element is only optional if averageStrike component is present or if the accrualRegion specifies the amount of counterCurrencyAmount to accrue, in all other cases this element must be populated.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:element name="averageStrike" type="FxAverageStrike">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">Average Strike Forward: means the average of the Reference Spot Rate on each Business Day from and including the Calculation Start Date up to and including the Calculation End Date rounded to the precision decimal places.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:group ref="FxAccrualRegionBound.model" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the boundaries of the accrual region.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="leverage" type="FxAccrualLeverage" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">These structures define a leverage multiplier to the payoff amounts at settlement points.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="payoffCap" type="FxPayoffCap" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The amount of gain on the client upside or firm upside is limited. If spot settles above the cap, or below the floor, the payout is adjusted to limit the gain. The adjustment may be made by varying the strike, or by maintaining the strike, but varying the payout notionals.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">An FX Accrual Option product The product defines a list of fixing (or observation) dates. There are m total fixings. At the expiry date of the product, the buyer of the option has the right to an FX settlement with n/m * Notional. Payout can be cash or physical.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Option">
        <xsd:sequence>
          <xsd:group ref="PutCallCurrency.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A model defining the currencies exchanged by the parties to an option.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional amount Schedule. The notional value of the product. This number divided by the total number of fixings in the fixing schedule is the amount that is accrued at each fixing if the accrual factor is one.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accrual" type="FxAccrual">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Describes accrual features within the product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="FxExpiryDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the expiry/observation date or schedule of the accrual product.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:group ref="FxSettlementDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the settlement/payment date or schedule of the accrual product.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="exerciseProcedure" type="ExerciseProcedure" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A set of parameters defining procedures associated with the exercise.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="spotRate" type="PositiveDecimal" 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 consummated 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:sequence>
              <xsd:element name="strike" type="FxOptionStrikePrice">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">Defines the option strike price.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="counterCurrencyAmount" type="NonNegativeAmountSchedule" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">The opposite currency amount the amount which is not always deterministic.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:element name="averageStrike" type="FxAverageStrike">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">Average Strike: means the average of the Reference Spot Rate on each Business Day from and including the Calculation Start Date up to and including the Calculation End Date rounded to the precision decimal places.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="averageRate" type="FxAverageRate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Average Rate: means the average of the Reference Spot Rate on each Business Day from and including the Calculation Start Date up to and including the Calculation End Date rounded to the precision decimal places.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="barrier" type="FxAccrualBarrier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines a knockout barrier conditions where if a barrier event occurs, the accrual process is terminated for the duration of all remaining accrual periods. Settlement rights for the next settlement are either retained or extinguished.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="premium" 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:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualPayoffRegion" abstract="true">
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="FxAccrualPayoffRegionReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a FX Accrual Payoff Region.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxAccrualPayoffRegion" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualRegion">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines a region of spot rate where the notional for the settlement period accrues by the accrued amount per fixing each time the spot rate fixes within the region.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="observableReference" type="FxRateObservableReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies the FX rate used as the basis for the condition (the accrual region).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="FxAccrualRegionBound.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the boundaries of the accrual region. If an upper or lower barrier is not defined then it is understood that if the barrier is missing in the direction facing the strike then the region is bounded by the strike but excludes the strike; if the barrier is missing in the direction facing away from the strike then the accrual region is unbounded in that direction. If the region is bounded by the strike then a barrier should be included to define whether the region includes or excludes the strike. If accrual regions overlap, it is understood that if one is nested within another wider region, the nested region takes precedence over the spot range that it applies. If there is an overlap but no nesting then this is invalid and barriers must be used to unequivocally define the regions.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
      <xsd:choice minOccurs="0">
        <xsd:sequence>
          <xsd:element name="startDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the end date of the observation period for the barrier. If omitted, the last barrier observation point is understood to be the last fixing date in the fixing schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="endDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the end date of the observation period for the barrier. If omitted, the last barrier observation point is understood to be the last fixing date in the fixing schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="endDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Defines the end date of the observation period for the barrier. If ommitted, the last barrier observation point is understood to be the last fixing date in the fixing schedule.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:choice minOccurs="0">
        <xsd:element name="accrualFactor" type="Schedule">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">A multiplier applied to the notional amount per fixing of each currency to specify the amount accrued each time the spot rate fixes within the accrual region. If the accrualFactor is omitted, the factor is one.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:sequence>
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The elements describe which notional amounts are accrued. If 'notionalAmount' is supplied, we accrue notional and then convert through strike to find the settled 'counterCurrencyNotional'. If both 'notionalAmount' and 'countercurrencyAmount' are supplied, then each of those two values accrue separately. In the case the product has more than one accrual region, this can result in a product with a variable effective strike. .</xsd:documentation>
          </xsd:annotation>
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional amount Schedule. The notional value of the product per settlement period. This number divided by the total number of fixings in the fixing schedule is the amount that is accrued at each fixing if the accrual factor is one.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="counterCurrencyAmount" type="FxCounterCurrencyAmount" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The opposite currency amount. The 'counterCurrencyAmount' element is supplied if the accrual process operates on specific amounts of both notional and counter currency within this accrual region.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualRegionLowerBound">
    <xsd:sequence>
      <xsd:element name="condition" type="FxRegionLowerBoundDirectionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The Lower Bound Direction. It only contains the AtOrAbove and Above values.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="FxAccrualConditionLevel.model" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualRegionUpperBound">
    <xsd:sequence>
      <xsd:element name="condition" type="FxRegionUpperBoundDirectionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The Upper Bound Direction. It only contains the AtOrBelow and Below values.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="FxAccrualConditionLevel.model" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualSettlementPeriod">
    <xsd:complexContent>
      <xsd:extension base="SettlementPeriod">
        <xsd:sequence>
          <xsd:element name="payoff" type="FxAccrualSettlementPeriodPayoff" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Payoff Region within the settlement period to link strike with the relevant payoff components.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accrualFactor" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Accrual factor for the settlement period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="barrier" type="FxSettlementPeriodBarrier" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The trigger rate of the Global Knockout Barrier for the settlement period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accrualFixingDates" type="SettlementPeriodFixingDates">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Actual fixing dates within the fixing period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualSettlementPeriodPayoff">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Payoff region</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="payoffRegionReference" type="FxAccrualPayoffRegionReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Optional reference to the Payoff Region in the parametric representation of the product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="strike" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Strike for the settlement period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="counterCurrencyAmount" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Counter Currency Amount for the settlement period. Multiple Counter Currency Amount elements may appear if there are more than one strike in the settlement period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="averageStrikeFixingDates" type="SettlementPeriodFixingDates">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Average Strike Fixing Dates.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="averageRateFixingDates" type="SettlementPeriodFixingDates" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Average Rate Fixing Dates.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="lowerBound" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Lower bound to the region.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="upperBound" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Upper bound to the region.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="leverage" type="SettlementPeriodLeverage" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Leverage within the period expressed as either an amount or ratio.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="payoffCap" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The amount of gain on the client upside or firm upside is limited. If spot settles above the cap, or below the floor, the payout is adjusted to limit the gain. The adjustment may be made by varying the strike, or by maintaining the strike, but varying the payout notionals.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualSettlementPeriodSchedule">
    <xsd:sequence>
      <xsd:element name="settlementPeriod" type="FxAccrualSettlementPeriod" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines each settlement period in the tabular/matrix representation of the product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualStrike">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A shared type between accrual forwards and options where the FX accrual strike reference can point to.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Schedule" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualStrikeReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a strike structure in FxAccrualForward or FxAccrualOption products.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxAccrualStrike" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualTrigger">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Describes a european trigger applied to an FX digtal option.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxTriggerBase">
        <xsd:sequence>
          <xsd:element name="informationSource" type="InformationSource" minOccurs="0" 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:attribute name="id" type="xsd:ID">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">An anchor to be referenced from the accrual region bound.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAccrualTriggerReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a trigger structure in FxAccrualDigitalOption product.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxAccrualTrigger" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAdjustedDateAndDateAdjustments">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines the expiry/observation schedule of the target.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="dateAdjustments" type="BusinessDayAdjustments" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Date adjustments applied to the adjusted dates including the business day convention and the business centers. The date adjustments are as specified in the definitions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="adjustedDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">List of schedule dates. These dates have been subject to adjustments based on the dateAdjustments structure.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxAverageRate">
    <xsd:complexContent>
      <xsd:extension base="FxAveragingProcess" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAverageStrike">
    <xsd:complexContent>
      <xsd:extension base="FxAveragingProcess">
        <xsd:sequence>
          <xsd:element name="strikeAdjustment" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A layer an Adjustment on the top of the average of the fixings across the schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxAveragingProcess">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Accrual calculation process.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxRateObservable">
        <xsd:sequence>
          <xsd:element name="fixingSchedule" type="FxWeightedFixingSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Describes a parametric schedule of fixing dates.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="averagingMethod" type="FxAveragingMethodEnum" />
          <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:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxCrossRateObservable">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type that is used for including the currency exchange rates information used to cross between the traded currencies for non-base currency FX contracts.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair" />
      <xsd:element name="informationSource" type="FxInformationSource" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxExpiryDate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines the expiry date of the accrual. The date is adjusted, date adjustments may be provided, and also the expiry time.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxAdjustedDateAndDateAdjustments">
        <xsd:sequence>
          <xsd:element name="expiryTime" type="BusinessCenterTime" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Time of expiration of each expiry date.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxFixingObservation">
    <xsd:sequence>
      <xsd:element name="date" 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="weight" type="xsd:decimal" minOccurs="0">
        <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. If omitted, weight is defaulted to 1.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxFixingSchedule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Describes a schedule of fixing dates as a parametric description, an explicit list of dates or both.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="dateAdjustments" type="BusinessDayAdjustments" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Date adjustments applied to the adjusted dates including the business day convention and the business centers.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fixingDate" type="xsd:date" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">List of schedule dates. These dates have been subject to adjustments based on the dateAdjustments structure.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:group ref="ParametricSchedule.model">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">A parametric description of a schedule of fixing dates.</xsd:documentation>
          </xsd:annotation>
        </xsd:group>
        <xsd:choice minOccurs="0">
          <xsd:element name="numberOfFixings" type="xsd:nonNegativeInteger">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The number of fixing points in the fixing schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fixingDate" type="xsd:date" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">An explicit list of dates in the schedule. Where a conflict every existed between parametric and explicit dates, the explicit list of dates would takes precedence.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:sequence>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="FxForwardStrikePrice">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type that describes the rate of exchange between the two currencies of the leg of a deal.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxAccrualStrike">
        <xsd:sequence>
          <xsd:element name="quoteBasis" type="QuoteBasisEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The Quoted Currency Pair that is used across the product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxOptionStrikePrice">
    <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:complexContent>
      <xsd:extension base="FxAccrualStrike">
        <xsd:sequence>
          <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:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxRangeAccrual">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">An FX Range Accrual product. A strip of Digital Options product The product defines a list of fixing (or observation) dates. There are m total fixings. On the relevant Settlement Date, the Option Seller shall pay to the Option Buyer an amount, in the Settlement Currency, calculated according to the following formula: Accrual Currency and Notional Amount x (the total number of Accrual Days / Total Number of Calendar Days in the Accrual Period). Payout can be cash.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:group ref="PayerReceiver.model" />
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional amount Schedule. The notional value of the product. This number divided by the total number of fixings in the fixing schedule is the amount that is accrued at each fixing if the accrual factor is one.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accrual" type="FxAccrual">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Describes accrual features within the product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="FxExpiryDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the expiry/observation date or schedule of the accrual product.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:group ref="FxSettlementDateOrSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the settlement/payment date or schedule of the accrual product.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="barrier" type="FxAccrualBarrier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines a knockout barrier conditions where if a barrier event occurs, the accrual process is terminated for the duration of all remaining accrual periods. Settlement rights for the next settlement are either retained or extinguished.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="premium" 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:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxRateObservable">
    <xsd:sequence>
      <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">FX rate to be observed. The Quoted Currency Pair that is used across the product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:element name="informationSource" type="FxInformationSource">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Information source for fixing the exchange rate. It is the same for all fixing periods.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="crossRate" type="FxCrossRateObservable" minOccurs="2" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Contains the currency exchange rates information used to cross between the traded currencies for non-base currency FX contracts.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="FxRateObservableReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to an "FxRateObservable" structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxRateObservable" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxWeightedFixingSchedule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Describes a schedule of fixing dates as a parametric description, an explicit list of dates or both.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="dateAdjustments" type="BusinessDayAdjustments" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Date adjustments applied to the adjusted dates including the business day convention and the business centers.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fixing" type="FxFixingObservation" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">List of schedule dates. These dates have been subject to adjustments based on the dateAdjustments structure.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:group ref="ParametricSchedule.model">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">A parametric description of a schedule of fixing dates.</xsd:documentation>
          </xsd:annotation>
        </xsd:group>
        <xsd:choice minOccurs="0">
          <xsd:element name="numberOfFixings" type="xsd:nonNegativeInteger">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The number of fixing points in the fixing schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fixing" type="FxFixingObservation" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">An explicit list of dates in the schedule. Where a conflict every existed between parametric and explicit dates, the explicit list of dates would takes precedence.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:sequence>
    </xsd:choice>
  </xsd:complexType>
<!--
        ================
            elements    
        ================
        -->
  <xsd:element name="fxAccrualDigitalOption" type="FxAccrualDigitalOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structured option product which consists of a single digital option or a strip of digital options. At each settlement the settled amounts are a fraction of the notional amount for that settlement period calculated as the number of fixings which fall within accrual regions divided by the total number of fixings in the settlement period.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxAccrualForward" type="FxAccrualForward" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structured forward product consisting of a single forward or a strip of forwards. For each forward, a fixed proportion of Notional is accumulated for each occasion that spot fixes within pre-defined limits (the 'accrual region') - the proportion determined by the number of fixings, which may occur every business day or with some other defined frequency. The Notional does not accumulate during any period where fixings fall outside the accrual region, but resumes accruing when spot returns within the limits. At expiry, the accrued Notional is bought at the pre-agreed hedge rate (the 'strike' rate). The trade allows for a hedge rate that is better than the forward rate, however the notional amount hedged is uncertain, and can be zero in the worst case.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxAccrualOption" type="FxAccrualOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A financial contract between two parties (the buyer and the seller) that provides the buyer the right to buy a currency (or receive a payment) at expiry. The distinctive characteristic of this contract is that the Notional to be transacted at expiry is uncertain and depends on the amount of time that the underlying currency trades within a pre-set level, or levels (the 'accrual barrier', or 'barriers'). The total Notional is only known at the end of the accrual period, and this extra uncertainty can make an accrual option substantially cheaper than the comparable vanilla one.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxRangeAccrual" type="FxRangeAccrual" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structured product which consists of a single cash payment or a strip of cash payments. At each settlement the settled amounts are a fraction of the notional amount for that settlement period calculated as the number of fixings which fall within accrual regions divided by the total number of fixings in the settlement period.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
<!--
        ================
            groups    
        ================
        -->
  <xsd:group name="FxAccrualConditionLevel.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Conditions can be expressed in different ways: as a specific level, or a reference to a strike, or a reference to an average strike in FxAccrualForward and FxAccrualOption, or a reference to a trigger in FxDigitalOption.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="level" type="FxLevel">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Level expressed as a level.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="quoteBasis" type="QuoteBasisEnum" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The Quoted Currency Pair that is used accross the product.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:element name="strikeReference" type="FxAccrualStrikeReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to a strike defined within the FxAccrualForward and FxAccrualOption products.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="averageStrikeReference" type="FxAccrualAverageStrikeReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to an average rate defined within the FxAccrualForward and FxAccrualOption products.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="triggerReference" type="FxAccrualTriggerReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to a trigger defined within the FxAccrualDigitalOption product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="FxAccrualRegionBound.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines the boundaries of the accrual region. If an upper or lower barrier is not defined then it is understood that if the barrier is missing in the direction facing the strike then the region is bounded by the strike but excludes the strike; if the barrier is missing in the direction facing away from the strike then the accrual region is unbounded in that direction. If the region is bounded by the strike then a barrier should be included to define whether the region includes or excludes the strike. If accrual regions overlap, it is understood that if one is nested within another wider region, the nested region takes precedence over the spot range that it applies. If there is an overlap but no nesting then this is invalid and barriers must be used to unequivocally define the regions.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="upperBound" type="FxAccrualRegionUpperBound">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the upper bound of a payoff region.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:sequence>
        <xsd:element name="lowerBound" type="FxAccrualRegionLowerBound">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Defines the lower bound of a payoff region.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="upperBound" type="FxAccrualRegionUpperBound" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Defines the upper bound of a payoff region.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="FxExpiryDateOrSchedule.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines the expiry/observation date or schedule of the accrual product.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="expiryDate" type="FxExpiryDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the expiry of a single period accrual forward FX transaction.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="expirySchedule" type="FxExpirySchedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The parameters for defining a schedule of expiry periods for an accrual forward FX transaction.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="FxSettlementDateOrSchedule.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines the settlement/payment date or schedule of the accrual product.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="settlementDate" type="FxAdjustedDateAndDateAdjustments">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date on which settlement takes place for a settlement period.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="settlementSchedule" type="FxSettlementSchedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The parameters for defining a schedule of settlement periods for a accrual forward FX transaction.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
</xsd:schema>

Collapse ComplexTypes:
Collapse Elements:
Collapse Groups:
Collapse Comments:
blog comments powered by Disqus