Presentation is loading. Please wait.

Presentation is loading. Please wait.

ISDA FpML 5.0 Overview Andrew Jacobs (UBS)

Similar presentations


Presentation on theme: "ISDA FpML 5.0 Overview Andrew Jacobs (UBS)"— Presentation transcript:

1 ISDA FpML 5.0 Overview Andrew Jacobs (UBS)
Brian Lynn (Global Electronic Markets) Marc Gratacos (ISDA) ® ISDA is a registered trademark of the International Swaps & Derivatives Association, Inc. ® FpML is a registered trademark of the International Swaps & Derivatives Association, Inc.

2 Agenda FpML 5.0 Highlights Messaging Framework Demo Questions

3 ISDA FpML 5.0 Highlights

4 Agenda Unit Objectives Major vs. Minor Releases
Architectural Changes in 5.0 Multiple Root Elements Views Accounts and Roles Recap

5 Major vs. Minor Releases
Minor versions can add new functionality but are limited Instance documents must be backward compatible No deletions/changes to existing elements Legal technical/architectural changes are limited Major versions can Introduce more significant technical/architectural changes Redesign existing product representations Version 5.0 introduces technical and design changes that have been deferred for compatibility reasons

6 Architectural Changes in 5.0
Implemented architectural changes Multiple Root Elements Introduction of “Views”: confirmation and reporting Messaging correlation [covered in Messaging] Generic Business Processes [covered in Messaging] Separation of parties and accounts Better support for roles

7 Multiple Root Elements
FpML v 1-4.x use “<FpML>” as the root of all documents FpML 4.x uses “xsi:type” to distinguish between message types, e.g. <FpML version=“4-7” xsi:type=“RequestTradeConfirmation” … > FpML 5.x uses different element names to distinguish between message types (no <FpML> root any more) Changes “version” to “fpmlVersion” to make it easier to determine where the FpML starts, e.g. <requestConfirmation fpmlVersion=“5-0” … >

8 Rationale for Multiple Roots
Easier to understand than xsi:type Certain tools (e.g. binding frameworks, some editors) have problems with xsi:type

9 Objective of views Existing FpML has a single representation for each product (some products have short form and long form) FpML product representation is primarily designed for confirmation Many details, precise description It may be difficult to use FpML when not all detail is known/needed, e.g. Pretrade: structuring, negotiation Summary reporting Making most/all elements optional would make confirmation too loose Views are intended to provide multiple product representations, from very loose to very tight

10 Views in 5.0 FpML 5.0 currently supports 2 views Reporting
Very flexible product representation (almost everything is optional) Everything in confirmation view is available (but optional) Confirmation As current 4.x product representation

11 Implementation of Views
FpML maintains a single master schema Master schema contains annotations with view-specific details, “make this optional in view X” “put this only in view Y” FpML publishes separate view-specific schemas, one per view Each view is generated from the master prior to publication Each view has documentation and examples Each view-specific schema will have its own namespace, e.g., End users will use a view-specific schema, not the master

12 Views - Impact FpML users must decide which view (schema) to use for a given application/system Business processes are generally contained in a single view Some messages may be available in several views (e.g. “MessageRejected”) Once the view is selected, instance documents should be closely compatible with previous FpML versions Choosing a looser view (e.g. reporting) allows more flexibility about what data must be included in an instance document, but with less validation

13 Views - Impact Extensions will be impacted by the views
Extensions will need to import the appropriate views (e.g. <xsd:import namespace=“ …> Extensions applicable to multiple views will need to be duplicated

14 Accounts and Roles 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 to support roles Account references have been added to allow party references to be narrowed down 14

15 Other Changes Product Representation Messaging Framework
Adjusted dates Booleans in CDS Product refactoring Messaging Framework Covered in the next presentation 15

16 Recap of Key Points What are the main changes in 5.0?
Multiple root elements, views, accounts, and roles What is the impact of such changes? Business process selection, extensions are affected

17 FpML Messaging ® ISDA is a registered trademark of the International Swaps & Derivatives Association, Inc. ® FpML is a registered trademark of the International Swaps & Derivatives Association, Inc.

18 Agenda Unit Objectives FpML messaging purpose FpML message types
Version 5 Messaging Features Business process categories Confirmation View Reporting Recap

19 Objectives - Questions to Answer
What is FpML messaging for? What types of messages are there? What are the differences in messaging between 4.x and 5.x? What business processes does it support each view? The questions we will answer with this section.

20 FpML Messaging Purpose
Define a protocol for communicating between firms to implement a business process Allow a recipient of an FpML document to understand how to process it. So, Why FpML messaging? If banks use different protocols for communicating FpML documents, this represents high costs implementing interfaces between these protocols. The same argument applies to business processes. If banks use different business process implementations, this represents high interoperability costs between them. The messaging framework provides context on how to process the document.

21 FpML Message Types 4.x 5.x Message Message Request Message
Response Message Notification Message 5.x Message Request Message Correctable Request Message Non Correctable Request Message Response Message Notification Message Currently, the following types are modeled in FpML: A general message structure A request message type A response message type And a notification message type

22 Message Header 4.x Provides message and context identifiers
Identifies sender and recipients Records timing information Provides additional party information Provides assurance of sender The message header contains the following elements… Context identifiers Information abut the sender and the recipient Timing information Digital signature

23 Message Header 5.x Same as 4.x except there is no conversationId element

24 Messaging Framework Principles
4.x 5.x Observable completion Partial Yes Consistent message correlation Undefined Consistent error reporting No Consistent correction and retraction Consistent processes across trades and post-trade events 24

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

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

27 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 27

28 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 28

29 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. 29

30 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. 30

31 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 31

32 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 32

33 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 33

34 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 34

35 Events Current list of events available within the generic business processes

36 Browsing the FpML 5.0 Confirmation View
Demo FpML.org Login to development area (free account) “Specification” tab ( Documentation Browse online HTML version or download complete zip Section 3 shows “Business Process Architecture” Schemas and samples Download schema and examples (confirmation_xml.zip) from: See confirmation messages in fpml-confirmation-processes-5-0.xsd XML examples are in subfolders inside zip 36

37 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) 37

38 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. 38

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

40 Reporting View - Approach
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 40

41 Browsing the FpML 5.0 Reporting View
Demo FpML.org Login to development area (free account) “Specification” tab ( Documentation Browse online HTML version or download complete zip Section 3.4 shows “Reporting Business Processes” Schemas and samples Download schema and examples (reporting_xml.zip) from: See reporting messages in fpml-reporting-5-0.xsd Reporting XML examples are in subfolders inside zip 41

42 Example of new approach
42

43 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> 43 43

44 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> 44

45 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 45

46 Existing reports (available in 4.x and 5.0)
Valuation (pricing and risk) Cash flow matching Portfolio reconciliation Position reporting 46

47 New reports (only available in 5.0)
Position 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 47

48 Recap of Key Points What is FpML messaging for?
Define protocol for business processes What types of messages are there? Request, Response, Notification, CorrectableRequest, etc. What business processes does it support? Confirmation view: execution, execution advice, confirmation, etc. Reporting view: Valuation, Cash flow matching, etc.

49 Questions? Resources: www.FpML.org
Download the FpML specification and drafts Participate to the development of the standard and join FpML Working Groups Post questions on the FpML Forum Questions, feedback:


Download ppt "ISDA FpML 5.0 Overview Andrew Jacobs (UBS)"

Similar presentations


Ads by Google