in MBO as a provider, do we need to tell which orders are addd/modify or delete?

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?

Tagged:

Best Answer

  • Gurpreet
    Answer ✓

    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"
    FieldListEnd
    MapEntryEnd

Answers

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

  • Yes I understand that but do I have to explicitly tell if the order is add/modify/delete? Or just and ORDER ID with payload will be sufficient?
  • Yes I understand that but with MBO do I need to explicitly provide ADD/MODIFY/DELETE with every order? Or it is upto clients to handle the orders based on order id and identify add/modify/delete?
  • @Gurpreet I understand that as a provider of MBO data, my TREP FH application will have to send out every addition, update or delete on every order.

    What will happen if I send Addition/Update both either just as an update or add?

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


  • thanks
    @Gurpreet for the clarification.