Presentation is loading. Please wait.

Presentation is loading. Please wait.

FpML Version 5, Working Draft 4 ISDA FpML Update

Similar presentations


Presentation on theme: "FpML Version 5, Working Draft 4 ISDA FpML Update"— Presentation transcript:

1 FpML Version 5, Working Draft 4 ISDA FpML Update
Brian Lynn Global Electronic Markets Marc Gratacos FpML Consultant International Swaps and Derivatives Association, Inc. (ISDA)

2 Agenda Overview Reporting View Messaging Framework Other changes
Next Steps

3 Overview There are 2 major changes in WD#4 Revamped reporting view
New approach New fields New reports New messaging framework New message correlation mechanism Generic business processes

4 Reporting View Approach Example of new approach New fields New reports

5 Reporting View - Approach
From WD#4, all elements are optional, except for a very small number of exceptions This is ensured using a schema generation script The list of fields required for a specific report will be specified using validation rules List of expected field names and Xpaths If a field is missing, this won’t be a schema error – it will be a business rule validation error

6 Example of new approach
<positionReport xmlns=" xmlns:xsi=" fpmlVersion="5-0" xsi:schemaLocation=" ../fpml-main-5-0.xsd"> <header> <!-- optional, can be used if desired --> <messageId messageIdScheme=" <sentBy>ABCDUS33</sentBy> <sendTo>HEDGUS33</sendTo> <creationTimestamp> T15:38:00Z</creationTimestamp> </header> <asOfDate> Z</asOfDate> <dataSetName>Copper</dataSetName> <position> <!-- position details go here - see next page --> </position> <party id="party1"> <partyName>ABCD Securities Inc.</partyName> </party> <party id="party2"> <partyId>HEGDUS33</partyId> <partyName>HedgeCo Capital L.L.C.</partyName> </positionReport>

7 Example - position description
<position> <positionId positionIdScheme=" <constituent> <trade> <tradeHeader> <tradeDate> Z</tradeDate> </tradeHeader> <creditDefaultSwap> <productType productTypeScheme=" <assetClass assetClassScheme=" <generalTerms> <buyerPartyReference href="party1"/> <sellerPartyReference href="party2"/> </generalTerms> <protectionTerms> <calculationAmount> <currency>EUR</currency> <amount>10000</amount> </calculationAmount> </protectionTerms> </creditDefaultSwap> </trade> </constituent> </position>

8 Some of the new fields added for reporting include:
Report level Report contents - more detail about what the report contains (party, accounts, products, etc.) Position level Status and history information Product level Asset class

9 Existing reports Valuation (pricing and risk) Cash flow matching Portfolio reconciliation Position reporting

10 New reports Position Activity Report Event Activity Report
Reports on changes to position over a time period (new, modified, removed) Event Activity Report Reports on events (new trades and post trade events) over a time period Reset report Reports on index settings and the affected positions Entity/Party report (work in progress) Reports on static reference data for parties.

11 Messaging Framework Principles General pattern of messages
Naming Convention Message Correlation Correction/Retraction Acknowledgements and Exception On-behalf of Generic business processes Other changes

12 Messaging Framework Principles
Observable completion Consistent message correlation Consistent error reporting Consistent correction and retraction Consistent processes across trades and post-trade events

13 General Pattern of Messages
Each business process follows this message pattern: Process initiation message (request or notification) Acknowledgement Exception Retraction Optionally, response/status messages

14 The general naming convention is as follows:
Naming Conventions The general naming convention is as follows: requestXXX xxxAcknowledgement xxxException requestXXXRetracted xxx[Status] or xxx[Response] XXX is the name of the business process

15 Message Correlation and Sequencing
Successive messages are “correlated” (linked together) using a new, explicit “correlationId” Correlation ID is assigned by the initiator Correlation ID is intended to be a business/application level element, not transport level Corrections or cancellations use the correlation ID to refer to the previous request/notification Responses use the correlation ID to link to the request. Sequence numbers may be used to establish message order

16 Correction/Retraction
The initial request and any corrections use the same message There is a boolean correction indicator to indicate whether the message corrects a previous one Retractions are a separate message (may have less detail than the original request) Corrections and retractions are linked to original request using correlationId

17 Acknowledgements and Exceptions
All initiating messages have corresponding (named) acknowledgement and exception messages Most of these use generic “Acknowledgement” and “Exception” types In some case these may be extended to hold process specific information.

18 On-behalf Of Added to each message the ability to specify on-behalf-of whom the message was sent Party Account Allows recipient to interpret messages more easily when sender can send messages on behalf of multiple parties/accounts E.g. when sender is a central service provider, platform, prime broker.

19 Generic business processes
Most FpML 5 business processes are “generic” process that can apply to new trades and/or any post-trade events This means that the message name indicates the business process (e.g. confirmation, execution notification) but not the type of event (e.g. trade, amendment) Payload of the message indicates the type of the event

20 Generic processes - example
Request confirmation Could be of a trade, or of an amendment Acknowledgements and exceptions Refer to the previous request, irrespective of the event type Confirmation status message Can report status, differences on trades or any other type of post-trade event

21 Generic processes supported
Pre-trade (currently out of scope, but some modeling has been done) Quotation Ordering Post-trade (confirmation view) Execution notification (for platforms to report order fills) Execution advice (to report executions and settlement info to service providers) Allocation (expanded for version 5) Confirmation Consent negotiation Clearing (new for version 5) Status reporting

22 Example message <requestConsent xmlns=" xmlns:xsi=" fpmlVersion="5-0" xsi:schemaLocation=" ../../fpml-main-5-0.xsd"> <header> <messageId messageIdScheme=" <sentBy>IM01</sentBy> <sendTo>DLR01</sendTo> <creationTimestamp> T15:38:00-04:00</creationTimestamp> </header> <isCorrection>false</isCorrection> <correlationId correlationIdScheme=" <sequenceNumber>1</sequenceNumber> <novation> <!-- novation details here --> </novation> <party id="party1"> <partyId>IM01</partyId> </party> <party id="party2"> <partyId>DLR01</partyId> <party id="party3"> <partyId>DLR02</partyId> </requestConsent> Could be replaced with a trade or other post-trade event, e.g. amendment or termination

23 Sample Process Consent Negotiation
Requestor asks for ok; recipient can grant or refuse request

24 Generic processes - benefits
Improved consistency across post-trade events Easier to ensure all necessary messages are present Reduces the number of messages required to provided full coverage (not everyone agrees that this is a benefit)

25 Generic processes - drawbacks
Need to look inside messages to see what type of payload is inside May make it slightly harder to route/report on messages by event type.

26 Other changes Accounts have been moved out of party
Now can reference either servicingParty, accountBeneficiary, or both TradeSide has been removed A new, more flexible “relatedParty” structure has been added to partyTradeInformation Account references have been added to allow party references to be narrowed down

27 Other changes (continued)
Contract Notification messages have been replaced with executionAdvice A few changes have been made to shared components Adjustable Date representation has been tweaked to allow adjusted dates in more places

28 Example of account usage
<executionAdvice xmlns=" xmlns:xsi=" fpmlVersion="5-0" xsi:schemaLocation=" ../../fpml-main-5-0.xsd"> <header> <messageId messageIdScheme=" <sentBy>OperationsOutsourcer</sentBy> <sendTo>Custodian</sendTo> <creationTimestamp> T15:38:00-04:00</creationTimestamp> </header> <isCorrection>false</isCorrection> <correlationId correlationIdScheme=" <sequenceNumber>1</sequenceNumber> <onBehalfOf> <partyReference href=“party1”/> <accouontReference href=“acct1”/> </onBehalfOf> <trade> <!-- trade details here --> </trade> <party id="party1"> <partyId>IM01</partyId> </party> <party id="party2"> <partyId>DLR01</partyId> <party id=“svc_provider"> <partyId>OPS01</partyId> <account id=“acct1"> <acctId>123</acctId> <accountBeneficiary href=“party1”/> <servicingParty href=“svc_provider” </account> </executionAdvice> Ops Outsourcer is sending the message on behalf of IM01 Account 123 is serviced by ops outsource for IM01

29 Next Steps LCWD in early 2010 Feedback from industry is requested
MTF is likely to be turned into a public working group on business processes


Download ppt "FpML Version 5, Working Draft 4 ISDA FpML Update"

Similar presentations


Ads by Google