EDM/IDM
When trading on-MTF EDM/IDM values must be populated in the outbound quotes and any resultant ExecutionReport messages.
These details are required on-MTF only - if OFF-venue, or on-SEF then any provided values will be ignored (as they will not be mapped through to the venue message by MarketFactory).
There can only be one EDM, one IDM. The two may be the same, but there cannot be multiple of each. The EDM and IDM values provided must be previously registered by the market participant and are used to unambiguously identify the one person considered to have primary responsibility for the transaction in each capacity.
EDM and IDM lengths, formats, allowed character sets etc are dictated by the individual venues, the values you pass across need to be the exact values previously registered (e.g. on GLIMS for CNX).
For on-MTF requests here is a summary of the various Venue's behaviour:
Quote
- FXall - doesn't use this information, so there are no mappings and you could do what you wanted without any difference in behaviour.
- Currenex_RFS - if you omit or provide erroneous information, you will find that your quotes are simply dropped silently and do not make it through to the client GUI.
- 360T_TEX - Even with missing or erroneous information, the quote will be published. However if the client attempts to trade, 360T will reject the request. No message is sent back to the Maker at this stage, so from your perspective it just looks as if every RFS times out.
- Bloomberg - Mandatory for MTF, if you omit or provide erroneous values, the quote request will be terminated. So far, only Bloomberg will actually return a meaningful error, here is an example of what we receive:
8=FIX.4.4|9=0302|35=b|49=BLP|56=MFMA_RFS|34=7|52=20191002-10:12:00|300=8|301=0|131=BLP.RFQ.800254719_MFTA|117=S1570011120.46998|297=5|58=Failed to convert to GPI, ShortCode=Dmitry_xxx DealCode=MFMA roletype=makerExecId DEAL_CODE: MFMA FIX_SESSION: MFMA_RFSQuoteReqId=BLP.RFQ.800254719_MFTA quoteId=S1570011120.46998 |10=202|
(Dmitry_002 was the correct EDM value in this case). We will convert this rejection into a QuoteResponse and forward the error message as-is.
ExecutionReport
- Bloomberg - Mandatory for MTF, if you omit or provide erroneous values, your ExecutionReport will be ignored by Bloomberg: no error is reported, and no ExecutionAck is sent by the venue.
Reconcile ExecutionAcks!
When sending deal notifications to Bloomberg, it is essential that Maker Clients take care to reconcile the subsequent ExecutionAck mesage against their original ExecutionReport. If no ack is received after a few seconds, the likely cause was an error in the population of regulatory fields, which will require manual corrective action.