How to combine UpdtMessage in the Real Time Optimized to get complete Bid and Ask record ?

In Real Time Optimized if latest Update Message has Only Bid and Quote Time NS then in order to create complete record of Bid and Ask for the Ric do we use the Ask from previous quote message , but in this case which time we can use from prev updtMessage /latetst updtMessage.

Best Answer

  • Gurpreet
    Answer ✓

    Hi @devs@bestx,

    Your thinking is correct. The real time service sends a full Refresh message first, followed by the Updates. The refresh message is a complete snapshot upto that point in time. Every subsequent update message is a delta - i.e. only contains the fields which have changed since the previous update.

    So, in your example the price and time for ASK from previous update should be used.

Answers

  • Can we use latest time , as we are showing latest bid and Ask time for the ric in following example of update message similarly it goes for other fields too

    if only Ask has changed from 172.60 -> 172.56

    RIC|QuoteTime|Bid|Ask

    1AAPLm.BCO|12:10:22:820:033:000|172.44|172.60

    1AAPLm.BCO|12:10:47:110:622:000|172.44|172.56





  • Yes, that should be acceptable.
  • Just want to verify I think we cannot use previous time for ASK , as we are representing the bid and ask for the latest time so what should be the behavior here for e.g. below makes sense


    SYMBOL|QUOTETIME|BID|ASK

    1AAPLm.BCO|12:10:22:820:033:000|172.44|172.60

    1AAPLm.BCO|12:10:47:110:622:000|172.44|172.56



    UpdateMsg

    streamId="55"

    domain="MarketPrice Domain"

    updateTypeNum="10"

    name="/1AAPLm.BCO"

    serviceId="257"

    serviceName="ELEKTRON_DD"

    Payload dataType="FieldList"

    FieldList

    FieldEntry fid="22" name="BID" dataType="Real" value="172.4400"

    FieldEntry fid="25" name="ASK" dataType="Real" value="172.6000"

    FieldEntry fid="30" name="BIDSIZE" dataType="Real" value="7.0"

    FieldEntry fid="31" name="ASKSIZE" dataType="Real" value="7.0"

    FieldEntry fid="293" name="BID_MMID1" dataType="Rmtes" value="JNSI"

    FieldEntry fid="296" name="ASK_MMID1" dataType="Rmtes" value="JNSI"

    FieldEntry fid="3386" name="QUOTE_DATE" dataType="Date" value="14 MAY 2024"

    FieldEntry fid="11993" name="SINT_IND" dataType="Rmtes" value="SINT"

    FieldEntry fid="14263" name="ASK_TIM_NS" dataType="Time" value="12:10:22:820:033:000"

    FieldEntry fid="14264" name="BID_TIM_NS" dataType="Time" value="12:10:22:728:326:000"

    FieldEntry fid="14265" name="QUOTIM_NS" dataType="Time" value="12:10:22:820:033:000"

    FieldEntry fid="14269" name="TIMACT_NS" dataType="Time" value="12:10:22:820:033:000"

    FieldEntry fid="14281" name="INGEST_NS" dataType="Time" value="12:10:22:820:033:000"

    FieldListEnd

    PayloadEnd

    UpdateMsgEnd



    UpdateMsg

    streamId="55"

    domain="MarketPrice Domain"

    updateTypeNum="10"

    name="/1AAPLm.BCO"

    serviceId="257"

    serviceName="ELEKTRON_DD"

    Payload dataType="FieldList"

    FieldList

    FieldEntry fid="25" name="ASK" dataType="Real" value="172.5600"

    FieldEntry fid="31" name="ASKSIZE" dataType="Real" value="7.0"

    FieldEntry fid="296" name="ASK_MMID1" dataType="Rmtes" value="JNSI"

    FieldEntry fid="3386" name="QUOTE_DATE" dataType="Date" value="14 MAY 2024"

    FieldEntry fid="11993" name="SINT_IND" dataType="Rmtes" value="SINT"

    FieldEntry fid="14263" name="ASK_TIM_NS" dataType="Time" value="12:10:47:110:622:000"

    FieldEntry fid="14265" name="QUOTIM_NS" dataType="Time" value="12:10:47:110:622:000"

    FieldEntry fid="14269" name="TIMACT_NS" dataType="Time" value="12:10:47:110:622:000"

    FieldEntry fid="14281" name="INGEST_NS" dataType="Time" value="12:10:47:110:622:000"

    FieldListEnd

    PayloadEnd

    UpdateMsgEnd

  • Hi @devs@bestx,

    Conceptually there is no latest time for both Bid and Ask. These update messages are generated by listing venue, when the top of the Buy or Sell side of orderbook updates due to market activity. Each order can update without affecting other side - which is why the update message contains separate fields for BID time and Ask time.

    What time an application should display for the quote, depends on the application use case and is up to the user to choose. For most generic applications, using the QUOTIM is sufficient.