FpML Issues Tracker

310: Multiple Roles by the same account/party breaks notification message types (party cardinality)

February 14, 2007

closed

Crash

Always

Schema

hpegeron

mgratacos

Summary

This was something I raised to the CUG some time ago in preperation for the new B to B messages.

The problem is that for ANY message derived from one of the notification messaging types (novation, payment, trade confirmation, etc.) there is the possibility that one of the parties to the trade will be playing mutiple roles.

If a firm choses to trade with themselves, or play more than one role in an assignment (these scenarios are not that rare) - then the FpML messaging will not support providing only a single party element (and thus a single xsd:id), leaving an "impossible to validate" message.

Example: Party "Acme" through PB, have actually booked a trade with themselves. This may be between different internal "accounts" at Acme - but they still reference themselves on the firm level as "Acme".

In order to build this deal, "Acme" must play both the buyer and the seller of protection. In FpML, specifying both the buyer and seller as "Acme" is not an issue (due to the nature of xsd:idref). However, to support those hrefs, "Acme" would need a single ID. Any more than one would result in invalid XML (due to the nature of xsd:id).

This is a problem, since in order to request the confirmation of that trade - one would need to follow the schema rules for RequestMessage:

This makes it impossible to model a deal where both references are the same since this would mean providing two identical xsd:id's. This happens often, especially at a central service provider, where internal "accounts" are not always visible to system, and entities are more commonly identified at the "firm" level.

This also causes a problem if a firm wants to play 2 or more roles in an assignment, since there is a THREE party requirement for Novation messages. If the Remaining Party and Transferor are the same party (which would be the case in the scenario I described above) this rule in NovationRequestMessage would make it impossible to build the message:

this same paradigm carries over into almost all of the messaging notification models, including TradeCashflowsAsserted, TradeConfirmed, etc.

One plausible solution to this is to change the cardinality in these base types to "one or many". Party/Account references should of course be mandatory - however the assumption that there will always be at least 2 "unique" parties on a contract/trade and at least 3 "unique" parties on an assignment is not a concrete presumption.

Regards, Henri Pegeron ------------------------------------------- The Depository Trust & Clearing Corporation DTCC Deriv/SERV : Business Systems 55 Water Street - New York, NY 10041 Phone: + 1 (212) 855 1682 Fax: + 1 (212) 855 1020

Notes:

  • mgratacos

    03/06/07 2:27 pm

    Henri will provide some examples.

  • apparry

    03/07/07 10:53 am

    JPM would like to see examples ( AJ, AP, MR, HMcA )

    We do not want a party listed twice, in general no data should be duplicated

    Multiple possible targets ( IDREF ) increase the difficulty of processing and should be avoided

  • mgratacos

    03/21/07 9:00 am

    >> We discussed this issue at some length at CC meeting 3/19/07. The issue is that DTCC’s implementation is using the same identifier as the partyId and the party id attribute. If both parties use the same external identifier (as in some cases when one party is acting on behalf of another), this means that both party elements would have the same xml ID value, which is not allowed. Changing this in DTCC’s implementation may be difficult.

    The group felt that the issue has more to do with a specific implementation than a problem with the standard itself, as the standard correctly requires two logical parties, and doesn’t require them to have different external identifiers.

    Action: HP will look at DTCC’s implementation to see how difficult changing this would be, or looking for a workaround. An example solution would be to use different xml id values for the two parties and the same partyId value within the party block. An example workaround would be to add a dummy party block to meet the requirements of the FpML schema. If no solution or workaround can be found, DTCC should request the Standards Committee to make a change due to implementation difficulties.

    Action: Raise an issue to look at FpML examples, consider changing them to eliminate business meaning from attribute values. (Brian Lynn) – Raised as issue #345: http://www.fpml.org/issues/view.php?id=345

    Action: close the issue. We’ll reopen it again if necessary.

  • Leave an update

    You must be logged in to post an update.