question

Upvotes
Accepted
4 3 4 8

how to get full order book (10 buy + 10 sell)

hi,

I'm using "rfanet8.0.1.E1.win" to receive market data from reuters.

have subscribed data for symbols like "DXM8", "GCG8", "HCEIQ7", etc. and received data like "BID/BIDSIZE/ASK/ASKSIZE/TRDPRC_1/TRDVOL_1/etc."

How can I get full order book? like 10 buy + 10 sell, price and size

whats the field should I looking for?

checked log, have NOT received any data like 'BID_1', 'ASK_1',... 'BID_10', 'ASK_10',

is this related to setting/permission of my account??

thanks

Sincerely.

treprfarfa-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
24.6k 86 10 22

Hi @qiang.zhu

Details on the various FIDs such as NO_ORD and ACC_SIZE is covered in the RDMUsageGuideNET pdf file in the docs folder and/or the RDMFieldDictionary in the etc folder.

e.g. RMDFieldDictionary describes ACC_SIZE as - In RWF market depth structure, cumulative size of all price points.

Please see my article on Sorting Level 2 data for more information on ordering/ranking the entries. The code snippets are EMA C++ - but the techniques are applicable to RFA too.

With regards content queries - i.e. what data is available / which RIC to use etc, please contact the Data Content helpdesk as mentioned in my previous post.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
24.6k 86 10 22

Hi @qiang.zhu

To get full Order Book you need to make MarketByPrice domain request - rather than MarketPrice request.

You should refer to RFA C++ Tutorial 8 - Level 2 RDM data - for an explanation. Although the code is C++, the technique is much the same.

You can test this in RFA .NET by using the Consumer example that is in the Examples\Consumer folder.

Change the Consumer.cfg file to request MarketByPrice and see the result

# RFA Session to be used by the Consumer application
\ConsumerClient_10\session	= "Session1"
# Service name to be used to request
\ConsumerClient_10\service	= "ELEKTRON_DD"
# Comma separated RIC List to be used to request
\ConsumerClient_10\itemList	= "DXM8"
# RDM message type
\ConsumerClient_10\msgModelRequestType		= "marketByPrice"
# Switches between domain specific decoding (true) and generic decoding 
\ConsumerClient_10\msgModelDefaultDisplay	= true 

You will see that the OrderBook is delivered in Map structure with each Map Entry representing an Order and using the same field names:

Map Key   ORDER_PRC   ORDER_SIDE  NO_ORD  ACC_SIZE 
97.540A   97.540      ASK         1       3        
90.000B   90.000      BID         1       1        
91.210B   91.210      BID         1       15       
94.100A   94.100      ASK         1       2        
95.545A   95.545      ASK         1       1    
....
and so on....    

So, the above is known as Level 2 Full Order Book - MarketByPrice data.

For some of our data it is also possible to get just Top of Order Book - i.e. only Top 10 orders - by making a 'standard' MarketPrice request - for this type of request you do see fields like 'BID_1', 'ASK_1',... 'BID_10', 'ASK_10'. This type of data requires a different RIC code - you will need to speak to our Data Content team to find out which RIC code (if available) to request. Use the following link to contact the Content team -Contact Us.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

hi

thanks for the response,

here is another issue.

connected to reuters, service : EED_DELAYED , using QA account,

subscribe data by both "MARKET_PRICE" and "MARKET_BY_PRICE"

found that BID/ASK mismatch to order book, e.g.

for RIC : DXU7

time=[2017-09-01 16:17:55.684166], sym=[    DXU7], [Action=Update;Key=92.720A;time=[2017-09-01 16:17:56.119753], sym=[    DXU7], [                 ASK]=[92.755]
time=[2017-09-01 16:17:56.119753], sym=[ DXU7], [ BID]=[92.750]
time=[2017-09-01 16:17:56.416813], sym=[ DXU7], [Action=Update;Key=92.720A;

ask price (in order book) is less than BID price.

hi

I clicked 'Submit', but cannot submit anything...dont know reason.

regarding to

time=[2017-09-01 16:17:55.684166], sym=[ DXU7], [Action=Update;Key=92.720A;

time=[2017-09-01 16:17:56.119753], sym=[ DXU7], [ ASK]=[92.755]

time=[2017-09-01 16:17:56.119753], sym=[ DXU7], [ BID]=[92.750]

time=[2017-09-01 16:17:56.416813], sym=[ DXU7], [Action=Update;Key=92.720A;

ask price (in order book) is less than BID price.

could you advise??

Upvotes
4 3 4 8

hi

thanks for the response,

I tried subscribe data using 'ThomsonReuters.RFA.RDM.RDM.MESSAGE_MODEL_TYPES.MMT_MARKET_BY_PRICE',

can get data in map container.

here are more questions:

what does 'NO_ORD', 'ACC_SIZE' mean?

as I searched them in file "RDMFieldDictionary", and "rfanet8.0.1.E1.win\Docs\*.pdf", find no result.

how can I know the order book level??

e.g. regarding to "97.540A", maybe it's of ASK_1, or ASK_2/3/4.

how can I know the level??

regarding to 'only Top 10 orders', are they avail for all futures?? or just for some exchanges?

as we want to start trading with FUTURE in global scope.

thanks

Sincerely.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.