Build Number: 3; Document built: Wed 04/23/2014 0:55:41.92
Copyright (c) 1999 - 2014 by International Swaps and Derivatives Association, Inc.
Financial Products Markup Language is subject to the FpML® Public License.
FpML® is a registered trademark of the International Swaps and Derivatives Association, Inc.
A copy of this license is available at http://www.fpml.org/license/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.
1 Business Process Examples
1.1 Introduction
1.2 Credit Event Notice
1.2.1 Example 21 - Credit Event Notice
1.3 Cashflow Matching
1.3.1 Example 28 - Simple Cashflow Assertion
1.3.2 Example 29 - Asset Swap Cashflow Assertion
1.3.3 Example 30 - Interest Rate Cashflow Assertion
1.3.4 Example 31 - Interest Rate Match Result - A
1.3.5 Example 32 - Interest Rate Match Result - B
1.3.6 Example 33 - Interest Rate Match Result - C
1.3.7 Example 34 - Credit Default Cashflow Termination
1.3.8 Example 35 - Credit Default Coupon Payment
1.3.9 Example 36 - Credit Default Cash Flow Assertion
1.3.10 Example 37 - Credit Default Cashflow Match Result - A
1.3.11 Example 38 - Credit Default Cashflow Match Result - B
1.3.12 Example 39 - Credit Default Cashflow Match Result - C
1.3.13 Example 40 - Interest Rate Reset
1.3.14 Example 41 - Interest Rate Equity Reset
1.3.15 Example 42 - Interest Rate Equity Dividend Reset
1.3.16 Example 43 - Equity Swap Cashflow Partial Termination
1.3.17 Example 44 - Equity Swap Cashflow Partial Termination Match Results - A
1.3.18 Example 45 - Equity Swap Cashflow Partial Termination Match Results - B
1.3.19 Example 46 - Equity Swap Cashflow Partial Termination Match Results - C
1.3.20 Example 47 - Compounding Swap Cashflow Assertion
1.3.21 Example 48 - Cashflow Assertion: Initial Principal Exchange of a Cross-Currency Swap
1.3.22 Example 49 - Cashflow Assertion: Equity Option Premium
1.3.23 Example 50 - Cashflow Assertion with Multiple Trades: Equity Option and CDS Premiums
1.3.24 Example 51 - Cashflow Assertion with Multiple Trades: Equity Options Premiums
1.3.25 Example 52 - Cashflow Assertion with Multiple Trades: Equity Option and CDS Premiums
1.3.26 Example 53 - Cashflow Cancellation with Multiple Trades: Equity Option and CDS Premiums
1.3.27 Example 54 - Cashflow Match Result with Multiple Trades: Equity Option and CDS Premiums
1.4 Portfolio Reconciliation
1.4.1 Scenario: Incremental Update
1.4.1.1 Example 57 - Positions Asserted
1.4.1.2 Example 58 - Positions Acknowledged
1.4.1.3 Example 59 - Positions Match Results
1.4.1.4 Example 60 - Positions Asserted
1.4.1.5 Example 61 - Positions Acknowledged
1.4.1.6 Example 62 - Positions Match Results
1.4.1.7 Example 63 - Positions Asserted
1.4.1.8 Example 64 - Positions Acknowledged
1.4.1.9 Example 65 - Positions Match Results
1.4.1.10 Example 66 - Positions Match Results
1.4.1.11 Example 67 - Positions Asserted
1.4.1.12 Example 68 - Positions Acknowledged
1.4.1.13 Example 69 - Positions Match Results
1.4.1.14 Example 70 - Positions Match Results
1.4.1.15 Example 71 - Positions Asserted
1.4.1.16 Example 72 - Portfolio Request
1.4.1.17 Example 73 - Position Report
1.4.1.18 Example 74 - Position Request
1.4.1.19 Example 75 - Position Report
1.4.2 Scenario: Snapshot
1.4.2.1 Example 76 - Positions Asserted
1.4.2.2 Example 77 - Positions Asserted
1.4.2.3 Example 78 - Positions Match Results
1.4.2.4 Example 79 - Positions Match Results
1.4.2.5 Example 80 - Positions Asserted
1.4.2.6 Example 81 - Positions Match Results
1.4.2.7 Example 82 - Positions Match Results
1.4.3 Scenario: Force Matched
1.4.3.1 Example 83 - Positions Asserted
1.4.3.2 Example 84 - Positions Asserted
1.4.3.3 Example 85 - Positions Match Results
1.4.3.4 Example 86 - Positions Match Results
1.4.3.5 Example 87 - Positions Asserted
1.4.3.6 Example 88 - Positions Match Results
1.4.3.7 Example 89 - Positions Match Results
1.5 Securities Reporting Examples
1.5.1 Position Reporting
1.5.2 Security Reporting Example 1 - Activity Report
1.5.3 Security Reporting Example 100 - Position Report
1.5.4 Security Reporting Example 200 - Market Data Report
1.6 Collateral Management Examples
1.6.1 Margin Call Process
1.6.2 Example 1 - Request Margin (MC1)
1.6.3 Example 2 - Request Margin (MC1)
1.6.4 Example 3 - Request Margin (MC1)
1.6.5 Example 4 - Request Margin (MC1)
1.6.6 Example 5 - Request Margin (MC1)
1.6.7 Example 6 - Request Margin (MC1)
1.6.8 Example 7 - Rescind Issued Margin (MC2)
1.6.9 Example 8 - Margin Call Response (MC3b)
1.6.10 Example 9 - Margin Call Response (MC3b) - Fully Agree
1.6.11 Example 10 - Margin Call Response (MC3b) - Fully Agree
1.6.12 Example 11 - Propose Collateral (MC3c)
1.6.13 Example 12 - Rescind Margin Call Response (MC4)
1.6.14 Example 13 - Margin Call Response (MC5) - Fully Dispute
1.6.15 Example 14 - Margin Call Response (MC5) - Fully Dispute
1.6.16 Example 15 - Margin Call Response (MC5) - Partial Dispute
1.6.17 Example 16 - Collateral Proposal Response (MC7 / MC8)
1.6.18 Example 17 - Aknowledge Dispute (MC11)
1.6.19 Collateral Substitution Process
1.6.20 Example 18 - Collateral Substitution Request (CS1)
1.6.21 Example 19 - Collateral Substitution Acceptance/Rejection (CS2/CS5)
1.6.22 Example 20 - Confirm Substitution (CS3)
1.6.23 Example 21 - Confirm Collateral Return (CS4)
1.6.24 Interest Process
1.6.25 Example 22 - Send Interest Notification (IN1)
1.6.26 Example 23 - Send Interest Notification - matching service (IN1)
1.6.27 Example 24 - Send Interest Notification with interest calculations (IN1)
1.6.28 Example 25 - Send Interest Notification (both directions, net treatment) (IN1)
1.6.29 Example 26 - Send Interest Notification (both directions, gross treatment) (IN1)
1.6.30 Example 27 - Matched Acceptance (IN2) / Reject Value Date (IN3) / Dispute Interest (IN5)
1.6.31 Example 28 - Matched Acceptance (IN2) / Reject Value Date (IN3) / Dispute Interest (IN5)
1.6.32 Example 29 - Interest Statement
1.7 Exposure Reporting
1.7.1 Example 101 - Commodity Large Trader Report, Table 1
1.7.2 Example 104 - Commodity Large Trader Report, Table 4
1.7.3 Example 110 - Commodity Large Trader Report, Guidebook Table 1
1.7.4 Example 111 - Commodity Large Trader Report, Guidebook Table 2
1.7.5 Example 130 - Commodity Large Trader Report, Bilateral Basis swap example
1.7.6 Example 131 - Commodity Large Trader Report, Bilateral Index swap example
15 Pricing and Risk Examples
15.1 Use Cases/Examples
15.1.1 Terminology:
15.1.2 Request/Response scenarios:
15.1.2.1 Scenario 1 – Request Trade Value
15.1.2.1.1 Use Case 1 Description
15.1.2.2 Scenario 2 – Request Portfolio Value/Sensitivity
15.1.2.2.1 Use Case 2A Description
15.1.2.2.2 Use Case 2B Description
15.1.2.3 Scenario 3 – Request Sensitivity Generation
15.1.2.3.1 Use Case 3A Description
15.1.2.3.2 Use Case 3B Description
15.1.2.3.3 Use Case 3C Description
15.1.2.4 Scenario 4 – Request New Trade Impact
15.1.2.5 Scenario 5 – Perform Analyses
15.1.2.5.1 Use Case 5A Description
15.1.2.6 Scenario 6 – Request Pricing Inputs
15.1.3 Notification Scenarios
15.1.3.1 Position Report
15.1.3.2 Use Case 7:
15.1.3.3 Use Case 8:
This section contains example FpML documents for several message types related to different business processes. Each demonstrates how different message exchanges are modeled in FpML.
NOTE: The following examples have validation issue due to missing fxSingleLeg model which is in process of being redesigned and be added in the next version - 57, 63, 65-67, 69, 70, 73, 75-89.
File: msg-ex21-credit-event-notice.xml
This example shows the representation of a Credit Event Notice as FpML message. This examples is the same as cdcen-ex01-credit-event-notice-message.xml available in the cd folder.
Please note that some of the samples containing FX products within them are not schema valid. These will be fixed with the introduction of the new FX refactoring work in the next release.
File: msg-ex28-cashflow-assertion-most-simple.xml
This example shows the usage of TradeCashflowsAsserted to describe a simple asserted cashflow. The minimal amount of information is specified: A single payment/currency pair and the buyer/seller party references.
File: msg-ex29-cashflow-assertion-assetSwap.xml
Example of a cashflow assertion related to an asset swap. Features of this example include 3 underlyer references: The fixed rate, the float rate and the bond reference.
File: msg-ex30-cashflow-assertion-ird.xml
Example of a cashflow assertion related to an interest rate swap with vanilla fixed vs. float terms.
File: msg-ex31-cashflow-match-result-ird-01.xml
Example of a payment exposed cashflow match result message related to an interest rate swap with vanilla fixed vs. float terms.
File: msg-ex32-cashflow-match-result-ird-02.xml
Example of a mismatched cashflow match result message related to an interest rate swap with vanilla fixed vs. float terms.
File: msg-ex33-cashflow-match-result-ird-03.xml
Example of an unmatched cashflow match result message related to an interest rate swap with vanilla fixed vs. float terms.
File: msg-ex34-cashflow-assertion-cds-Termination.xml
Example of a cashflow assertion related to the termination of a single name credit default swap. No calculation details are provided to explain how the termination fee has been calculated, as the market practice is to have it agreed on by the respective desks.
File: msg-ex35-cashflow-assertion-cds-Coupon.xml
Example of a cashflow assertion related to a single name credit default swap, with a fee leg reset cahflow.
File: msg-ex36-cashflow-assertion-cds2.xml
Example of a cashflow assertion related to the standard quarterly payment on a single name credit default swap.
File: msg-ex37-cashflow-match-result-cds2-01.xml
Example of a sucessful cashflow match result message related to the standard quarterly payment on a single name credit default swap.
File: msg-ex38-cashflow-match-result-cds2-02.xml
Example of an erroneous cashflow match result message related to the standard quarterly payment on a single name credit default swap.
File: msg-ex39-cashflow-match-result-cds2-03.xml
Example of an unmatched cashflow match result message related to the standard quarterly payment on a single name credit default swap.
File: msg-ex40-cashflow-assertion-eqs-InterestReset.xml
Example of a cashflow assertion related to a single stock equity swap, with a net payment that has only one gross component: an interest reset.
File: msg-ex41-cashflow-assertion-eqs-InterestEquityReset.xml
Example of a cashflow assertion related to a single stock equity swap, with a net payment that has only two gross components: an equity rest and an interest reset.
File: msg-ex42-cashflow-assertion-eqs-InterestEquityDividendReset.xml
Example of a cashflow assertion related to a single stock equity swap, with a net payment that has three gross components: an equity reset, an interest reset and a dividend component.
In the case of the equity reset component of the combined reset, the calculation elements are limited to the number of units. The notional of the trade that has been used as a calculation basis for the accrual, i.e. the number of units (19,000) multiplied by the previous strike price (CAD 7.87).
File: msg-ex43-cashflow-assertion-eqs-PartialTermination.xml
Example of a cashflow assertion related to the partial termination of an equity swap that leads to a cashflow that has an equity, an interest rate and a dividend component. The notional stated here is the notional resulting from the partial termination.
The calculation details sections represent the equity PnL and the funding cost related to thier potioned shares.
As part of these transactions, 6,948 shares were sold at a price of USD 42.6481, generating a cashflow that needs to be broken down across each of the purchased transactions in order to provide an appropriate explanation of the equity and funding PnL.
The approach consisted in having 7 calculation details sections: one for each equity and funding component, and one for the dividend component.
File: msg-ex44-cashflow-match-result-eqs-PartialTermination-01.xml
Example of a cashflow match result message related to an interest rate swap with vanilla fixed vs. float terms.
File: msg-ex45-cashflow-match-result-eqs-PartialTermination-02.xml
Example of a cashflow match result message related to an interest rate swap with vanilla fixed vs. float terms.
File: msg-ex46-cashflow-match-result-eqs-PartialTermination-03.xml
Example of a cashflow match result message related to an interest rate swap with vanilla fixed vs. float terms.
File: msg-ex47-cashflow-assertion-CompoundingSwap.xml
Example of a cashflow assertion related to an interest rate swap with compounding interests on one of the legs. In this example, the fixed leg resets semi-annually.
File: msg-ex48-cashflow-assertion-XCcy-PrincipalExchange.xml
Example of a cashflow assertion related to the initial principal exchange of a cross-currency swap.
File: msg-ex49-cashflow-assertion-EquityOption.xml
Example of a cashflow assertion related to an equity option premium.
File: msg-ex50-cashflow-assertion-multiple-trades-cds.xml
Example of a cashflow assertion related to premiums for an equity option and a single name credit default swap trades.
File: msg-ex51-cashflow-assertion-multiple-trades-equity-option.xml
Example of a cashflow assertion related to premiums for a set of equity option trades.
File: msg-ex52-cashflow-assertion-multiple-trades-multi-currency-cds.xml
Example of a cashflow assertion related to premiums for an equity option and a single name credit default swap trades.
File: msg-ex53-cashflow-cancel-multiple-trades-cds.xml
Example of a cashflow cancellation message.
File: msg-ex54-cashflow-match-result-multiple-trades-cds.xml
Example of a cashflow match result message related to multiple equity option and cds trades.
Examples to show the set of messages for portfolio reconciliation.
Please note that some of the samples containing FX products within them are not schema valid. These will be fixed with the introduction of the new FX refactoring work in the next release.
1. ABC sends a single FX forward position to RECSERV, for new portfolio "fundPortfolio1".
2. RECSERV acknowledges the position.
3. RECSERV reports that the position is Unmatched, as there is no corresponding position from the other side.
4. ABC sends a second position, a FRA, to RECSERV, for the same portfolio, and says that submissions are complete.
5. RECSERV acknowledges the position
6. RECSERV reports that the position is Unmatched, as there is no corresponding position from the other side.
7. HEDGECO sends a single FX forward position to RECSERV, for new portfolio (from its point of view) "fundPortfolio1", and says that submissions are complete.
8. RECSERV acknowledges the position
9. RECSERV reports that the FX position is Mismatched and the FRA position is Unmatched to ABC, and identifies a proposed match and differences for the FX position.
10. RECSERV reports that the FX position is Mismatched to HEDGECO, and identifies the proposed match and differences. It also reports that the FRA position is Alleged.
11. ABC corrects the FX forward position to match that of HEDGECO, and removes the FRA.
12. RECSERV acknowledges the updates to ABC.
13. RECSERV notifies ABC of the updated matching status.
14. RECSERV notifies HEDGECO of the updated matching status.
15. ABC reports a new valuation for the FX forward position on the next day.
16. ABC requests a portfolio listing
17. RECSERV reports fundPortfolio1 for 2006-04-26, which has 1 FX position.
18. ABC requests a position report with a listing of FX Spot/Forward involving GBP.
19. RECSERV reports GPB FX Spot/Forwards for 2006-04-26, which has 1 FX position.
1. HEDGECO sends a snapshot of positions (3), including a single FX forward position, FRA, and bullet Payment to RECSERV, for new portfolio "fundPortfolio33".
2. ABC sends a snapshot of positions (2), including a single FX forward position and a FRA to RECSERV, for a new portfolio "Portfolio99".
3. RECSERV sends matching results to HEDGECO stating that the FX forward position is matched, the FRA position is mismatched (identifying a potential match and differences), and the bullet payment position is unmatched (or pending unmatched) since the other side hasn't submitted this position yet.
4. RECSERV sends matching results to ABC stating that the FX forward position is matched, the FRA position is mismatched (identifying a potential match and differences), and that there is an alleged bullet payment position from HEDGECO.
5. ABC sends an updated snapshot of positions (3), including a single FX forward position, FRA, and bullet payment to RECSERV, for an existing portfolio "Portfolio99".
6. RECSERV sends matching results to HEDGECO stating that all positions are matched.
7. RECSERV sends matching results to ABC stating that all positions are matched.
1. HEDGECO sends a snapshot of positions (2), including a single FX forward position and FRA to RECSERV, for new portfolio "fundPortfolio33".
2. ABC sends a snapshot of positions (2), including a single FX forward position and a FRA to RECSERV, for a new portfolio "Portfolio99".
3. RECSERV sends matching results to HEDGECO stating that the FX forward position is matched, the FRA position is mismatched (identifying a potential match and differences).
4. RECSERV sends matching results to ABC stating that the FX forward position is matched, the FRA position is mismatched (identifying a potential match and differences).
5. ABC sends the same snapshot of positions (2), including a single FX forward position and a FRA for an existing portfolio "Portfolio99". However, it indicates that the FRA position is a "force" match.
6. RECSERV sends matching results to HEDGECO stating that the FX forward is matched, the FRA is "force" matched.
7. RECSERV sends matching results to ABC stating that the FX forward is matched, the FRA is "force" matched.
This section contains examples of FpML messages reporting related to securities .
This shows an example of reporting on the occurrence of securities trades.
This shows an example of reporting on securities positions resulting from trading.
This section contains examples of FpML messages for Collateral Margin Call Process. Each example illustrates a different part of the process.
The sample xml documents are available for download from the fpml.org website.
File: col-ex03-MC1-request-margin-net-IM-antic-demand-2m-threshold.xml
File: col-ex09-MC3b-margin-call-response-deliver-fully-agree.xml
File: col-ex10-MC3b-margin-call-response-deliver-fully-agree-isda.xml
File: col-ex14-MC5-margin-call-response-deliver-dispute-isda.xml
File: col-ex15-MC6-margin-call-response-deliver-partially-agree.xml
This section contains examples of FpML messages for Collateral Substitution Process. Each example illustrates a different part of the process.
This section contains examples of FpML messages for Interest Process. Each example illustrates a different part of the process.
File: col-ex23-IN1-send-interest-notification-matching-service.xml
File: col-ex24-IN1-send-interest-notification-with-interest-calculations.xml
File: col-ex25-IN1-send-interest-notification-both-directions-net.xml
File: col-ex26-IN1-send-interest-notification-both-directions-gross.xml
File: exp-ex101-phys-commod-large-trader-report-table1.xml
This example shows a CFTC Part 20 large trader report corresponding to Table 1 of the final regulation. See the example for more details.
File: exp-ex104-phys-commod-large-trader-report-table4.xml
This example shows a CFTC Part 20 large trader report corresponding to Table 4 of the final regulation. See the example for more details.
File: exp-ex110-guidebook-to-Part-20-Reports-table1-SD1.xml
This example shows a CFTC Part 20 large trader report corresponding to Table 1 of the Guidebook. See the example for more details.
File: exp-ex111-guidebook-to-Part-20-Reports-table1-SD1.xml
This example shows a CFTC Part 20 large trader report corresponding to Table 2 of the Guidebook. See the example for more details.
File: exp-ex130-phys-commod-part20-bilateral-basis-swap.xml
This example shows a CFTC Part 20 large trader report for a basis swap. See the example for more details.
File: exp-ex131-phys-commod-part20-bilateral-index-swap.xml
This example shows a CFTC Part 20 large trader report for a index swap. See the example for more details.
This section identifies scenarios intended to be supported by this specification:
In these scenarios one party to a deal requests a report from either a counterparty, third party service, or another application or department within the same firm.
A client wants to request a price quote for a proposed trade from a provider (or set of providers). The provider might be anonymous to the client. Typically the provider would be some sort of dealer. The client may be another dealer or an electronic trading service.
Client submits a request, including:
Provider returns a basic valuation report, including:
A buy-side client wants to request a valuation from a dealer for a deal or portfolio of deals that it has done with that dealer. This request may be also be all deals of a specific type (IR Swaps, CD Swaps, Equity Swaps, FX options, etc.)
Variations on Scenario 2:
Client submits a request, including:
Provider returns a basic valuation report, including:
Client submits a request, including:
Provider returns a basic valuation report, including:
A relatively sophisticated client wants to calculate risk sensitivities and/or scenario valuations for a portfolio of deals that it can price, but either doesn’t have the tools or the compute power for sensitivity or scenario calculation.
Provider doesn’t need to provide market data back
Variations on Scenario 3:
Client submits a request, including:
Provider returns a detailed valuation report, including:
Client submits a request, including:
Provider returns a detailed valuation report, including:
Client submits a request, including:
Provider returns a detailed valuation report, including:
A buy-side client wants to understand the impact on valuation and risk exposure that a proposed deal would have on an existing portfolio. The provider may be the dealer that is proposing the trade.
This use case is implemented by the client requesting the result twice. The first request includes the original portfolio only, and the second includes the new trade.The requesting party should combine the two results.
For all additive valuations and risk measures, the second call can include only the new trade. For results which are not additive, e g value at risk, the second request includes also the original portfolio.
A trader or marketer oriented spreadsheet client wants to value and calculate risk for a trade or set of trades. The valuation provider is an internal valuation service.
Client submits a request, including:
Service returns a detailed valuation report, including:
The use cases in this scenario are out of scope for this working draft, but are expected to be covered in an upcoming draft. This means that there is no schema support for these requests and responses, and there are no examples provided. The use case descriptions are provided as an indication of the functionality that is intended to be supported in the future.
A party is requesting a curve of a specific type (IR, Credit, Asset, etc.) Most likely this would be an internal request between applications within the same firm.
Client submits a market input request, including:
Service returns a market environment, including:
In these scenarios a party, service or internal system sends out reports without being first solicited to do so. Parameters that should be agreed upon between the sending and receiving parties should include: counterparty, deal types, when the report is sent, supporting information such as FX rates, risk sensitivities, etc.. Parties should also agree what, if any acknowledgement of receipt should be sent by the receiving party.
Supports the DSWG Position Report representation:
Supports payments at the position level:
An internal middle or back office system needs a feed of valuation (and perhaps risk sensitivities) from a variety of systems, in the form of valuation reports.
A service or broker may provide a feed of valuation (and perhaps risk sensitivities) to their clients on a regularly scheduled basis.