in MBO as a provider, do we need to tell which orders are addd/modify or delete? Does the provider need to explicitly tell this info with every order? Or is it upto client';s app to figure these things out?
It is not possible to send an order without explicitly specifying an action - it is a mandatory attribute of the OMM MAP message. I would recommend that you look into an existing MBO feed and see the message structure, and take cues from it.
MapEntry action="Add" key dataType="Buffer" value="3233 3032 3237 3030 3030 3030 3030 3930 23022700000000903835 41 85A" dataType="FieldList" FieldList FieldEntry fid="1021" name="SEQNUM" dataType="Real" value="12590.0" FieldEntry fid="3426" name="ORDER_ID" dataType="Rmtes" value="000000009" FieldEntry fid="3427" name="ORDER_PRC" dataType="Real" value="140.500000" FieldEntry fid="3428" name="ORDER_SIDE" dataType="Enum" value="2" FieldEntry fid="3429" name="ORDER_SIZE" dataType="Real" value="200.0" FieldEntry fid="3435" name="MMID" dataType="Rmtes" value="85" FieldEntry fid="6520" name="PR_TIM_MS" dataType="UInt" value="71769197" FieldEntry fid="6521" name="PR_TIM_MSP" dataType="UInt" value="218" FieldEntry fid="6522" name="PR_DATE" dataType="Date" value="14 DEC 2022" FieldListEndMapEntryEnd
Hi @vishal.anand,
Please clarify your question.
As a provider of MBO data, your application will have to send out every addition, update or delete on every order as the market activity takes place.
Thanks, I found the structure in
https://developers.refinitiv.com/content/dam/devportal/refinitivrealtimeapi_pdfs/ema_cpp_rdm_usage_guide.pdf
What will happen if I send Addition/Update both either just as an update or add?
I think you might be confusing the Update message with the Update action. After sending the initial RefreshMsg, any subsequent message that is sent by your application is an UpdateMsg and it contains the items that changed from refresh.
Now both Refresh and Update message contain a payload which depends on the message domain. For Market Price, this payload is an OMM FieldList, for Market By Order the payload is an OMM Map. The entries of the map contain the individual orders which are affected in that update. Some orders might be new, others might have been updated and yet other might have been removed from the book due to order delete or order match at the top of the book. This should be reflected in the action attribute of the map entry.
Please subscribe to a level 2 instrument to see this in real time. Implementing a MBO publisher is not a trivial task - and you will have to take care of publishing indication flags like clear cache etc.
If you do send an update as an add - the result will be unpredictable by your subscribing app - it may throw an error, or might ignore that update.