what is the right way of filtering LSEG events ?
I have this piece of code( see below ), I am not sure it provides the right way of filtering ask and bid price events. please advise:
MarketDataItemEvent.MarketDataMessageType msgType = event.getMarketDataMsgType();
if (msgType == MarketDataItemEvent.IMAGE
|| msgType == MarketDataItemEvent.UNSOLICITED_IMAGE
|| msgType == MarketDataItemEvent.UPDATE
|| msgType == MarketDataItemEvent.CORRECTION
|| msgType == MarketDataItemEvent.CLOSING_RUN) {
PROCESS_THE_MESSAGE
} else if (msgType == MarketDataItemEvent.STATUS) {
LOG_THE_MESSAGE
} else {
DISCARD_SILENTLY
}
Answers
-
Hello @Mustapha
Your pseudo-logic seems correct. I would also log the discarded messages, even though there should be none.
If you are specifically asking about filtering the BID/ASK messages in the real time feed, then please use the view feature build into the SDK. See this example here.
0 -
I apologize, I had linked you to the recent EMA API.
You seem to be using the legacy RFA API with the now deprecated SSL interface. Can you also confirm your exact API and version? The support for RFA with SSL interface has ended, and we would have to advise you to migrate to one of the newer SDKs.
0 -
According to the code, you are using the legacy MarketData interface.
As far as I know, the legacy MarketData doesn't support the Update Types which can be used to identify trade or quote update messages.
The update types are introduced in the OMM interface supported in Real-Time SDKs. If the data feed provides this information, you can check that if an update message is a quote or trade update type. For example:
UpdateMsg
streamId="5"
domain="MarketPrice Domain"
updateTypeNum="1"
seqNum="47248"
name="PTT.BK"
serviceId="5001"
serviceName="ELEKTRON_DD"
Payload dataType="FieldList"
FieldList
FieldEntry fid="5" name="TIMACT" dataType="Time" value="03:23:31:000:000:000"
FieldEntry fid="22" name="BID" dataType="Real" value="30.75"
FieldEntry fid="30" name="BIDSIZE" dataType="Real" value="12256000"
FieldEntry fid="436" name="BEST_BID1" dataType="Real" value="30.75"
FieldEntry fid="730" name="BEST_BSIZ1" dataType="Real" value="12256000"
FieldEntry fid="3855" name="QUOTIM_MS" dataType="UInt" value="12211473"
FieldEntry fid="14265" name="QUOTIM_NS" dataType="Time" value="03:23:31:473:440:659"
FieldEntry fid="14281" name="INGEST_NS" dataType="Time" value="03:23:31:488:477:350"
FieldListEnd
PayloadEnd
UpdateMsgEnd UpdateMsg
streamId="5"
domain="MarketPrice Domain"
updateTypeNum="1"
seqNum="47984"
name="PTT.BK"
serviceId="5001"
serviceName="ELEKTRON_DD"
Payload dataType="FieldList"
FieldList
FieldEntry fid="5" name="TIMACT" dataType="Time" value="03:25:19:000:000:000"
FieldEntry fid="25" name="ASK" dataType="Real" value="31.00"
FieldEntry fid="31" name="ASKSIZE" dataType="Real" value="7159300"
FieldEntry fid="441" name="BEST_ASK1" dataType="Real" value="31.00"
FieldEntry fid="735" name="BEST_ASIZ1" dataType="Real" value="7159300"
FieldEntry fid="3855" name="QUOTIM_MS" dataType="UInt" value="12319656"
FieldEntry fid="14265" name="QUOTIM_NS" dataType="Time" value="03:25:19:656:352:930"
FieldEntry fid="14281" name="INGEST_NS" dataType="Time" value="03:25:19:672:321:289"
FieldListEnd
PayloadEnd
UpdateMsgEnd UpdateMsg
streamId="5"
domain="MarketPrice Domain"
updateTypeNum="2"
DoNotConflate
seqNum="48222"
name="PTT.BK"
serviceId="5001"
serviceName="ELEKTRON_DD"
Payload dataType="FieldList"
FieldList
FieldEntry fid="5" name="TIMACT" dataType="Time" value="03:25:34:000:000:000"
FieldEntry fid="6" name="TRDPRC_1" dataType="Real" value="30.75"
FieldEntry fid="11" name="NETCHNG_1" dataType="Real" value="-0.50"
FieldEntry fid="14" name="PRCTCK_1" dataType="Enum" value="2"
FieldEntry fid="18" name="TRDTIM_1" dataType="Time" value="03:25:34:000:000:000"- The updateTypeNum="1" indicates that this message is a quote update type which contains BID or ASK.
- The updateTypeNum="2" indicates that this message is a trade update type which contains TRDPRC_1.
0 -
Thanks @Jirapongse for the response .
FYI , we are upgrading to the least API ( 3.8.3.0 )
My question is : are there other values of updateTypeNum that I need to know rather than 1 and 2.
Thanks
0 -
We did some test , but we only see UpdateTypeNum set to "0" , I dont see values like 1 or 2 . Please advise
Payload 1:
UpdateMsgstreamId="33"domain="MarketPrice Domain"updateTypeNum="0"name="USFN15451=TWEB"serviceId="23"serviceName="IDN_SELECTFEED"Payload dataType="FieldList"FieldListFieldEntry fid="8636" name="NA_MSG_TYP" dataType="Rmtes" value="QUOTEUPD"FieldEntry fid="4148" name="TIMACT_MS" dataType="UInt" value="64391913"FieldEntry fid="1021" name="SEQNUM" dataType="Real" value="5514548.0"FieldEntry fid="17" name="ACTIV_DATE" dataType="Date" value="13 MAY 2025"FieldEntry fid="213" name="MKT_SOURCE" dataType="Enum" value="118"FieldEntry fid="3887" name="SEQNUM_QT" dataType="Real" value="154954.0"FieldEntry fid="7031" name="QTE_NUMMOV" dataType="Int" value="430"FieldEntry fid="7001" name="B_DLR_CNT" dataType="Int" value="3"FieldEntry fid="3131" name="IRGFID" dataType="Real" value="3.0"FieldListEndPayloadEndUpdateMsgEnd
Payload 2:
UpdateMsgstreamId="17"domain="MarketPrice Domain"updateTypeNum="0"name="USFN1515=TWEB"serviceId="23"serviceName="IDN_SELECTFEED"Payload dataType="FieldList"FieldListFieldEntry fid="22" name="BID" dataType="Real" value="86.9375"FieldEntry fid="393" name="PRIMACT_1" dataType="Real" value="86.9375"FieldEntry fid="25" name="ASK" dataType="Real" value="87.1875"FieldEntry fid="275" name="SEC_ACT_1" dataType="Real" value="87.1875"FieldEntry fid="875" name="VALUE_DT1" dataType="Date" value="13 MAY 2025"FieldEntry fid="1010" name="VALUE_TS1" dataType="Time" value="18:11:24:000:000:000"FieldEntry fid="3349" name="MID_1" dataType="Real" value="87.0625"FieldEntry fid="4148" name="TIMACT_MS" dataType="UInt" value="65484204"FieldEntry fid="3855" name="QUOTIM_MS" dataType="UInt" value="65484204"FieldEntry fid="3386" name="QUOTE_DATE" dataType="Date" value="13 MAY 2025"FieldEntry fid="8636" name="NA_MSG_TYP" dataType="Rmtes" value="QUOTEUPD"FieldEntry fid="975" name="ACT_FLAG1" dataType="Rmtes" value="A"FieldEntry fid="270" name="ACT_TP_1" dataType="Enum" value="27"FieldEntry fid="1021" name="SEQNUM" dataType="Real" value="5639820.0"FieldEntry fid="17" name="ACTIV_DATE" dataType="Date" value="13 MAY 2025"FieldEntry fid="7854" name="BIDPCTCHNG" dataType="Real" value="-0.1973100000"FieldEntry fid="11" name="NETCHNG_1" dataType="Real" value="-0.171875"FieldEntry fid="135" name="MID_NET_CH" dataType="Real" value="-0.1171875"FieldEntry fid="56" name="PCTCHNG" dataType="Real" value="-0.19731"FieldEntry fid="114" name="BID_NET_CH" dataType="Real" value="-0.171875"FieldEntry fid="280" name="SC_ACT_TP1" dataType="Enum" value="17"FieldEntry fid="3887" name="SEQNUM_QT" dataType="Real" value="159237.0"FieldEntry fid="14509" name="MIDLO1_NS" dataType="Time" value="18:11:24:204:000:000"FieldEntry fid="4351" name="MID_LOW" dataType="Real" value="87.0625"FieldEntry fid="14265" name="QUOTIM_NS" dataType="Time" value="18:11:24:204:000:000"FieldEntry fid="11644" name="SESS_FL1" dataType="Rmtes" value="PRI"FieldEntry fid="3750" name="RTR_OPN_PR" dataType="Real" value="-0.203125"FieldEntry fid="10531" name="AMERPC_BID" dataType="Real" value="-0.234375"FieldEntry fid="2286" name="ASK_NET_CH" dataType="Real" value="-0.0625"FieldEntry fid="10528" name="AMERNC_ASK" dataType="Real" value="-0.015625"FieldEntry fid="10532" name="AMERPC_ASK" dataType="Real" value="-0.01953125"FieldEntry fid="8241" name="ASKPCTCHNG" dataType="Real" value="-0.0716300000"FieldEntry fid="2169" name="MID_PCT_CH" dataType="Real" value="-0.1344200000"FieldEntry fid="14202" name="MIDLO1_MS" dataType="Time" value="18:11:24:204:000:000"FieldEntry fid="4990" name="MID_PRICE1" dataType="Real" value="87.0625"FieldEntry fid="12924" name="ASK_TICK1" dataType="Enum" value="3"FieldEntry fid="10527" name="AMERNC_BID" dataType="Real" value="-0.203125"FieldEntry fid="7031" name="QTE_NUMMOV" dataType="Int" value="431"FieldEntry fid="12921" name="BID_TICK1" dataType="Enum" value="2"FieldEntry fid="213" name="MKT_SOURCE" dataType="Enum" value="118"FieldListEndPayloadEnd
0 -
This means that the exchange or data feed doesn't provide the update types. Therefore, the API can't retrieve the update types.
0 -
A quick update : Our tests show that we only receive messages with updateTypeNum set to "0"
I dont see 1 or 2 values . Please advise .
Payload 1:
UpdateMsgstreamId="33"domain="MarketPrice Domain"updateTypeNum="0"name="USFN15451=TWEB"serviceId="23"serviceName="IDN_SELECTFEED"Payload dataType="FieldList"FieldListFieldEntry fid="8636" name="NA_MSG_TYP" dataType="Rmtes" value="QUOTEUPD"FieldEntry fid="4148" name="TIMACT_MS" dataType="UInt" value="64391913"FieldEntry fid="1021" name="SEQNUM" dataType="Real" value="5514548.0"FieldEntry fid="17" name="ACTIV_DATE" dataType="Date" value="13 MAY 2025"FieldEntry fid="213" name="MKT_SOURCE" dataType="Enum" value="118"FieldEntry fid="3887" name="SEQNUM_QT" dataType="Real" value="154954.0"FieldEntry fid="7031" name="QTE_NUMMOV" dataType="Int" value="430"FieldEntry fid="7001" name="B_DLR_CNT" dataType="Int" value="3"FieldEntry fid="3131" name="IRGFID" dataType="Real" value="3.0"FieldListEndPayloadEndUpdateMsgEnd
Payload 2:
UpdateMsgstreamId="17"domain="MarketPrice Domain"updateTypeNum="0"name="USFN1515=TWEB"serviceId="23"serviceName="IDN_SELECTFEED"Payload dataType="FieldList"FieldListFieldEntry fid="22" name="BID" dataType="Real" value="86.9375"FieldEntry fid="393" name="PRIMACT_1" dataType="Real" value="86.9375"FieldEntry fid="25" name="ASK" dataType="Real" value="87.1875"FieldEntry fid="275" name="SEC_ACT_1" dataType="Real" value="87.1875"FieldEntry fid="875" name="VALUE_DT1" dataType="Date" value="13 MAY 2025"FieldEntry fid="1010" name="VALUE_TS1" dataType="Time" value="18:11:24:000:000:000"FieldEntry fid="3349" name="MID_1" dataType="Real" value="87.0625"FieldEntry fid="4148" name="TIMACT_MS" dataType="UInt" value="65484204"FieldEntry fid="3855" name="QUOTIM_MS" dataType="UInt" value="65484204"FieldEntry fid="3386" name="QUOTE_DATE" dataType="Date" value="13 MAY 2025"FieldEntry fid="8636" name="NA_MSG_TYP" dataType="Rmtes" value="QUOTEUPD"FieldEntry fid="975" name="ACT_FLAG1" dataType="Rmtes" value="A"FieldEntry fid="270" name="ACT_TP_1" dataType="Enum" value="27"FieldEntry fid="1021" name="SEQNUM" dataType="Real" value="5639820.0"FieldEntry fid="17" name="ACTIV_DATE" dataType="Date" value="13 MAY 2025"FieldEntry fid="7854" name="BIDPCTCHNG" dataType="Real" value="-0.1973100000"FieldEntry fid="11" name="NETCHNG_1" dataType="Real" value="-0.171875"FieldEntry fid="135" name="MID_NET_CH" dataType="Real" value="-0.1171875"FieldEntry fid="56" name="PCTCHNG" dataType="Real" value="-0.19731"FieldEntry fid="114" name="BID_NET_CH" dataType="Real" value="-0.171875"FieldEntry fid="280" name="SC_ACT_TP1" dataType="Enum" value="17"FieldEntry fid="3887" name="SEQNUM_QT" dataType="Real" value="159237.0"FieldEntry fid="14509" name="MIDLO1_NS" dataType="Time" value="18:11:24:204:000:000"FieldEntry fid="4351" name="MID_LOW" dataType="Real" value="87.0625"FieldEntry fid="14265" name="QUOTIM_NS" dataType="Time" value="18:11:24:204:000:000"FieldEntry fid="11644" name="SESS_FL1" dataType="Rmtes" value="PRI"FieldEntry fid="3750" name="RTR_OPN_PR" dataType="Real" value="-0.203125"FieldEntry fid="10531" name="AMERPC_BID" dataType="Real" value="-0.234375"FieldEntry fid="2286" name="ASK_NET_CH" dataType="Real" value="-0.0625"FieldEntry fid="10528" name="AMERNC_ASK" dataType="Real" value="-0.015625"FieldEntry fid="10532" name="AMERPC_ASK" dataType="Real" value="-0.01953125"FieldEntry fid="8241" name="ASKPCTCHNG" dataType="Real" value="-0.0716300000"FieldEntry fid="2169" name="MID_PCT_CH" dataType="Real" value="-0.1344200000"FieldEntry fid="14202" name="MIDLO1_MS" dataType="Time" value="18:11:24:204:000:000"FieldEntry fid="4990" name="MID_PRICE1" dataType="Real" value="87.0625"FieldEntry fid="12924" name="ASK_TICK1" dataType="Enum" value="3"FieldEntry fid="10527" name="AMERNC_BID" dataType="Real" value="-0.203125"FieldEntry fid="7031" name="QTE_NUMMOV" dataType="Int" value="431"FieldEntry fid="12921" name="BID_TICK1" dataType="Enum" value="2"FieldEntry fid="213" name="MKT_SOURCE" dataType="Enum" value="118"FieldListEndPayloadEnd
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 685 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 252 ETA
- 556 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 652 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 228 TRKD
- 917 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛