question

Upvotes
Accepted
1 1 0 2

Reuters market data C# library

We use C# library RFA8_NET120_x64 to get Reuters market data.

We have noticed some unusual behavior in the results:

If the stock is stale, some random prices are published by the library.

We have compared this behavior with the old C++ library and prices are set to zero as it should be.

We are wondering if this is a known behavior, is it something which can be fixed or already fixed in a newer versions?

Do we have a way to determine that the stock is stale?

Thank you.

elektronrefinitiv-realtimetreprfa
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.

Is your application using OMM Interface or legacy interface, such as Marketfeed or similar?

1 Answer

· Write an Answer
Upvotes
Accepted
1.5k 5 6 7

The below is on the assumption that your application uses the OMM interface when it connects upstream.

Actually TR no longer uses the word "stale", but uses the word "suspect" instead. This covers a larger set of occurrences although it very often means stale. You can see a stream's state from the OMMState object. If OMMState.data is SUSPECT then it means 'stale'.

"We have compared this behavior with the old C++ library and prices are set to zero as it should be."

I wonder what you mean by "as it should be". The source may set the SUSPECT flag on a stream but it is fully allowed for that source to continue to update the stream. It is simply a message to the consumer that the values are currently not to be trusted. How the application should react to SUSPECT is up to the application to decide. It is a display application then it is typical to display the data on some red background. If it is a non-display application then the typical reaction is to ignore values that happen while the stream is in a SUSPECT state.

The SUSPECT flag can be set by the source application itself. For example if the source application detects that it has lost some network connection to something upstream then it will (should!) set the flag on all streams that are currently being published. The SUSPECT flag may also be set by some intermediary component which detects a network failure, and ultimately the flag may actually be generated by the API library itself if the last stretch connectivity is broken.

Ok, so normally you'll see the actual values not updating when a stream is in the SUSPECT state. But there's nothing to prevent them from updating. A source application that actually publishes zeros into market data fields when the stream is SUSPECT sounds very strange to me. That would be a sign of bad design and I doubt TR has done that on their own source. Zero (0) is a perfectly valid price for a financial instrument and should never be used to represent the absence of a price. Absence (or null) is done by so-called 'blank' value in OMM world. I'm guessing those zeros in your older application is because it is using the legacy Marketfeed interface which had a peculiar way to distinguish between null and nil.

Hope this helps.

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.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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