How to process HKEX Broker Feed in EMA style ?
We access the HKEX Broker Queue Page in EMA style.
The RefreshMsg format in EMA looks like:
RefreshMsg
streamId="5"
domain="MarketPrice Domain"
solicited
RefreshComplete
state="Open / Ok / None / 'All is well'"
itemGroup="00 03"
permissionData="03 01 a9 49 48 c0"
name="0700bk.HKd"
nameType="1"
serviceId="425"
serviceName="hEDD"
Payload dataType="FieldList"
FieldList FieldListNum="82" DictionaryId="1"
FieldEntry fid="1" name="PROD_PERM" dataType="UInt" value="4948"
FieldEntry fid="2" name="RDNDISPLAY" dataType="UInt" value="151"
FieldEntry fid="3" name="DSPLY_NAME" dataType="Rmtes" value="TENCENT"
FieldEntry fid="15" name="CURRENCY" dataType="Enum" value="(blank data)"
FieldEntry fid="259" name="RECORDTYPE" dataType="UInt" value="121"
FieldEntry fid="315" name="ROW80_1" dataType="Rmtes" value="TENCENT <0700.HK> <HKBK01> 0700bk.HKd"
FieldEntry fid="316" name="ROW80_2" dataType="Rmtes" value=" BID ASK "
FieldEntry fid="317" name="ROW80_3" dataType="Rmtes" value=" 6898 8306 8306 6699 | 3286 6387 1450 +3s "
FieldEntry fid="318" name="ROW80_4" dataType="Rmtes" value=" 5359 8303 5998 4821 | 1836 8037 3439 6997 "
FieldEntry fid="319" name="ROW80_5" dataType="Rmtes" value=" 5998 8467 1298 8308 | 8020 3439 5465 5998 "
FieldEntry fid="320" name="ROW80_6" dataType="Rmtes" value=" 8564 5998 5998 8303 | 3289 1836 6699 0747 "
FieldEntry fid="321" name="ROW80_7" dataType="Rmtes" value=" 5999 8304 5999 8307 | 5339 5337 +2s 0747 "
FieldEntry fid="322" name="ROW80_8" dataType="Rmtes" value=" -1s 6999 5999 6728 | 3439 0346 8734 1929 "
FieldEntry fid="323" name="ROW80_9" dataType="Rmtes" value=" 1048 8965 6997 8301 | 1048 3439 0746 4978 "
FieldEntry fid="324" name="ROW80_10" dataType="Rmtes" value=" 8468 6825 6997 6996 | 8698 +1s 1049 7769 "
FieldEntry fid="325" name="ROW80_11" dataType="Rmtes" value=" 6999 8185 6999 6997 | 7355 3439 3347 8197 "
FieldEntry fid="326" name="ROW80_12" dataType="Rmtes" value=" 5999 5882 2246 6699 | 7389 0746 4973 +4s "
FieldEntry fid="327" name="ROW80_13" dataType="Rmtes" value=" "
FieldEntry fid="1080" name="PREF_DISP" dataType="UInt" value="(blank data)"
FieldEntry fid="1671" name="GN_TX20_7" dataType="Rmtes" value="********************"
FieldEntry fid="1672" name="GN_TX20_8" dataType="Rmtes" value="********************"
FieldEntry fid="1673" name="GN_TX20_9" dataType="Rmtes" value="********************"
FieldEntry fid="1709" name="RDN_EXCHD2" dataType="Enum" value="(blank data)"
FieldEntry fid="3422" name="PROV_SYMB" dataType="Rmtes" value="(blank data)"
FieldEntry fid="3694" name="MNEMONIC" dataType="Rmtes" value="700"
FieldEntry fid="5357" name="CONTEXT_ID" dataType="Real" value="2416.0"
FieldEntry fid="6401" name="DDS_DSO_ID" dataType="UInt" value="4097"
FieldEntry fid="6480" name="SPS_SP_RIC" dataType="Ascii" value=".[SPSHKPL1"
FieldListEnd
PayloadEnd
RefreshMsgEnd
The UpdateMsg format in EMA looks like:
UpdateMsg
streamId="5"
domain="MarketPrice Domain"
updateTypeNum="1"
name="0700bk.HKd"
serviceId="425"
serviceName="hEDD"
Payload dataType="FieldList"
FieldList
FieldEntry fid="317" name="ROW80_3" dataType="Rmtes" value="8468 7389 0759 11908037 +1s 3279 7126"
FieldEntry fid="318" name="ROW80_4" dataType="Rmtes" value="7365 9069 7389 66997389 1048 1836 1838"
FieldEntry fid="319" name="ROW80_5" dataType="Rmtes" value="9068 1195 5333 59395344 7358 8022 4973"
FieldEntry fid="320" name="ROW80_6" dataType="Rmtes" value="7365 7389 6123 28461836 +1s 5465 1836"
FieldEntry fid="321" name="ROW80_7" dataType="Rmtes" value="7389 9028 8565 73899069 8024 3439 002"
FieldEntry fid="322" name="ROW80_8" dataType="Rmtes" value="4499 1190 7389 59997389 +1s 0027 8397"
FieldEntry fid="323" name="ROW80_9" dataType="Rmtes" value="8468 4098 3279 69977389 0747 6389 3289"
FieldEntry fid="324" name="ROW80_10" dataType="Rmtes" value="7369 6387 4495 738s5467 1048 +2s 6387"
FieldEntry fid="325" name="ROW80_11" dataType="Rmtes" value="5359 4978 5998 73898027 4973 1049 8044"
FieldEntry fid="326" name="ROW80_12" dataType="Rmtes" value="6898 8117 7389 44893278 5999 1450 5465"
FieldListEnd
PayloadEnd
UpdateMsgEnd
UpdateMsg
streamId="5"
domain="MarketPrice Domain"
updateTypeNum="1"
name="0700bk.HKd"
serviceId="425"
serviceName="hEDD"
Payload dataType="FieldList"
FieldList
FieldEntry fid="317" name="ROW80_3" dataType="Rmtes" value="7389 8117 7389 638"
FieldEntry fid="318" name="ROW80_4" dataType="Rmtes" value="5359 4978 5998 7"
FieldEntry fid="319" name="ROW80_5" dataType="Rmtes" value="8468 7389 0759 1190"
FieldEntry fid="320" name="ROW80_6" dataType="Rmtes" value="7365 9069 7389 6699"
FieldEntry fid="321" name="ROW80_7" dataType="Rmtes" value="9068 1195 5333 59"
FieldEntry fid="322" name="ROW80_8" dataType="Rmtes" value="7365 7389 6123 2846"
FieldEntry fid="323" name="ROW80_9" dataType="Rmtes" value="7389 9028 8565 7389"
FieldEntry fid="324" name="ROW80_10" dataType="Rmtes" value="4499 1190 7389"
FieldEntry fid="325" name="ROW80_11" dataType="Rmtes" value="8468 4098 3279 6997"
FieldEntry fid="326" name="ROW80_12" dataType="Rmtes" value="7369 6387 449"
FieldListEnd
PayloadEnd
UpdateMsgEnd
We need to transfer the broker id in Broker Queue Page into separated one.
But the RFA processing method seems not work for EMA:
https://community.developers.refinitiv.com/questions/13002/how-to-interpret-hk-broker-feed.html
And we could not found tutorial or document about it.
Please help me on this case.
Thank you.
Best Answer
-
Hi @pengshuolin
Please see this article on handling Page based data
How to parse page-based data using Refinitiv Real-time SDK Java | Refinitiv Developers
0
Answers
-
@umer.nalla thanks for your reply.
According to this article, we have to maintain some RmtesBuffer for each page.So it seems we have to rebuild the whole page into string to get brokers which means potential heavy GC load.
It is there any way to make this process more efficiency ?
0 -
Thanks for your reply.
According to this article, we have to maintain some RmtesBuffer objs for each page.So it seems we have to rebuild the whole page into string to get brokers which means potential heavy GC load.
It is there any way to make this process more efficiency ?
0 -
Hi,I looked at the article and found that strings are extracted from FID, not brokerId
0 -
UpdateMsg
streamId="6"
domain="MarketPrice Domain"
updateTypeNum="1"
name="8429bk.HKd"
serviceId="257"
serviceName="ELEKTRON_DD"
Payload dataType="FieldList"
FieldList
FieldEntry fid="317" name="ROW80_3" dataType="Rmtes" value="-9s "
FieldEntry fid="318" name="ROW80_4" dataType="Rmtes" value=" -14s"
FieldEntry fid="319" name="ROW80_5" dataType="Rmtes" value="-10s "
FieldEntry fid="320" name="ROW80_6" dataType="Rmtes" value=" -15s"
FieldEntry fid="321" name="ROW80_7" dataType="Rmtes" value="-11s"
FieldEntry fid="322" name="ROW80_8" dataType="Rmtes" value="6259"
FieldEntry fid="323" name="ROW80_9" dataType="Rmtes" value="-7s 1836 1836"
FieldEntry fid="324" name="ROW80_10" dataType="Rmtes" value=" -12s 2299"
FieldEntry fid="325" name="ROW80_11" dataType="Rmtes" value="-8s 1836 -16s"
FieldEntry fid="326" name="ROW80_12" dataType="Rmtes" value=" -13s 8463"
FieldListEnd
PayloadEnd
UpdateMsgEnd
This is the information I received on how to extract it. I also noticed that the rules of the messages I received were different
0 -
another msg 微信图片_20220725175417.jpgThis causes the offset method to be ungeneric
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛