http://www.fpml.org/spec/2007/wd-fpml-4-3-2007-05-14
http://www.fpml.org/spec/2007/wd-fpml-4-3-2007-05-14
http://www.fpml.org/spec/2007/wd-fpml-4-3-2007-02-05/
http://www.fpml.org/spec/errata/wd-fpml-4-3-2007-05-14-errata.html
Document built: Mon 05/21/2007 14:40:29.17
Copyright (c) 1999 - 2006 by INTERNATIONAL SWAPS AND DERIVATIVES ASSOCIATION, INC.
Financial Products Markup Language is subject to the FpML public license
A copy of this license is available at http://www.fpml.org/documents/license.html
The FpML specifications provided are without warranty of any kind, either expressed or implied, including, without limitation, warranties that FpML, or the FpML specifications are free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the specifications is with you. Should any of the FpML specifications prove defective in any respect, you assume the cost of any necessary servicing or repair. Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall ISDA, any of its members, or any distributor of documents or software containing any of the FpML specifications, or any supplier of any of such parties, be liable to you or any other person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages.
This enumeration defines the possible delivery methods for securities.
Value | Source | Description |
DeliveryVersusPayment |
Indicates that a securities delivery must be made against payment in a single transaction |
|
FreeOfPayment |
Indicates that a securities delivery can be made without a simultaneous cash payment in exchange. |
<xsd:simpleType name="DeliveryMethodEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> This enumeration defines the possible delivery methods for securities. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:token"> <xsd:enumeration value="DeliveryVersusPayment"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a securities delivery must be made against payment in a single transaction </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="FreeOfPayment"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a securities delivery can be made without a simultaneous cash payment in exchange. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType>
This indicator defines if a margin (also called haircut in repo and sec lending litterature) applies to cash or to the financial instrument being exchanged.
Value | Source | Description |
Cash |
When the margin type is Cash, the margin factor is applied to the cash value of the transaction. |
|
Instrument |
When the margin type is Instrument, the margin factor is applied to the instrument value for the transaction. |
<xsd:simpleType name="MarginTypeEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> This indicator defines if a margin (also called haircut in repo and sec lending litterature) applies to cash or to the financial instrument being exchanged. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:token"> <xsd:enumeration value="Cash"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the margin type is Cash, the margin factor is applied to the cash value of the transaction. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="Instrument"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the margin type is Instrument, the margin factor is applied to the instrument value for the transaction. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType>
A duration code for a Repo (or Securities Lending) transaction. There are many business and market rules that are derived from the duration of the transaction.
Value | Source | Description |
Overnight |
Indicates that a contract is classified as overnight, meaning that there is one business day difference between the start and end date of the contract. Business rule: When the repo is overnight, the number of business days between the spot and forward value dates must be one. Forward leg must be specified. |
|
Term |
Indicates that a contract is a regular term contract, with a start date and an end date. Business rule: When the repo is 'Term', both spot and forward legs must be specified. |
|
Open |
Indicates that a contract is open ended; this means that the end date is unspecified, and will be agreed by the two parties at a later date. Business rule: When the repo is Open, the forward transaction leg must not be present. |
<xsd:simpleType name="RepoDurationEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> A duration code for a Repo (or Securities Lending) transaction. There are many business and market rules that are derived from the duration of the transaction. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:token"> <xsd:enumeration value="Overnight"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a contract is classified as overnight, meaning that there is one business day difference between the start and end date of the contract. Business rule: When the repo is overnight, the number of business days between the spot and forward value dates must be one. Forward leg must be specified. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="Term"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a contract is a regular term contract, with a start date and an end date. Business rule: When the repo is 'Term', both spot and forward legs must be specified. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="Open"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a contract is open ended; this means that the end date is unspecified, and will be agreed by the two parties at a later date. Business rule: When the repo is Open, the forward transaction leg must not be present. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType>
An adjustable offset can be used to specify a number of days, business or calendar, for example in a notice period.
Inherited element(s): (This definition inherits the content defined by the type Offset)
businessCentersReference (exactly one occurrence; of the type BusinessCentersReference)
Or
businessCenters (exactly one occurrence; of the type BusinessCenters)
<xsd:complexType name="AdjustableOffset"> <xsd:annotation> <xsd:documentation xml:lang="en"> An adjustable offset can be used to specify a number of days, business or calendar, for example in a notice period. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Offset"> <xsd:sequence> <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Abstract base class for all transfer of cash or securities
suppress (zero or one occurrence; of the type xsd:boolean)
Attribute: id (xsd:ID)
<xsd:complexType name="AtomicSettlementTransfer" abstract="true"> <xsd:annotation> <xsd:documentation xml:lang="en"> Abstract base class for all transfer of cash or securities </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="suppress" type="xsd:boolean" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicate if this transfer should be suppressed. Absence of this flag means that the transfer should not be suppressed. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID"/> </xsd:complexType>
An attribution must specify its type, and an amount. Any of the three amount fields below can be used (and they can all be used at the same time), as long as they are used consistently. You can express an attribution in a maximum of three different currencies (settlement, base, underlying), which are usually the same as the settlement currency on the trade, the base currency used for accounting purposes, and the underlying currency which refers to the currency of an underlying instrument used in a transaction. Note however that these are just guidelines; you can actually specify attributions in any currency that you like, as long as you are consistent. Within an Attributions structure, all attribution/settlementAmounts are expressed in the same currency, defined by the settlementCurrency field (see enclosing Attributions structure). Same holds true for base and underlying amounts.
type (exactly one occurrence; of the type AttributionType)
settlementAmount (zero or one occurrence; of the type xsd:decimal)
baseAmount (zero or one occurrence; of the type xsd:decimal)
underlyingAmount (zero or one occurrence; of the type xsd:decimal)
<xsd:complexType name="Attribution"> <xsd:annotation> <xsd:documentation xml:lang="en"> An attribution must specify its type, and an amount. Any of the three amount fields below can be used (and they can all be used at the same time), as long as they are used consistently. You can express an attribution in a maximum of three different currencies (settlement, base, underlying), which are usually the same as the settlement currency on the trade, the base currency used for accounting purposes, and the underlying currency which refers to the currency of an underlying instrument used in a transaction. Note however that these are just guidelines; you can actually specify attributions in any currency that you like, as long as you are consistent. Within an Attributions structure, all attribution/settlementAmounts are expressed in the same currency, defined by the settlementCurrency field (see enclosing Attributions structure). Same holds true for base and underlying amounts. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="type" type="AttributionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> The attribution type. The cash settlement amount specified in the enclosing transfer will be broken down into several subcomponents (like a PandL explain), and the type of the breakdown is defined here. Typical values are in a scheme. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementAmount" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> An amount expressed in the settlement currency that was indicated in the enclosing Attributions structure. This is done to avoid repeating the currency for every amount when we know that attributions are expressed in a consistent way, with the same currencies. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="baseAmount" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> An amount expressed in the base currency defined in the enclosing Attributions structure (see baseCurrency). If this optional field is present, baseCurrency must be defined in the enclosing structure. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="underlyingAmount" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> An amount expressed in the currency of an underlyer ( see underlyingCurrency). If this field is present then the underlyingCurrency field in the enclosing structure must be defined. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
A set of attributions, which are a way to break down a cash amount into several components, like the repo interest portion in the final cahflow of the repo, the clean price attribution, etc. An example could be, for a repo worth 1M on a security priced at 100 at maturity with a total interest of 10,000, 1M is attributed to the security 'dirty price', 95,400,000.00 is attributed to the security clean price, ( I am making it up here ); 10,000.00 is attributed to the repo interest, and 200 is attributed to a stamp tax. All attributions are monetary amounts.
settlementCurrency (exactly one occurrence; of the type Currency)
baseCurrency (exactly one occurrence; of the type Currency)
underlyingCurrency (zero or one occurrence; of the type Currency)
attribution (one or more occurrences; of the type Attribution)
<xsd:complexType name="Attributions"> <xsd:annotation> <xsd:documentation xml:lang="en"> A set of attributions, which are a way to break down a cash amount into several components, like the repo interest portion in the final cahflow of the repo, the clean price attribution, etc. An example could be, for a repo worth 1M on a security priced at 100 at maturity with a total interest of 10,000, 1M is attributed to the security 'dirty price', 95,400,000.00 is attributed to the security clean price, ( I am making it up here ); 10,000.00 is attributed to the repo interest, and 200 is attributed to a stamp tax. All attributions are monetary amounts. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="settlementCurrency" type="Currency"> <xsd:annotation> <xsd:documentation xml:lang="en"> The currency that is used for all the attributions expressed with settlementAmount. The reason for this is to avoid repeating the currency (for example using FpML:Money) for every attribution amount in the structure. We therefore assume that attributions are expressed in a maximum of three currencies, which we specify here. The settlementCurrency is assumed to be the settlement currency of the trade in general cases. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="baseCurrency" type="Currency"> <xsd:annotation> <xsd:documentation xml:lang="en"> The currency that is used for all the attributions expressed with baseAmount. The baseCurrency is usually USD within the firm, but it is in fact driven by the accounting engine expectations. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="underlyingCurrency" type="Currency" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The currency that is used for all the attributions expressed with underlyingAmount. Underlying currency is the currency of issuance for the underlying instrument. So if you need to express attributions on a Repo settling in EUR but with GBP instruments, you would specify underlyingCurrency to be GBP. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="attribution" type="Attribution" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> The attributions go here. There is no limit on the number of attributions. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
An attribution type. Values are defined in a coding scheme. Typical values are RepoInterest, StampTax, WithholdingTax.
Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)
Attribute: attributionTypeScheme (xsd:anyURI)
<xsd:complexType name="AttributionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> An attribution type. Values are defined in a coding scheme. Typical values are RepoInterest, StampTax, WithholdingTax. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="attributionTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/attribution-type-1-0"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
A cash repricing event. This type of event is an adjustment of the price of the underlying collateral done to reflect current market conditions. The par amount is preserved constant, which means that the collateral quantity is unchanged. It is the settlement amount that changes after a cash repricing, so a cash repricing will trigger a cash movement.
Inherited element(s): (This definition inherits the content defined by the type MidLifeEvent)
collateral (zero or one occurrence; of the type CollateralValuation)
combinedInterestPayout (exactly one occurrence; of the type xsd:boolean)
transfer (zero or one occurrence; of the type Transfer)
<xsd:complexType name="CashRepricingEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A cash repricing event. This type of event is an adjustment of the price of the underlying collateral done to reflect current market conditions. The par amount is preserved constant, which means that the collateral quantity is unchanged. It is the settlement amount that changes after a cash repricing, so a cash repricing will trigger a cash movement. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="collateral" type="CollateralValuation" minOccurs="0"/> <xsd:element name="combinedInterestPayout" type="xsd:boolean"> <xsd:annotation> <xsd:documentation xml:lang="en"> This value should be set to true if we need to pay the accrued interest at the same time. If false, there is no payment attributed to the repo accrued interest, only cash movement linked to collateral re-valuation. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" minOccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
By definition, to specify a cash transfer, we need to say how much we want to transfer, who is the payer ( correspondent ) and who is the receiver ( beneficiary ). Those terms are used in the settlement instruction and allow us to define the direction of the movement.
Inherited element(s): (This definition inherits the content defined by the type AtomicSettlementTransfer)
transferAmount (exactly one occurrence; of the type Money)
payerPartyReference (exactly one occurrence; of the type PartyOrAccountReference)
receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)
attributions (zero or one occurrence; of the type Attributions)
<xsd:complexType name="CashTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> By definition, to specify a cash transfer, we need to say how much we want to transfer, who is the payer ( correspondent ) and who is the receiver ( beneficiary ). Those terms are used in the settlement instruction and allow us to define the direction of the movement. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="AtomicSettlementTransfer"> <xsd:sequence> <xsd:element name="transferAmount" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> The money to transfer. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="PayerReceiver.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> The parties paying and receiving the money </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="attributions" type="Attributions" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> For accounting, reporting or regulatory reasons, the transfer may have to be explained in a series of individual amounts. It may be possible for example to break down a transfer amount into constituents (gross, tax, net) or into individual amounts (interest, penalty) that would be netted at the transfer level. The attributions structure allows participants to explain their transfer amounts for better traceability. This is strictly optional. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
A collateral substitution is an event where two parties, having previously entered into a repurchase agreement, or securities lending, agree that collateral used for the transaction be substituted with equivalent collateral. The new collateral must be deemed acceptable, in grade and quality and have an equivalent valuation compared substituted collateral at the time of the substitution.
Inherited element(s): (This definition inherits the content defined by the type MidLifeEvent)
previousCollateral (exactly one occurrence; of the type CollateralValuation)
newCollateral (exactly one occurrence; of the type CollateralValuation)
settlementTransfer (zero or one occurrence; of the type SettlementTransfer)
<xsd:complexType name="CollateralSubstitutionEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A collateral substitution is an event where two parties, having previously entered into a repurchase agreement, or securities lending, agree that collateral used for the transaction be substituted with equivalent collateral. The new collateral must be deemed acceptable, in grade and quality and have an equivalent valuation compared substituted collateral at the time of the substitution. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="previousCollateral" type="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The collateral previously pledged in the transaction, properly valued as of the date of substitution. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="newCollateral" type="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The new collateral to use in the transaction, valued as of the date of substitution. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementTransfer" type="SettlementTransfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The settlement transfer structure may be used by participants that want to explicitly restate who will deliver what, when and how. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
This type is used in Repo trades, to specify the valuation of a specific piece of collateral in the transaction. Note that the structure must be used within a structure that has a date attached to it, because the valuations included (such as prices, accruals and inflation factors) are relative to a date. We do not want to add an href to a date because that would be too much complexity for nothing.
assetReference (exactly one occurrence; of the type AssetReference)
<xsd:complexType name="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> This type is used in Repo trades, to specify the valuation of a specific piece of collateral in the transaction. Note that the structure must be used within a structure that has a date attached to it, because the valuations included (such as prices, accruals and inflation factors) are relative to a date. We do not want to add an href to a date because that would be too much complexity for nothing. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice> <xsd:group ref="BondCollateral.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the instrument being used in a transaction is a bond, the group above should be used to properly value the instrument, in terms of price, accruals and notional. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:group ref="UnitContract.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the instrument being used in a transaction is an equity, or any contract traded in units, this group should be used to define the quantity, price and valuation of the instrument. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:choice> <xsd:element name="assetReference" type="AssetReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> A reference to explicitly identify which asset is being valued. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
This structure is used for Buy-Sell Back trades to describe when a coupon is paid and what reinvestment rate will be applied. the amount is in the instrument currency. To be able to represent a buy/sell back with more than one collateral we use an href link to the underlying asset. This enables us to represent multiple coupons during the life of the trade, with different reinvestment rates, and possibly different instruments.
Inherited element(s): (This definition inherits the content defined by the type MidLifeEvent)
couponAmount (exactly one occurrence; of the type xsd:decimal)
reinvestmentRate (exactly one occurrence; of the type xsd:decimal)
assetReference (exactly one occurrence; of the type AssetReference)
transfer (zero or one occurrence; of the type Transfer)
<xsd:complexType name="CouponEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> This structure is used for Buy-Sell Back trades to describe when a coupon is paid and what reinvestment rate will be applied. the amount is in the instrument currency. To be able to represent a buy/sell back with more than one collateral we use an href link to the underlying asset. This enables us to represent multiple coupons during the life of the trade, with different reinvestment rates, and possibly different instruments. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="couponAmount" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The cash value of the coupon paid (not the coupon rate). It should be equal to the coupon rate divided by frequency (2 for semi annual) times the notional of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="reinvestmentRate" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The reinvestment rate we will use on the coupon. Very often it is equal to the repo rate on the deal, but it does not have to. For very long term repos, the reinvestment rate will be derived from a curve. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="assetReference" type="AssetReference"/> <xsd:element name="transfer" type="Transfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The transfer structure can be used to explicitly state who will pay the coupon. In buy-sell-back trades, whoever holds the bond will receive the coupon (from the bond issuer) and keep it. If the bond holder passes the coupon on to the counterparty we expect to see a transfer from bond holder to counterparty here. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Reference to a Trade Event.
Inherited element(s): (This definition inherits the content defined by the type Reference)
<xsd:complexType name="EventReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to a Trade Event. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType>
A transaction leg for a repo is equivalent to a single cash transaction. It is augmented here to carry some values that are of interest for the repo. Also note that the BuyerSeller model in this transaction must be the exact opposite of the one found in the spot leg.
Inherited element(s): (This definition inherits the content defined by the type RepoTransactionLeg)
repoInterest (zero or one occurrence; of the type xsd:decimal)
<xsd:complexType name="ForwardRepoTransactionLeg"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transaction leg for a repo is equivalent to a single cash transaction. It is augmented here to carry some values that are of interest for the repo. Also note that the BuyerSeller model in this transaction must be the exact opposite of the one found in the spot leg. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="RepoTransactionLeg"> <xsd:sequence> <xsd:element name="repoInterest" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The repo interest is basically the difference between the settlement amounts at spot and forward date. It is a fully figured amount, but it does not have to be specified in the message. It is not a 'Money' amount as it is implicitly expressed in the settlement currency. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Inherited element(s): (This definition inherits the content defined by the type MidLifeEvent)
payment (exactly one occurrence; of the type Money)
transfer (zero or one occurrence; of the type Transfer)
<xsd:complexType name="InterestPayoutEvent"> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="payment" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> The amount to be paid. Note that we do not specify who is paying the amount. Implicitly, the party that pays the repo Interest at maturity is the only party that can do an interest payout. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> When necessary, it is possible to make the interest payout fully explicit, with parties and settlement instructions. Note that the transfer date *may* differ from the eventDate specified by the event; for example the date the payment is made can be 1 or 2 days after the interest has been calculated. Note that for an interest payout the transfer can only contain a cashTransfer as there are no security movements for an interest payout. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Defines the margin, also called haircut in repo and securities lending terminology, that will be applied to a transaction. It is essentially a premium, expressed in percentage, to compensate collateral quality (or lack thereof) and liquidity.
marginType (exactly one occurrence; of the type MarginTypeEnum)
marginFactor (exactly one occurrence; of the type xsd:decimal)
<xsd:complexType name="Margin"> <xsd:annotation> <xsd:documentation xml:lang="en"> Defines the margin, also called haircut in repo and securities lending terminology, that will be applied to a transaction. It is essentially a premium, expressed in percentage, to compensate collateral quality (or lack thereof) and liquidity. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="marginType" type="MarginTypeEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> The type of margin being specified to apply to the transaction. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="marginFactor" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The margin is expressed as a multiplication factor (default value is 1) to reflect the quality of the collateral. Also called margin ratio as per Section 2, paragraph (z) of the TBMA/ISMA Global Master Repurchase Agreement. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
A mark to market event. This type of event is an adjustment of the price of the underlying collateral done to reflect current market conditions. Depending on the direction of the collateral valuation, one of the contracting parties will either pledge more/less collateral in the contract, or add/substract cash from the contract value.
Inherited element(s): (This definition inherits the content defined by the type MidLifeEvent)
collateral (exactly one occurrence; of the type CollateralValuation)
combinedInterestPayout (exactly one occurrence; of the type xsd:boolean)
transfer (zero or one occurrence; of the type Transfer)
<xsd:complexType name="MarkToMarketEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A mark to market event. This type of event is an adjustment of the price of the underlying collateral done to reflect current market conditions. Depending on the direction of the collateral valuation, one of the contracting parties will either pledge more/less collateral in the contract, or add/substract cash from the contract value. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="collateral" type="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The updated collateral valuation for the contract. The change compared to the previously agreed valuation determines what securities or cash movement will occur. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="combinedInterestPayout" type="xsd:boolean"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that the parties agree to settle the accrued interest on the contract at the time of the repricing. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Participants may use this structure to explicitly restate who is receiving/delivering cash and securities. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
A mid life event in a repo or securities lending transaction. Such mid life events are bilateral agreements between contracting parties to alter the financial profile of the transaction. Such examples include interest payments, collateral substitutions, or mark-to-market activity (cash or nominal repricing) to re-balance the valuation of cash and collateral in the transaction.
Inherited element(s): (This definition inherits the content defined by the type Event)
eventDate (exactly one occurrence; of the type IdentifiedDate)
<xsd:complexType name="MidLifeEvent" abstract="true"> <xsd:annotation> <xsd:documentation xml:lang="en"> A mid life event in a repo or securities lending transaction. Such mid life events are bilateral agreements between contracting parties to alter the financial profile of the transaction. Such examples include interest payments, collateral substitutions, or mark-to-market activity (cash or nominal repricing) to re-balance the valuation of cash and collateral in the transaction. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Event"> <xsd:sequence> <xsd:element name="eventDate" type="IdentifiedDate"> <xsd:annotation> <xsd:documentation xml:lang="en"> The date the event has been recorded. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Identification of a net trade and original trades.
Inherited element(s): (This definition inherits the content defined by the type PartyTradeIdentifier)
originalTradeIdentifier (one or more occurrences; of the type TradeIdentifierList)
<xsd:complexType name="NetTradeIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identification of a net trade and original trades. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="PartyTradeIdentifier"> <xsd:sequence> <xsd:element name="originalTradeIdentifier" type="TradeIdentifierList" minOccurs="2" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identification of original trades. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Additional information about the settlement transfer. We will use this to carry information to drive internal processing.
partyReference (exactly one occurrence; of the type PartyReference)
processingInformation (exactly one occurrence; of the type SettlementTransferProcessingInformation)
<xsd:complexType name="PartySettlementTransferInformation"> <xsd:annotation> <xsd:documentation xml:lang="en"> Additional information about the settlement transfer. We will use this to carry information to drive internal processing. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="partyReference" type="PartyReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Information contained in this structure is relative to the party being referred to. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="processingInformation" type="SettlementTransferProcessingInformation"> <xsd:annotation> <xsd:documentation xml:lang="en"> Any party specific information that may be required to properly execute a transfer. This can be used as a type substitution point to insert party specific structures. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
A rate change is a mid life event where on a given date, the repo rate to apply is changed as a result of a bilateral agreement between the two parties. There is no cash or security movement associated with a rate change. The repo structure allows you to specify repo rates as a schedule, so this type is not strictly required within the repo. We need it for consistency and to allow a discrete event message to declare a rate change on a trade.
Inherited element(s): (This definition inherits the content defined by the type MidLifeEvent)
rate (exactly one occurrence; of the type xsd:decimal)
<xsd:complexType name="RateChangeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A rate change is a mid life event where on a given date, the repo rate to apply is changed as a result of a bilateral agreement between the two parties. There is no cash or security movement associated with a rate change. The repo structure allows you to specify repo rates as a schedule, so this type is not strictly required within the repo. We need it for consistency and to allow a discrete event message to declare a rate change on a trade. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="rate" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The new repo rate, in decimal format that will be applicable at the specified event date. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
A rate observation is used only when a Repo is done against an index (typically EONIA repos) and we want to record the observed rates during the lifetime of the trade. This is similar in structure to a rate change, but the application context is different. A rate observation has no cash or security movement attached, so there is no transfer structure here. Rate observations are required on floating rate repos to calculate the accrued repo interest.
Inherited element(s): (This definition inherits the content defined by the type MidLifeEvent)
rate (exactly one occurrence; of the type xsd:decimal)
<xsd:complexType name="RateObservationEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A rate observation is used only when a Repo is done against an index (typically EONIA repos) and we want to record the observed rates during the lifetime of the trade. This is similar in structure to a rate change, but the application context is different. A rate observation has no cash or security movement attached, so there is no transfer structure here. Rate observations are required on floating rate repos to calculate the accrued repo interest. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="rate" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The observed rate at the specified event date that will be used to calculate the accrued interest on an index repo contract. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
A type which represents Pricing relative to a Benchmark.
spread (exactly one occurrence; of the type xsd:decimal)
an equity referenced by a repo contract. equity (exactly one occurrence; of the type EquityAsset)
<xsd:complexType name="RelativePrice"> <xsd:annotation> <xsd:documentation xml:lang="en"> A type which represents Pricing relative to a Benchmark. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="spread" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> Basis Point spread over a Benchmark. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="BondEquity.model" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> The benchmark being referred to; either a bond or equity product. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> </xsd:complexType>
A Repo, modeled as an FpML:Product.
Inherited element(s): (This definition inherits the content defined by the type Product)
fixedRateSchedule (exactly one occurrence; of the type Schedule)
Or
floatingRateCalculation (exactly one occurrence; of the type FloatingRateCalculation)
dayCountFraction (exactly one occurrence; of the type DayCountFraction)
noticePeriod (zero or one occurrence; of the type AdjustableOffset)
duration (exactly one occurrence; of the type RepoDurationEnum)
margin (exactly one occurrence; of the type Margin)
spotLeg (exactly one occurrence; of the type RepoTransactionLeg)
forwardLeg (zero or one occurrence; of the type ForwardRepoTransactionLeg)
Mid life events that occur during the lifetime of the Repo go here. midLifeEvent (zero or more occurrences; of the type MidLifeEvent)
an equity referenced by a repo contract. equity (exactly one occurrence; of the type EquityAsset)
settlementTransfer (zero or one occurrence; of the type SettlementTransfer)
<xsd:complexType name="Repo"> <xsd:annotation> <xsd:documentation xml:lang="en"> A Repo, modeled as an FpML:Product. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Product"> <xsd:sequence> <xsd:choice> <xsd:element name="fixedRateSchedule" type="Schedule"> <xsd:annotation> <xsd:documentation xml:lang="en"> The fixed repo rate. It is usually fixed for the duration of the agreement but can be changed with mid-life events (rate changes) except for buy SellBack trades. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="floatingRateCalculation" type="FloatingRateCalculation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The float index and tenor, with a spread. Use for floating rate repos. Most floatings in Europe are against EONIA. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> <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="noticePeriod" type="AdjustableOffset" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Notice period for open ended or long dated repos in number of days. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="duration" type="RepoDurationEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> A duration code for the contract. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="margin" type="Margin"> <xsd:annotation> <xsd:documentation xml:lang="en"> The margin, or haircut, that will be applied. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="spotLeg" type="RepoTransactionLeg"> <xsd:annotation> <xsd:documentation xml:lang="en"> A repo contract is modelled as two purchase/repurchase transactions which are called legs. This is the spot leg, i.e. the transaction that will be executed on the settlement date of the contract. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="forwardLeg" type="ForwardRepoTransactionLeg" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The forward leg of the repo contract, i.e. the repurchase transaction. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="midLifeEvent" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Mid life events that occur during the lifetime of the Repo go here. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="BondEquity.model" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> A list of the financial instruments that the repo contract may reference. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="settlementTransfer" type="SettlementTransfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Participants may choose to explicitly specify the different financial exchanges that the product represents. This is the equivalent of the cashflow-explicit representation of an interest rate swap. In this case it is possible to give a transfer-explicit representation of a repo contract for settlement purposes. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
A Repo Leg Identification.
Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)
Attribute: repoLegIdScheme (xsd:anyURI)
Attribute: id (xsd:ID)
<xsd:complexType name="RepoLegId"> <xsd:annotation> <xsd:documentation xml:lang="en"> A Repo Leg Identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="repoLegIdScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/repo-leg-id-1-0"/> <xsd:attribute name="id" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
A transaction leg for a repo is equivalent to a single cash transaction.
id (one or more occurrences; of the type RepoLegId)
Or
versionedId (one or more occurrences; of the type VersionedRepoLegId)
buyerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)
sellerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)
settlementDate (exactly one occurrence; of the type AdjustableOrRelativeDate)
settlementAmount (exactly one occurrence; of the type Money)
Or
settlementCurrency (exactly one occurrence; of the type Currency)
collateral (zero or more occurrences; of the type CollateralValuation)
Attribute: id (xsd:ID) - optional
<xsd:complexType name="RepoTransactionLeg"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transaction leg for a repo is equivalent to a single cash transaction. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice minOccurs="0"> <xsd:element name="id" type="RepoLegId" maxOccurs="unbounded"/> <xsd:element name="versionedId" type="VersionedRepoLegId" maxOccurs="unbounded"/> </xsd:choice> <xsd:group ref="BuyerSeller.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> References to the buyer and seller of the repo contract. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:group ref="Settlement.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> The date and monetary amounts specified for the settlement of this transaction. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="collateral" type="CollateralValuation" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Collateral valuation is used to carry the quantity and price details that are required to ensure that a repo contract is executed at fair value, with the value of the collateral matching the cash amount of the repo. Collateral is declared as optional here, with multiple cardinalities, since we can do a repo "Multi", with multiple instruments specified, or a "Cash Borrow/Loan" and “TriPartyRepo” with no collateral. In general cases, however it should be specified. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="optional"/> </xsd:complexType>
Reference to an Transaction Leg.
Inherited element(s): (This definition inherits the content defined by the type Reference)
<xsd:complexType name="RepoTransactionLegReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to an Transaction Leg. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType>
The transfer of a security requires an identifier for the security, and a quantity.
Inherited element(s): (This definition inherits the content defined by the type AtomicSettlementTransfer)
quantity (exactly one occurrence; of the type xsd:decimal)
assetReference (exactly one occurrence; of the type AssetReference)
delivererPartyReference (exactly one occurrence; of the type PartyReference)
receiverPartyReference (exactly one occurrence; of the type PartyReference)
daylightIndicator (zero or one occurrence; of the type xsd:boolean)
<xsd:complexType name="SecurityTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> The transfer of a security requires an identifier for the security, and a quantity. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="AtomicSettlementTransfer"> <xsd:sequence> <xsd:element name="quantity" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The quantity of asset being transfered </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="assetReference" type="AssetReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> The asset being transfered. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="delivererPartyReference" type="PartyReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to the party delivering the asset. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="receiverPartyReference" type="PartyReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to the party receiving the asset. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="daylightIndicator" type="xsd:boolean" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Standard settlement in Euroclear takes place in a batch on "value date - 1" (at 4 pm), to allow trades which are not included in this batch to be settled on value date, the daylight indicator can be used. The MT 540 instruction will contain an indicator which notifies Euroclear whether a transaction can be put forward for settlement intra-day. This is the "Daylight Indicator" and will be set on all transactions with Euroclear. However, to ensure they are included within intra-day settlement, the counterparty within Euroclear (ie, participant B) must also indicate intra-day settlement can take place. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Settlement Instruction Reference.
Inherited element(s): (This definition inherits the content defined by the type Reference)
<xsd:complexType name="SettlementInstructionReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Instruction Reference. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType>
This is a container to carry 'transfers', i.e. elementary transfers of cash or securities. Transfer instructions are coupled with settlement instructions that are referenced.
id (one or more occurrences; of the type SettlementTransferId)
Or
versionedId (one or more occurrences; of the type VersionedSettlementTransferId)
type (one or more occurrences; of the type SettlementTransferType)
Or
versionedType (one or more occurrences; of the type VersionedSettlementTransferType)
transferInformation (zero or more occurrences; of the type PartySettlementTransferInformation)
transfer (one or more occurrences; of the type Transfer)
settlementInstruction (zero or more occurrences; of the type SettlementInstruction)
<xsd:complexType name="SettlementTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> This is a container to carry 'transfers', i.e. elementary transfers of cash or securities. Transfer instructions are coupled with settlement instructions that are referenced. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:group ref="SettlementTransferIdentifier.model" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer Identifier which is optional in the context of a trade, but should always be used in a transfer message. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="transferInformation" type="PartySettlementTransferInformation" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Transfer information which applies to all elementary transfers. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> An elementary transfer. There can be as many transfers specified in this structure as required. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementInstruction" type="SettlementInstruction" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement instruction. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
Settlement Transfer identification.
Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)
Attribute: settlementTransferIdScheme (xsd:anyURI)
Attribute: id (xsd:ID)
<xsd:complexType name="SettlementTransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="settlementTransferIdScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-transfer-id-1-0"/> <xsd:attribute name="id" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
Settlement Transfer identification and classification.
id (one or more occurrences; of the type SettlementTransferId)
Or
versionedId (one or more occurrences; of the type VersionedSettlementTransferId)
type (one or more occurrences; of the type SettlementTransferType)
Or
versionedType (one or more occurrences; of the type VersionedSettlementTransferType)
Attribute: id (xsd:ID) - optional
<xsd:complexType name="SettlementTransferIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer identification and classification. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:group ref="SettlementTransferIdentifier.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> An identifier for an individual settlement transfer. This usually maps to a SWIFT message reference. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="optional"/> </xsd:complexType>
Type representing settlement transfer processing information.
owner (zero or one occurrence; of the type xsd:boolean)
<xsd:complexType name="SettlementTransferProcessingInformation"> <xsd:annotation> <xsd:documentation xml:lang="en"> Type representing settlement transfer processing information. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="owner" type="xsd:boolean" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> If present and true the publisher considers this party to be the owner of the transfer. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
A settlement transfer classification.
Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)
Attribute: settlementTransferTypeScheme (xsd:anyURI)
<xsd:complexType name="SettlementTransferType"> <xsd:annotation> <xsd:documentation xml:lang="en"> A settlement transfer classification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="settlementTransferTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-transfer-type-1-0"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
Stream identification.
Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)
Attribute: streamId (xsd:anyURI)
<xsd:complexType name="StreamId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Stream identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="streamId" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/stream-id-1-0"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
Reference to an Stream.
Inherited element(s): (This definition inherits the content defined by the type Reference)
<xsd:complexType name="StreamReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to an Stream. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType>
Contains identification of a trade, and references to a trade component or event.
Inherited element(s): (This definition inherits the content defined by the type TradeIdentifier)
tradeComponentIdentifier (exactly one occurrence; of the type TradeComponentIdentifier)
<xsd:complexType name="TradeAndComponentIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Contains identification of a trade, and references to a trade component or event. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="TradeIdentifier"> <xsd:sequence> <xsd:element name="tradeComponentIdentifier" type="TradeComponentIdentifier"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Trade Component or Event identification or references.
repoLegReference (exactly one occurrence; of the type RepoTransactionLegReference)
Or
eventReference (exactly one occurrence; of the type EventReference)
Or
streamReference (exactly one occurrence; of the type StreamReference)
<xsd:complexType name="TradeComponentIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Trade Component or Event identification or references. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:choice maxOccurs="unbounded"> <xsd:element name="repoLegId" type="RepoLegId"/> <xsd:element name="versionedRepoLegId" type="VersionedRepoLegId"/> </xsd:choice> <xsd:element name="repoLegReference" type="RepoTransactionLegReference"/> <xsd:choice maxOccurs="unbounded"> <xsd:element name="eventId" type="EventId"/> <xsd:element name="versionedEventId" type="VersionedEventId"/> </xsd:choice> <xsd:element name="eventReference" type="EventReference"/> <xsd:choice maxOccurs="unbounded"> <xsd:element name="streamId" type="StreamId"/> <xsd:element name="versionedStreamId" type="VersionedStreamId"/> </xsd:choice> <xsd:element name="streamReference" type="StreamReference"/> </xsd:choice> </xsd:complexType>
A type containing multiple tradeIdentifier.
tradeIdentifier (one or more occurrences; of the type TradeIdentifier)
<xsd:complexType name="TradeIdentifierList"> <xsd:annotation> <xsd:documentation xml:lang="en"> A type containing multiple tradeIdentifier. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> A trade identifier. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
A type used to represent a transfer of cash, or securities, or a simultaneous exchange of securities vs cash.
id (one or more occurrences; of the type TransferId)
Or
versionedId (one or more occurrences; of the type VersionedTransferId)
tradeComponentIdentifier (exactly one occurrence; of the type TradeComponentIdentifier)
Or
tradeAndComponentIdentifier (one or more occurrences; of the type TradeAndComponentIdentifier)
Or
netTradeIdentifier (exactly one occurrence; of the type NetTradeIdentifier)
deliveryMethod (exactly one occurrence; of the type DeliveryMethodEnum)
transferDate (exactly one occurrence; of the type IdentifiedDate)
securityTransfer (exactly one occurrence; of the type SecurityTransfer)
settlementInstructionReference (zero or one occurrence; of the type SettlementInstructionReference)
Attribute: id (xsd:ID)
<xsd:complexType name="Transfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> A type used to represent a transfer of cash, or securities, or a simultaneous exchange of securities vs cash. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice minOccurs="0"> <xsd:element name="id" type="TransferId" maxOccurs="unbounded"/> <xsd:element name="versionedId" type="VersionedTransferId" maxOccurs="unbounded"/> </xsd:choice> <xsd:group ref="TradeComponentOrIdentifierOrNet.model" minOccurs="0"/> <xsd:element name="deliveryMethod" type="DeliveryMethodEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> Specify the delivery method. There is a business rule associated with this field: if deliveryMethod is DVP then you must specify a cashTransfer and a securityTransfer at the same time. It is incorrect to specify DVP and give only a cash transfer instruction. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transferDate" type="IdentifiedDate"> <xsd:annotation> <xsd:documentation xml:lang="en"> The date at which the transfer should occur. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:choice> <xsd:annotation> <xsd:documentation xml:lang="en"> You can specify either a cash transfer, or a security transfer, or both, but the structure below cannot be empty. Note the semantics of the structure: If we only have a cash transfer it is a pure cash transfer, mapping to a MT202 or MT210; if we have a security transfer only, it maps to a MT540 or 542 (deliver or receive free). If the structure has both cash and security specified it maps to MT541 or MT543 (deliver or receive against payment). The deliveryMethod tag allows us to validate that the transfer is structurally valid. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="cashTransfer" type="CashTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transfer of a cash amount between two parties. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="securityTransfer" type="SecurityTransfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transfer of securities between two parties. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:element name="securityTransfer" type="SecurityTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transfer of securities between two parties. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> <xsd:element name="settlementInstructionReference" type="SettlementInstructionReference" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Instruction Reference. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID"/> </xsd:complexType>
A Transfer Identification.
Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)
Attribute: transferIdScheme (xsd:anyURI)
Attribute: id (xsd:ID)
<xsd:complexType name="TransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> A Transfer Identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="transferIdScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/transfer-id-1-0"/> <xsd:attribute name="id" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
EventId with version control elements.
id (exactly one occurrence; of the type EventId)
version (exactly one occurrence; of the type xsd:nonNegativeInteger)
effectiveDate (zero or one occurrence; of the type IdentifiedDate)
<xsd:complexType name="VersionedEventId"> <xsd:annotation> <xsd:documentation xml:lang="en"> EventId with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="EventId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType>
Repo Leg Id with version control elements.
id (exactly one occurrence; of the type RepoLegId)
version (exactly one occurrence; of the type xsd:nonNegativeInteger)
effectiveDate (zero or one occurrence; of the type IdentifiedDate)
<xsd:complexType name="VersionedRepoLegId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Repo Leg Id with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="RepoLegId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType>
Settlement Transfer Id with version control elements.
id (exactly one occurrence; of the type SettlementTransferId)
version (exactly one occurrence; of the type xsd:nonNegativeInteger)
effectiveDate (zero or one occurrence; of the type IdentifiedDate)
<xsd:complexType name="VersionedSettlementTransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer Id with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="SettlementTransferId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType>
SettlementTransfer Type with version control elements.
type (exactly one occurrence; of the type SettlementTransferType)
version (exactly one occurrence; of the type xsd:nonNegativeInteger)
effectiveDate (zero or one occurrence; of the type IdentifiedDate)
<xsd:complexType name="VersionedSettlementTransferType"> <xsd:annotation> <xsd:documentation xml:lang="en"> SettlementTransfer Type with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="type" type="SettlementTransferType"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType>
StreamId with version control elements.
id (exactly one occurrence; of the type StreamId)
version (exactly one occurrence; of the type xsd:nonNegativeInteger)
effectiveDate (zero or one occurrence; of the type IdentifiedDate)
<xsd:complexType name="VersionedStreamId"> <xsd:annotation> <xsd:documentation xml:lang="en"> StreamId with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="StreamId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType>
Transfer Id with version control elements.
id (exactly one occurrence; of the type TransferId)
version (exactly one occurrence; of the type xsd:nonNegativeInteger)
effectiveDate (zero or one occurrence; of the type IdentifiedDate)
<xsd:complexType name="VersionedTransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Transfer Id with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="TransferId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType>
Global element representing cash repricing.
Element cashRepricing is defined by the complex type CashRepricingEvent
<xsd:element name="cashRepricing" type="CashRepricingEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing cash repricing. </xsd:documentation> </xsd:annotation> </xsd:element>
Global element representing a collateral substitution.
Element collateralSubstitution is defined by the complex type CollateralSubstitutionEvent
<xsd:element name="collateralSubstitution" type="CollateralSubstitutionEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a collateral substitution. </xsd:documentation> </xsd:annotation> </xsd:element>
Global element representing a coupon event.
Element couponEvent is defined by the complex type CouponEvent
<xsd:element name="couponEvent" type="CouponEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a coupon event. </xsd:documentation> </xsd:annotation> </xsd:element>
Global element representing an interest payout.
Element interestPayout is defined by the complex type InterestPayoutEvent
<xsd:element name="interestPayout" type="InterestPayoutEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing an interest payout. </xsd:documentation> </xsd:annotation> </xsd:element>
Global element representing a nominal repricing.
Element markToMarketEvent is defined by the complex type MarkToMarketEvent
<xsd:element name="markToMarketEvent" type="MarkToMarketEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a nominal repricing. </xsd:documentation> </xsd:annotation> </xsd:element>
Abstract placeholder for repo mid life events.
Element midLifeEvent is defined by the complex type MidLifeEvent
<xsd:element name="midLifeEvent" type="MidLifeEvent" abstract="true"> <xsd:annotation> <xsd:documentation xml:lang="en"> Abstract placeholder for repo mid life events. </xsd:documentation> </xsd:annotation> </xsd:element>
Global element representing a rate change.
Element rateChange is defined by the complex type RateChangeEvent
<xsd:element name="rateChange" type="RateChangeEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a rate change. </xsd:documentation> </xsd:annotation> </xsd:element>
Global element representing rate observation.
Element rateObservation is defined by the complex type RateObservationEvent
<xsd:element name="rateObservation" type="RateObservationEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing rate observation. </xsd:documentation> </xsd:annotation> </xsd:element>
Element repo is defined by the complex type Repo
<xsd:element name="repo" type="Repo" substitutionGroup="product"/>
A model group which provides choices between all bond underlyers.
A bond instrument referenced by a contract bond (exactly one occurrence; of the type Bond)
Or
A convertible bond instrument referenced by a contract. convertibleBond (exactly one occurrence; of the type ConvertibleBond)
<xsd:group name="BondChoice.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A model group which provides choices between all bond underlyers. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:element ref="bond"> <xsd:annotation> <xsd:documentation xml:lang="en"> A bond instrument referenced by a contract </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="convertibleBond"> <xsd:annotation> <xsd:documentation xml:lang="en"> A convertible bond instrument referenced by a contract. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group>
A group which has Collateral elements.
nominalAmount (exactly one occurrence; of the type Money)
cleanPrice (exactly one occurrence; of the type xsd:decimal)
accruals (zero or one occurrence; of the type xsd:decimal)
dirtyPrice (zero or one occurrence; of the type xsd:decimal)
relativePrice (zero or one occurrence; of the type RelativePrice)
yieldToMaturity (zero or one occurrence; of the type xsd:decimal)
inflationFactor (zero or one occurrence; of the type xsd:decimal)
interestStartDate (zero or one occurrence; of the type AdjustableOrRelativeDate)
pool (zero or one occurrence; of the type AssetPool)
<xsd:group name="BondCollateral.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has Collateral elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="nominalAmount" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> Collateral nominal amount. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="BondPriceAndYield.model" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Collateral price. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> </xsd:group>
A model group that allows us to specify that a repo contract can reference bond or equity instruments.
an equity referenced by a repo contract. equity (exactly one occurrence; of the type EquityAsset)
<xsd:group name="BondEquity.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A model group that allows us to specify that a repo contract can reference bond or equity instruments. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:annotation> <xsd:documentation xml:lang="en"> Most repos are done using Bonds and Bond subclasses as collateral; However it is technically possible to execute a repo on an equity, as long as the mark to market is correctly done during the lifetime of the repo. </xsd:documentation> </xsd:annotation> <xsd:group ref="BondChoice.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> a bond, or bond subtype referenced by a repo contract. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element ref="equity"> <xsd:annotation> <xsd:documentation xml:lang="en"> an equity referenced by a repo contract. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group>
A group which has either Bond Price or Yield elements.
cleanPrice (exactly one occurrence; of the type xsd:decimal)
accruals (zero or one occurrence; of the type xsd:decimal)
dirtyPrice (zero or one occurrence; of the type xsd:decimal)
relativePrice (zero or one occurrence; of the type RelativePrice)
yieldToMaturity (zero or one occurrence; of the type xsd:decimal)
inflationFactor (zero or one occurrence; of the type xsd:decimal)
interestStartDate (zero or one occurrence; of the type AdjustableOrRelativeDate)
pool (zero or one occurrence; of the type AssetPool)
<xsd:group name="BondPriceAndYield.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has either Bond Price or Yield elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="cleanPrice" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> Bond clean price, expressed in percentage points, 100 is the initial value of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="accruals" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Accruals, relationship is clean price and accruals equals dirty price, all prices are expressed in percentage points, 100 is the initial value of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="dirtyPrice" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Bond dirty price, expressed in percentage points, 100 is the initial value of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="relativePrice" type="RelativePrice" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Bond price relative to a Benchmark. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="yieldToMaturity" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Yield to Maturity. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="inflationFactor" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The inflation factor is specified for inflation-linked products which require some additional elements to calculate prices correctly. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="interestStartDate" type="AdjustableOrRelativeDate" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Start date for interest calculations. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="pool" type="AssetPool" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Characterise an asset pool, such as the MBS pool on a collateralised repo. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:group>
A group which has cash settlement elements.
settlementDate (exactly one occurrence; of the type AdjustableOrRelativeDate)
settlementAmount (exactly one occurrence; of the type Money)
Or
settlementCurrency (exactly one occurrence; of the type Currency)
<xsd:group name="Settlement.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has cash settlement elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="settlementDate" type="AdjustableOrRelativeDate"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Date. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="SettlementAmountOrCurrency.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the exact financial amount to trade is not known, this structure allows participants to state the currency of the transaction. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> </xsd:group>
settlementAmount (exactly one occurrence; of the type Money)
Or
settlementCurrency (exactly one occurrence; of the type Currency)
<xsd:group name="SettlementAmountOrCurrency.model"> <xsd:choice> <xsd:element name="settlementAmount" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Amount. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementCurrency" type="Currency"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Currency for use where the Settlement Amount cannot be known in advance. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group>
Group which has settlement transfer identifier elements.
id (one or more occurrences; of the type SettlementTransferId)
Or
versionedId (one or more occurrences; of the type VersionedSettlementTransferId)
type (one or more occurrences; of the type SettlementTransferType)
Or
versionedType (one or more occurrences; of the type VersionedSettlementTransferType)
<xsd:group name="SettlementTransferIdentifier.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> Group which has settlement transfer identifier elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice> <xsd:element name="id" type="SettlementTransferId" maxOccurs="unbounded"/> <xsd:element name="versionedId" type="VersionedSettlementTransferId" maxOccurs="unbounded"/> </xsd:choice> <xsd:choice minOccurs="0"> <xsd:element name="type" type="SettlementTransferType" maxOccurs="unbounded"/> <xsd:element name="versionedType" type="VersionedSettlementTransferType" maxOccurs="unbounded"/> </xsd:choice> </xsd:sequence> </xsd:group>
Trade or Trade Identifier.
tradeComponentIdentifier (exactly one occurrence; of the type TradeComponentIdentifier)
Or
tradeAndComponentIdentifier (one or more occurrences; of the type TradeAndComponentIdentifier)
Or
netTradeIdentifier (exactly one occurrence; of the type NetTradeIdentifier)
<xsd:group name="TradeComponentOrIdentifierOrNet.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> Trade or Trade Identifier. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:element name="tradeComponentIdentifier" type="TradeComponentIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identify the trade component which has caused this transfer to occur within a Trade Settlement. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="tradeAndComponentIdentifier" type="TradeAndComponentIdentifier" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identify the trade and component which has caused this transfer to occur within a Settlement Message. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="netTradeIdentifier" type="NetTradeIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identify the net trade and original trades which have caused this transfer to occur within a Trade or Settlement Message. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group>
A group which has unit based trade elements.
numberOfUnits (exactly one occurrence; of the type xsd:decimal)
unitPrice (exactly one occurrence; of the type Money)
<xsd:group name="UnitContract.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has unit based trade elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="numberOfUnits" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The number of units (index or securities). </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="unitPrice" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> The price of each unit. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:group>
<xsd:schema targetNamespace="http://www.fpml.org/2007/FpML-4-3" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 1133 $" ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML"> <xsd:include schemaLocation="fpml-shared.xsd"/> <xsd:include schemaLocation="fpml-asset.xsd"/> <xsd:include schemaLocation="fpml-doc.xsd"/> <xsd:simpleType name="DeliveryMethodEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> This enumeration defines the possible delivery methods for securities. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:token"> <xsd:enumeration value="DeliveryVersusPayment"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a securities delivery must be made against payment in a single transaction </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="FreeOfPayment"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a securities delivery can be made without a simultaneous cash payment in exchange. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MarginTypeEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> This indicator defines if a margin (also called haircut in repo and sec lending litterature) applies to cash or to the financial instrument being exchanged. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:token"> <xsd:enumeration value="Cash"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the margin type is Cash, the margin factor is applied to the cash value of the transaction. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="Instrument"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the margin type is Instrument, the margin factor is applied to the instrument value for the transaction. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="RepoDurationEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> A duration code for a Repo (or Securities Lending) transaction. There are many business and market rules that are derived from the duration of the transaction. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:token"> <xsd:enumeration value="Overnight"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a contract is classified as overnight, meaning that there is one business day difference between the start and end date of the contract. Business rule: When the repo is overnight, the number of business days between the spot and forward value dates must be one. Forward leg must be specified. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="Term"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a contract is a regular term contract, with a start date and an end date. Business rule: When the repo is 'Term', both spot and forward legs must be specified. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="Open"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that a contract is open ended; this means that the end date is unspecified, and will be agreed by the two parties at a later date. Business rule: When the repo is Open, the forward transaction leg must not be present. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="AdjustableOffset"> <xsd:annotation> <xsd:documentation xml:lang="en"> An adjustable offset can be used to specify a number of days, business or calendar, for example in a notice period. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Offset"> <xsd:sequence> <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="AtomicSettlementTransfer" abstract="true"> <xsd:annotation> <xsd:documentation xml:lang="en"> Abstract base class for all transfer of cash or securities </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="suppress" type="xsd:boolean" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicate if this transfer should be suppressed. Absence of this flag means that the transfer should not be suppressed. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID"/> </xsd:complexType> <xsd:complexType name="Attribution"> <xsd:annotation> <xsd:documentation xml:lang="en"> An attribution must specify its type, and an amount. Any of the three amount fields below can be used (and they can all be used at the same time), as long as they are used consistently. You can express an attribution in a maximum of three different currencies (settlement, base, underlying), which are usually the same as the settlement currency on the trade, the base currency used for accounting purposes, and the underlying currency which refers to the currency of an underlying instrument used in a transaction. Note however that these are just guidelines; you can actually specify attributions in any currency that you like, as long as you are consistent. Within an Attributions structure, all attribution/settlementAmounts are expressed in the same currency, defined by the settlementCurrency field (see enclosing Attributions structure). Same holds true for base and underlying amounts. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="type" type="AttributionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> The attribution type. The cash settlement amount specified in the enclosing transfer will be broken down into several subcomponents (like a PandL explain), and the type of the breakdown is defined here. Typical values are in a scheme. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementAmount" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> An amount expressed in the settlement currency that was indicated in the enclosing Attributions structure. This is done to avoid repeating the currency for every amount when we know that attributions are expressed in a consistent way, with the same currencies. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="baseAmount" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> An amount expressed in the base currency defined in the enclosing Attributions structure (see baseCurrency). If this optional field is present, baseCurrency must be defined in the enclosing structure. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="underlyingAmount" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> An amount expressed in the currency of an underlyer ( see underlyingCurrency). If this field is present then the underlyingCurrency field in the enclosing structure must be defined. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Attributions"> <xsd:annotation> <xsd:documentation xml:lang="en"> A set of attributions, which are a way to break down a cash amount into several components, like the repo interest portion in the final cahflow of the repo, the clean price attribution, etc. An example could be, for a repo worth 1M on a security priced at 100 at maturity with a total interest of 10,000, 1M is attributed to the security 'dirty price', 95,400,000.00 is attributed to the security clean price, ( I am making it up here ); 10,000.00 is attributed to the repo interest, and 200 is attributed to a stamp tax. All attributions are monetary amounts. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="settlementCurrency" type="Currency"> <xsd:annotation> <xsd:documentation xml:lang="en"> The currency that is used for all the attributions expressed with settlementAmount. The reason for this is to avoid repeating the currency (for example using FpML:Money) for every attribution amount in the structure. We therefore assume that attributions are expressed in a maximum of three currencies, which we specify here. The settlementCurrency is assumed to be the settlement currency of the trade in general cases. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="baseCurrency" type="Currency"> <xsd:annotation> <xsd:documentation xml:lang="en"> The currency that is used for all the attributions expressed with baseAmount. The baseCurrency is usually USD within the firm, but it is in fact driven by the accounting engine expectations. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="underlyingCurrency" type="Currency" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The currency that is used for all the attributions expressed with underlyingAmount. Underlying currency is the currency of issuance for the underlying instrument. So if you need to express attributions on a Repo settling in EUR but with GBP instruments, you would specify underlyingCurrency to be GBP. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="attribution" type="Attribution" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> The attributions go here. There is no limit on the number of attributions. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AttributionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> An attribution type. Values are defined in a coding scheme. Typical values are RepoInterest, StampTax, WithholdingTax. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="attributionTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/attribution-type-1-0"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="CashRepricingEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A cash repricing event. This type of event is an adjustment of the price of the underlying collateral done to reflect current market conditions. The par amount is preserved constant, which means that the collateral quantity is unchanged. It is the settlement amount that changes after a cash repricing, so a cash repricing will trigger a cash movement. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="collateral" type="CollateralValuation" minOccurs="0"/> <xsd:element name="combinedInterestPayout" type="xsd:boolean"> <xsd:annotation> <xsd:documentation xml:lang="en"> This value should be set to true if we need to pay the accrued interest at the same time. If false, there is no payment attributed to the repo accrued interest, only cash movement linked to collateral re-valuation. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" minOccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="CashTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> By definition, to specify a cash transfer, we need to say how much we want to transfer, who is the payer ( correspondent ) and who is the receiver ( beneficiary ). Those terms are used in the settlement instruction and allow us to define the direction of the movement. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="AtomicSettlementTransfer"> <xsd:sequence> <xsd:element name="transferAmount" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> The money to transfer. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="PayerReceiver.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> The parties paying and receiving the money </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="attributions" type="Attributions" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> For accounting, reporting or regulatory reasons, the transfer may have to be explained in a series of individual amounts. It may be possible for example to break down a transfer amount into constituents (gross, tax, net) or into individual amounts (interest, penalty) that would be netted at the transfer level. The attributions structure allows participants to explain their transfer amounts for better traceability. This is strictly optional. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="CollateralSubstitutionEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A collateral substitution is an event where two parties, having previously entered into a repurchase agreement, or securities lending, agree that collateral used for the transaction be substituted with equivalent collateral. The new collateral must be deemed acceptable, in grade and quality and have an equivalent valuation compared substituted collateral at the time of the substitution. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="previousCollateral" type="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The collateral previously pledged in the transaction, properly valued as of the date of substitution. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="newCollateral" type="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The new collateral to use in the transaction, valued as of the date of substitution. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementTransfer" type="SettlementTransfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The settlement transfer structure may be used by participants that want to explicitly restate who will deliver what, when and how. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> This type is used in Repo trades, to specify the valuation of a specific piece of collateral in the transaction. Note that the structure must be used within a structure that has a date attached to it, because the valuations included (such as prices, accruals and inflation factors) are relative to a date. We do not want to add an href to a date because that would be too much complexity for nothing. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice> <xsd:group ref="BondCollateral.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the instrument being used in a transaction is a bond, the group above should be used to properly value the instrument, in terms of price, accruals and notional. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:group ref="UnitContract.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the instrument being used in a transaction is an equity, or any contract traded in units, this group should be used to define the quantity, price and valuation of the instrument. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:choice> <xsd:element name="assetReference" type="AssetReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> A reference to explicitly identify which asset is being valued. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CouponEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> This structure is used for Buy-Sell Back trades to describe when a coupon is paid and what reinvestment rate will be applied. the amount is in the instrument currency. To be able to represent a buy/sell back with more than one collateral we use an href link to the underlying asset. This enables us to represent multiple coupons during the life of the trade, with different reinvestment rates, and possibly different instruments. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="couponAmount" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The cash value of the coupon paid (not the coupon rate). It should be equal to the coupon rate divided by frequency (2 for semi annual) times the notional of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="reinvestmentRate" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The reinvestment rate we will use on the coupon. Very often it is equal to the repo rate on the deal, but it does not have to. For very long term repos, the reinvestment rate will be derived from a curve. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="assetReference" type="AssetReference"/> <xsd:element name="transfer" type="Transfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The transfer structure can be used to explicitly state who will pay the coupon. In buy-sell-back trades, whoever holds the bond will receive the coupon (from the bond issuer) and keep it. If the bond holder passes the coupon on to the counterparty we expect to see a transfer from bond holder to counterparty here. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="EventReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to a Trade Event. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ForwardRepoTransactionLeg"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transaction leg for a repo is equivalent to a single cash transaction. It is augmented here to carry some values that are of interest for the repo. Also note that the BuyerSeller model in this transaction must be the exact opposite of the one found in the spot leg. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="RepoTransactionLeg"> <xsd:sequence> <xsd:element name="repoInterest" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The repo interest is basically the difference between the settlement amounts at spot and forward date. It is a fully figured amount, but it does not have to be specified in the message. It is not a 'Money' amount as it is implicitly expressed in the settlement currency. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="InterestPayoutEvent"> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="payment" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> The amount to be paid. Note that we do not specify who is paying the amount. Implicitly, the party that pays the repo Interest at maturity is the only party that can do an interest payout. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> When necessary, it is possible to make the interest payout fully explicit, with parties and settlement instructions. Note that the transfer date *may* differ from the eventDate specified by the event; for example the date the payment is made can be 1 or 2 days after the interest has been calculated. Note that for an interest payout the transfer can only contain a cashTransfer as there are no security movements for an interest payout. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Margin"> <xsd:annotation> <xsd:documentation xml:lang="en"> Defines the margin, also called haircut in repo and securities lending terminology, that will be applied to a transaction. It is essentially a premium, expressed in percentage, to compensate collateral quality (or lack thereof) and liquidity. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="marginType" type="MarginTypeEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> The type of margin being specified to apply to the transaction. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="marginFactor" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The margin is expressed as a multiplication factor (default value is 1) to reflect the quality of the collateral. Also called margin ratio as per Section 2, paragraph (z) of the TBMA/ISMA Global Master Repurchase Agreement. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MidLifeEvent" abstract="true"> <xsd:annotation> <xsd:documentation xml:lang="en"> A mid life event in a repo or securities lending transaction. Such mid life events are bilateral agreements between contracting parties to alter the financial profile of the transaction. Such examples include interest payments, collateral substitutions, or mark-to-market activity (cash or nominal repricing) to re-balance the valuation of cash and collateral in the transaction. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Event"> <xsd:sequence> <xsd:element name="eventDate" type="IdentifiedDate"> <xsd:annotation> <xsd:documentation xml:lang="en"> The date the event has been recorded. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="NetTradeIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identification of a net trade and original trades. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="PartyTradeIdentifier"> <xsd:sequence> <xsd:element name="originalTradeIdentifier" type="TradeIdentifierList" minOccurs="2" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identification of original trades. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MarkToMarketEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A mark to market event. This type of event is an adjustment of the price of the underlying collateral done to reflect current market conditions. Depending on the direction of the collateral valuation, one of the contracting parties will either pledge more/less collateral in the contract, or add/substract cash from the contract value. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="collateral" type="CollateralValuation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The updated collateral valuation for the contract. The change compared to the previously agreed valuation determines what securities or cash movement will occur. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="combinedInterestPayout" type="xsd:boolean"> <xsd:annotation> <xsd:documentation xml:lang="en"> Indicates that the parties agree to settle the accrued interest on the contract at the time of the repricing. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Participants may use this structure to explicitly restate who is receiving/delivering cash and securities. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="PartySettlementTransferInformation"> <xsd:annotation> <xsd:documentation xml:lang="en"> Additional information about the settlement transfer. We will use this to carry information to drive internal processing. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="partyReference" type="PartyReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Information contained in this structure is relative to the party being referred to. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="processingInformation" type="SettlementTransferProcessingInformation"> <xsd:annotation> <xsd:documentation xml:lang="en"> Any party specific information that may be required to properly execute a transfer. This can be used as a type substitution point to insert party specific structures. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="RateChangeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A rate change is a mid life event where on a given date, the repo rate to apply is changed as a result of a bilateral agreement between the two parties. There is no cash or security movement associated with a rate change. The repo structure allows you to specify repo rates as a schedule, so this type is not strictly required within the repo. We need it for consistency and to allow a discrete event message to declare a rate change on a trade. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="rate" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The new repo rate, in decimal format that will be applicable at the specified event date. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="RateObservationEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> A rate observation is used only when a Repo is done against an index (typically EONIA repos) and we want to record the observed rates during the lifetime of the trade. This is similar in structure to a rate change, but the application context is different. A rate observation has no cash or security movement attached, so there is no transfer structure here. Rate observations are required on floating rate repos to calculate the accrued repo interest. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="MidLifeEvent"> <xsd:sequence> <xsd:element name="rate" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The observed rate at the specified event date that will be used to calculate the accrued interest on an index repo contract. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="RelativePrice"> <xsd:annotation> <xsd:documentation xml:lang="en"> A type which represents Pricing relative to a Benchmark. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="spread" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> Basis Point spread over a Benchmark. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="BondEquity.model" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> The benchmark being referred to; either a bond or equity product. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Repo"> <xsd:annotation> <xsd:documentation xml:lang="en"> A Repo, modeled as an FpML:Product. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Product"> <xsd:sequence> <xsd:choice> <xsd:element name="fixedRateSchedule" type="Schedule"> <xsd:annotation> <xsd:documentation xml:lang="en"> The fixed repo rate. It is usually fixed for the duration of the agreement but can be changed with mid-life events (rate changes) except for buy SellBack trades. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="floatingRateCalculation" type="FloatingRateCalculation"> <xsd:annotation> <xsd:documentation xml:lang="en"> The float index and tenor, with a spread. Use for floating rate repos. Most floatings in Europe are against EONIA. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> <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="noticePeriod" type="AdjustableOffset" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Notice period for open ended or long dated repos in number of days. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="duration" type="RepoDurationEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> A duration code for the contract. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="margin" type="Margin"> <xsd:annotation> <xsd:documentation xml:lang="en"> The margin, or haircut, that will be applied. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="spotLeg" type="RepoTransactionLeg"> <xsd:annotation> <xsd:documentation xml:lang="en"> A repo contract is modelled as two purchase/repurchase transactions which are called legs. This is the spot leg, i.e. the transaction that will be executed on the settlement date of the contract. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="forwardLeg" type="ForwardRepoTransactionLeg" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The forward leg of the repo contract, i.e. the repurchase transaction. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="midLifeEvent" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Mid life events that occur during the lifetime of the Repo go here. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="BondEquity.model" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> A list of the financial instruments that the repo contract may reference. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="settlementTransfer" type="SettlementTransfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Participants may choose to explicitly specify the different financial exchanges that the product represents. This is the equivalent of the cashflow-explicit representation of an interest rate swap. In this case it is possible to give a transfer-explicit representation of a repo contract for settlement purposes. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="RepoLegId"> <xsd:annotation> <xsd:documentation xml:lang="en"> A Repo Leg Identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="repoLegIdScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/repo-leg-id-1-0"/> <xsd:attribute name="id" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="RepoTransactionLeg"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transaction leg for a repo is equivalent to a single cash transaction. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice minOccurs="0"> <xsd:element name="id" type="RepoLegId" maxOccurs="unbounded"/> <xsd:element name="versionedId" type="VersionedRepoLegId" maxOccurs="unbounded"/> </xsd:choice> <xsd:group ref="BuyerSeller.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> References to the buyer and seller of the repo contract. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:group ref="Settlement.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> The date and monetary amounts specified for the settlement of this transaction. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="collateral" type="CollateralValuation" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Collateral valuation is used to carry the quantity and price details that are required to ensure that a repo contract is executed at fair value, with the value of the collateral matching the cash amount of the repo. Collateral is declared as optional here, with multiple cardinalities, since we can do a repo "Multi", with multiple instruments specified, or a "Cash Borrow/Loan" and “TriPartyRepo” with no collateral. In general cases, however it should be specified. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="optional"/> </xsd:complexType> <xsd:complexType name="RepoTransactionLegReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to an Transaction Leg. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="SecurityTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> The transfer of a security requires an identifier for the security, and a quantity. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="AtomicSettlementTransfer"> <xsd:sequence> <xsd:element name="quantity" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The quantity of asset being transfered </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="assetReference" type="AssetReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> The asset being transfered. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="delivererPartyReference" type="PartyReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to the party delivering the asset. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="receiverPartyReference" type="PartyReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to the party receiving the asset. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="daylightIndicator" type="xsd:boolean" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Standard settlement in Euroclear takes place in a batch on "value date - 1" (at 4 pm), to allow trades which are not included in this batch to be settled on value date, the daylight indicator can be used. The MT 540 instruction will contain an indicator which notifies Euroclear whether a transaction can be put forward for settlement intra-day. This is the "Daylight Indicator" and will be set on all transactions with Euroclear. However, to ensure they are included within intra-day settlement, the counterparty within Euroclear (ie, participant B) must also indicate intra-day settlement can take place. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="SettlementInstructionReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Instruction Reference. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="SettlementTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> This is a container to carry 'transfers', i.e. elementary transfers of cash or securities. Transfer instructions are coupled with settlement instructions that are referenced. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:group ref="SettlementTransferIdentifier.model" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer Identifier which is optional in the context of a trade, but should always be used in a transfer message. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element name="transferInformation" type="PartySettlementTransferInformation" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Transfer information which applies to all elementary transfers. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transfer" type="Transfer" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> An elementary transfer. There can be as many transfers specified in this structure as required. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementInstruction" type="SettlementInstruction" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement instruction. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SettlementTransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="settlementTransferIdScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-transfer-id-1-0"/> <xsd:attribute name="id" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="SettlementTransferIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer identification and classification. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:group ref="SettlementTransferIdentifier.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> An identifier for an individual settlement transfer. This usually maps to a SWIFT message reference. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="optional"/> </xsd:complexType> <xsd:complexType name="SettlementTransferProcessingInformation"> <xsd:annotation> <xsd:documentation xml:lang="en"> Type representing settlement transfer processing information. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="owner" type="xsd:boolean" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> If present and true the publisher considers this party to be the owner of the transfer. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SettlementTransferType"> <xsd:annotation> <xsd:documentation xml:lang="en"> A settlement transfer classification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="settlementTransferTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-transfer-type-1-0"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="StreamId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Stream identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="streamId" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/stream-id-1-0"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="StreamReference"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reference to an Stream. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="Reference"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="TradeAndComponentIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Contains identification of a trade, and references to a trade component or event. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="TradeIdentifier"> <xsd:sequence> <xsd:element name="tradeComponentIdentifier" type="TradeComponentIdentifier"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="TradeComponentIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Trade Component or Event identification or references. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:choice maxOccurs="unbounded"> <xsd:element name="repoLegId" type="RepoLegId"/> <xsd:element name="versionedRepoLegId" type="VersionedRepoLegId"/> </xsd:choice> <xsd:element name="repoLegReference" type="RepoTransactionLegReference"/> <xsd:choice maxOccurs="unbounded"> <xsd:element name="eventId" type="EventId"/> <xsd:element name="versionedEventId" type="VersionedEventId"/> </xsd:choice> <xsd:element name="eventReference" type="EventReference"/> <xsd:choice maxOccurs="unbounded"> <xsd:element name="streamId" type="StreamId"/> <xsd:element name="versionedStreamId" type="VersionedStreamId"/> </xsd:choice> <xsd:element name="streamReference" type="StreamReference"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="TradeIdentifierList"> <xsd:annotation> <xsd:documentation xml:lang="en"> A type containing multiple tradeIdentifier. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> A trade identifier. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Transfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> A type used to represent a transfer of cash, or securities, or a simultaneous exchange of securities vs cash. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice minOccurs="0"> <xsd:element name="id" type="TransferId" maxOccurs="unbounded"/> <xsd:element name="versionedId" type="VersionedTransferId" maxOccurs="unbounded"/> </xsd:choice> <xsd:group ref="TradeComponentOrIdentifierOrNet.model" minOccurs="0"/> <xsd:element name="deliveryMethod" type="DeliveryMethodEnum"> <xsd:annotation> <xsd:documentation xml:lang="en"> Specify the delivery method. There is a business rule associated with this field: if deliveryMethod is DVP then you must specify a cashTransfer and a securityTransfer at the same time. It is incorrect to specify DVP and give only a cash transfer instruction. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="transferDate" type="IdentifiedDate"> <xsd:annotation> <xsd:documentation xml:lang="en"> The date at which the transfer should occur. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:choice> <xsd:annotation> <xsd:documentation xml:lang="en"> You can specify either a cash transfer, or a security transfer, or both, but the structure below cannot be empty. Note the semantics of the structure: If we only have a cash transfer it is a pure cash transfer, mapping to a MT202 or MT210; if we have a security transfer only, it maps to a MT540 or 542 (deliver or receive free). If the structure has both cash and security specified it maps to MT541 or MT543 (deliver or receive against payment). The deliveryMethod tag allows us to validate that the transfer is structurally valid. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="cashTransfer" type="CashTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transfer of a cash amount between two parties. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="securityTransfer" type="SecurityTransfer" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transfer of securities between two parties. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:element name="securityTransfer" type="SecurityTransfer"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transfer of securities between two parties. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> <xsd:element name="settlementInstructionReference" type="SettlementInstructionReference" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Instruction Reference. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID"/> </xsd:complexType> <xsd:complexType name="TransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> A Transfer Identification. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:normalizedString"> <xsd:attribute name="transferIdScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/transfer-id-1-0"/> <xsd:attribute name="id" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="VersionedEventId"> <xsd:annotation> <xsd:documentation xml:lang="en"> EventId with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="EventId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VersionedRepoLegId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Repo Leg Id with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="RepoLegId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VersionedSettlementTransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Transfer Id with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="SettlementTransferId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VersionedSettlementTransferType"> <xsd:annotation> <xsd:documentation xml:lang="en"> SettlementTransfer Type with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="type" type="SettlementTransferType"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VersionedStreamId"> <xsd:annotation> <xsd:documentation xml:lang="en"> StreamId with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="StreamId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VersionedTransferId"> <xsd:annotation> <xsd:documentation xml:lang="en"> Transfer Id with version control elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="id" type="TransferId"/> <xsd:group ref="VersionHistory.model"/> </xsd:sequence> </xsd:complexType> <xsd:element name="cashRepricing" type="CashRepricingEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing cash repricing. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="couponEvent" type="CouponEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a coupon event. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="collateralSubstitution" type="CollateralSubstitutionEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a collateral substitution. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="interestPayout" type="InterestPayoutEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing an interest payout. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="midLifeEvent" type="MidLifeEvent" abstract="true"> <xsd:annotation> <xsd:documentation xml:lang="en"> Abstract placeholder for repo mid life events. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="markToMarketEvent" type="MarkToMarketEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a nominal repricing. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="rateChange" type="RateChangeEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing a rate change. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="rateObservation" type="RateObservationEvent" substitutionGroup="midLifeEvent"> <xsd:annotation> <xsd:documentation xml:lang="en"> Global element representing rate observation. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="repo" type="Repo" substitutionGroup="product"/> <xsd:group name="BondChoice.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A model group which provides choices between all bond underlyers. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:element ref="bond"> <xsd:annotation> <xsd:documentation xml:lang="en"> A bond instrument referenced by a contract </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="convertibleBond"> <xsd:annotation> <xsd:documentation xml:lang="en"> A convertible bond instrument referenced by a contract. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group> <xsd:group name="BondCollateral.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has Collateral elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="nominalAmount" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> Collateral nominal amount. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="BondPriceAndYield.model" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Collateral price. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> </xsd:group> <xsd:group name="BondEquity.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A model group that allows us to specify that a repo contract can reference bond or equity instruments. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:annotation> <xsd:documentation xml:lang="en"> Most repos are done using Bonds and Bond subclasses as collateral; However it is technically possible to execute a repo on an equity, as long as the mark to market is correctly done during the lifetime of the repo. </xsd:documentation> </xsd:annotation> <xsd:group ref="BondChoice.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> a bond, or bond subtype referenced by a repo contract. </xsd:documentation> </xsd:annotation> </xsd:group> <xsd:element ref="equity"> <xsd:annotation> <xsd:documentation xml:lang="en"> an equity referenced by a repo contract. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group> <xsd:group name="BondPriceAndYield.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has either Bond Price or Yield elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="cleanPrice" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> Bond clean price, expressed in percentage points, 100 is the initial value of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="accruals" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Accruals, relationship is clean price and accruals equals dirty price, all prices are expressed in percentage points, 100 is the initial value of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="dirtyPrice" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Bond dirty price, expressed in percentage points, 100 is the initial value of the bond. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="relativePrice" type="RelativePrice" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Bond price relative to a Benchmark. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="yieldToMaturity" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Yield to Maturity. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="inflationFactor" type="xsd:decimal" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> The inflation factor is specified for inflation-linked products which require some additional elements to calculate prices correctly. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="interestStartDate" type="AdjustableOrRelativeDate" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Start date for interest calculations. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="pool" type="AssetPool" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> Characterise an asset pool, such as the MBS pool on a collateralised repo. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:group> <xsd:group name="Settlement.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has cash settlement elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="settlementDate" type="AdjustableOrRelativeDate"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Date. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:group ref="SettlementAmountOrCurrency.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> When the exact financial amount to trade is not known, this structure allows participants to state the currency of the transaction. </xsd:documentation> </xsd:annotation> </xsd:group> </xsd:sequence> </xsd:group> <xsd:group name="SettlementAmountOrCurrency.model"> <xsd:choice> <xsd:element name="settlementAmount" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Amount. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="settlementCurrency" type="Currency"> <xsd:annotation> <xsd:documentation xml:lang="en"> Settlement Currency for use where the Settlement Amount cannot be known in advance. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group> <xsd:group name="SettlementTransferIdentifier.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> Group which has settlement transfer identifier elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice> <xsd:element name="id" type="SettlementTransferId" maxOccurs="unbounded"/> <xsd:element name="versionedId" type="VersionedSettlementTransferId" maxOccurs="unbounded"/> </xsd:choice> <xsd:choice minOccurs="0"> <xsd:element name="type" type="SettlementTransferType" maxOccurs="unbounded"/> <xsd:element name="versionedType" type="VersionedSettlementTransferType" maxOccurs="unbounded"/> </xsd:choice> </xsd:sequence> </xsd:group> <xsd:group name="TradeComponentOrIdentifierOrNet.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> Trade or Trade Identifier. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:element name="tradeComponentIdentifier" type="TradeComponentIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identify the trade component which has caused this transfer to occur within a Trade Settlement. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="tradeAndComponentIdentifier" type="TradeAndComponentIdentifier" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identify the trade and component which has caused this transfer to occur within a Settlement Message. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="netTradeIdentifier" type="NetTradeIdentifier"> <xsd:annotation> <xsd:documentation xml:lang="en"> Identify the net trade and original trades which have caused this transfer to occur within a Trade or Settlement Message. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:group> <xsd:group name="UnitContract.model"> <xsd:annotation> <xsd:documentation xml:lang="en"> A group which has unit based trade elements. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="numberOfUnits" type="xsd:decimal"> <xsd:annotation> <xsd:documentation xml:lang="en"> The number of units (index or securities). </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="unitPrice" type="Money"> <xsd:annotation> <xsd:documentation xml:lang="en"> The price of each unit. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:group> </xsd:schema>