Vendor-delayed RICs in RFA

Requesting a delayed data for a RIC seems at first straightforward: in RFA just put the “/” before the RIC, and if the delayed data is available it should work.

In reality there seems to be a terminology void which makes it ambiguous

Take a request for

"/AAPL.OQ" (delayed) => I get “F25: Request for vendor-delayed RIC is not allowed.”

Take a request for

"AAPL.OQ" (not delayed) => I get the data, BUT I can see from the data (fields like TRDTIM_1, SALTIM etc.) that it is DELAYED. This is even expressed in the

FieldEntry [3] DSPLY_NAME "APPLE INC/d"

or sometimes even more directly

FieldEntry [3] DSPLY_NAME "DELAYED-15EGX 10"

So:

1. the data for a RIC with a “/” is delayed by the exchange and without a “/” is either real-time or delayed by Refinitiv?

2. The “F25: Request for vendor-delayed RIC is not allowed” means that my accounts (entitlement) for a RIC does not allow it or it means that the delayed RIC is not available?

3. Is having the access to delayed and undelayed RIC on the same account is possible?

4. How to find out whether the RIC without a “/” is delayed or real-time? In other words, besides the FID DSPLY_NAME is there any other FID that would indicate the delay period?

Thanks

Best Answer

  • Jirapongse
    Answer ✓

    @PatrickZ

    Rate 0 is RFA.Common.QualityOfService.TickByTick while Timeliness 2147483645 is RFA.Common.QualityOfService.UnspecifiedDelayedTimeliness.



Answers

  • @PatrickZ

    Thank you for reaching out to us.

    Please see the answers below.

    1. the data for a RIC with a “/” is delayed by the exchange and without a “/” is either real-time or delayed by Refinitiv?

    Typically, the delayed RICs are prefixed with the '/' character and the delayed data is coming from the real-time network. However, RTDS (ADH/ADS) can also be configured to support delayed services. You may contact your LSEG account team or Sales team directly to verify if your account is allowed to access real-time or delayed data from the datafeed.

    2. The “F25: Request for vendor-delayed RIC is not allowed” means that my accounts (entitlement) for a RIC does not allow it or it means that the delayed RIC is not available?

    According to the error, yes, it looks like your account can't access that delayed RIC. However, you need to contact your LSEG account team or Sales team to confirm it.

    3. Is having the access to delayed and undelayed RIC on the same account is possible?

    Real-time RICs and delayed RICs (with a '/' character) requires different permissions. The same account can be allowed to access both real-time RICs and delayed RICs.

    4. How to find out whether the RIC without a “/” is delayed or real-time? In other words, besides the FID DSPLY_NAME is there any other FID that would indicate the delay period?

    The refresh message has the QoS property which may be used to identify if the data is conflated or delayed.


    However, to verify what the problem is, you need to enable tracing in RFA to verify the incoming an outgoing messages. Are you using RFA C++, RFA Java, or RFA.NET?

  • Hello
    Thank you for your answer.
    We are using RFA.NET but moving soon to RDP. Still have some legacy to support though.

    I looked into the RespMsg definition (refresh) and found the QoS public data member as

    Rate 0 int
    Timeliness 2147483645 int

    Not sure what the 2147483645 represents... It is not a number of tics nor the unix time seconds equivalent.
    Thanks

  • Thanks for your answer.
    If Timeliness 2147483645 is RFA.Common.QualityOfService.UnspecifiedDelayedTimeliness
    is there a way to find out what the relay is?
    I suppose the actual delay as specified often in FId 3?
    FieldEntry [ 3] DSPLY_NAME "DELAYED-15QE MAI"

  • RFA.Common.QualityOfService.UnspecifiedDelayedTimeliness indicates that the delayed value is unspecified.

    DSPLY_NAME contains the display name. DELAYED-15 man be added by the service provider to indicate that the data will be delayed.