RFA StarterConsumer subscribing for Nasdaq L2 ric (0#CSCO.O) - gives error msg - The record could...

jbhimbra
jbhimbra Newcomer

... not be found

Ran StarterConsumer for Example programs subscribing for “0#MSFT.O” with –mmt
MARKET_BY_PRICE but received following error msg and no data.

- State: CLOSED, SUSPECT,
NOT_FOUND, "The record could not be found"

Can you advise what is the issue preventing market depth data?

c:\sandbox\ThompsonReuters\rfa\setup\rfaj7.4.1.L1.all.rrg\rfaj7.4.1.L1.all.rrg\Examples>java
-cp ..\Libs\rfa.jar;..\Examples com.reuters.rfa.example.omm.cons.StarterConsumer -session myNamespace::IDN_RDF -user
APP_FALCON_ALGO -itemName
0#CSCO.O -mmt MARKET_BY_PRICE
-serviceName IDN_RDF
-attribInfoInUpdates true -enumType ../etc/RDM/enumtype.def -rdmFieldDictionary
../etc/RDM/RDMFieldDictionary -runTime 60

Best Answer

  • umer.nalla
    umer.nalla LSEG
    Answer ✓

    Hi @jbhimbra

    The error shows that your Data access permissions are not correctly setup by your local Market Data admin team (or your Thomson Reuters account manager for hosted solutions). Please contact them to amend your permissions.

    My understanding is that Nasdaq has several feeds - including TotalView ITCH which offer MarketByPrice orderbook data.

    I am not a content expert so cannot comment on the other questions you have asked. I recommend you contact our Content Helpdesk using the following link Product Support Content and Select Elektron Edge for the product. They should be able to help you with identifying the correct RICs to use for your various data requirements.

    You could also try using the RIC Search tool to search for RICs.

Answers

  • Same StartConsumer client works fine for NYSE and Nasdaq L1 data (e.g. IBM.N or MSFT.O).

  • Hi @jbhimbra,

    0#CSCO.o and 0#MSFT.O are chain records. All chain records should use MARKET_PRICE message model type. The StarterConsumer already sets MARKET_PRICE as default mmt so just remove the "-mmt MARKET_BY_PRICE" argument and it should work.

  • Tried StarterConsumer without -mmt MARKET_BY_PRICE option and client received one snapshot msg and no subsequent market depth updates as i was expecting. See the logs messages below.

    Fyi, as per earlier TR inquiry, response from TR Customer Support Executive (Pimchaya Wongrukun) was to use -mmt MARKET_BY_PRICE or MARKET_BY_ORDER option to get market depth for NASDAQ listed stocks, which resulted in "record not found" message.

    What is the correct method of subscribing to Nasdaq L2 market data?

    (my first time using TR RFA api and market data feed)

    Note: had tried the consumer during market hours, which had given similar output i.e. no subsequent updates/

    Consumer Login successful...
    ItemManager.sendRequest: Sending item request...
    ItemManager: Subscribing to 0#CSCO.O
    ItemManager.processEvent: Received Item Event...
    MESSAGE
    Msg Type: MsgType.REFRESH_RESP
    Msg Model Type: MARKET_PRICE
    Indication Flags: REFRESH_COMPLETE | CLEAR_CACHE
    Hint Flags: HAS_ATTRIB_INFO | HAS_ITEM_GROUP | HAS_PERMISSION_DATA | HAS_QOS | HAS_RESP_TYPE_NUM | HAS_SEQ_NUM | HAS_STATE
    State: OPEN, OK, NONE, "All is well"
    Qos: (RT, JIT Filt.)
    Group: 00072c333087b071
    PermissionData: 032c333056c0 ( 0x03,0x2c,0x33,0x30,0x56,0xc0 )
    SeqNum: 62736
    RespTypeNum: 0 (RespType.SOLICITED)
    AttribInfo
    ServiceName: IDN_RDF
    ServiceId: 11315
    Name: 0#CSCO.O
    NameType: 1 (RIC)
    Payload: 317 bytes
    FIELD_LIST
    FIELD_ENTRY 1/PROD_PERM: 3056
    FIELD_ENTRY 2/RDNDISPLAY: 200
    FIELD_ENTRY 3/DSPLY_NAME: LVL2_MM_LNK_LIST
    FIELD_ENTRY 4/RDN_EXCHID: NAS (43)
    FIELD_ENTRY 5/TIMACT: 09:00:10
    FIELD_ENTRY 15/CURRENCY: USD (840)
    FIELD_ENTRY 17/ACTIV_DATE: 31 JAN 2018
    FIELD_ENTRY 77/NUM_MOVES: 58
    FIELD_ENTRY 239/REF_COUNT: 14
    FIELD_ENTRY 259/RECORDTYPE: 120
    FIELD_ENTRY 800/LONGLINK1: CSCO.O
    FIELD_ENTRY 801/LONGLINK2: CSCOADAM.O
    FIELD_ENTRY 802/LONGLINK3: CSCOBARD.O
    FIELD_ENTRY 803/LONGLINK4: CSCOBKMM.O
    FIELD_ENTRY 804/LONGLINK5: CSCOBMOC.O
    FIELD_ENTRY 805/LONGLINK6: CSCOCANT.O
    FIELD_ENTRY 806/LONGLINK7: CSCOCDRG.O
    FIELD_ENTRY 807/LONGLINK8: CSCOCOWN.O
    FIELD_ENTRY 808/LONGLINK9: CSCOCSTI.O
    FIELD_ENTRY 809/LONGLINK10: CSCOCTDL.O
    FIELD_ENTRY 810/LONGLINK11: CSCODADA.O
    FIELD_ENTRY 811/LONGLINK12: CSCODBAB.O
    FIELD_ENTRY 812/LONGLINK13: CSCOEGMT.O
    FIELD_ENTRY 813/LONGLINK14: CSCOETMM.O
    FIELD_ENTRY 814/LONGPREVLR:
    FIELD_ENTRY 815/LONGNEXTLR: 1#CSCO.O
    FIELD_ENTRY 1080/PREF_DISP: 7468
    FIELD_ENTRY 1081/PREF_LINK: 1#CSCO.O
    FIELD_ENTRY 1709/RDN_EXCHD2: NAS (43)
    FIELD_ENTRY 3798/TIMACT1: 09:00:10
    FIELD_ENTRY 5357/CONTEXT_ID: 2677
    FIELD_ENTRY 6401/DDS_DSO_ID: 8293
    FIELD_ENTRY 6480/SPS_SP_RIC: .[SPSNL2VAE2
    FIELD_ENTRY 8635/PRE_24T004:
    60 seconds elapsed, class com.reuters.rfa.example.omm.cons.StarterConsumer cleaning up...
    RWF: 14.0
    RFA: Version = 7.4.1.L1.all.rrg, Date = Mon Mar 25 19:11:52 EDT 2013, Jar Path = C:\sandbox\ThompsonReuters\rfa\setup\rfaj7.4.1.L1.all.rrg\rfaj7.4.1.L1.all.rrg
    Libs\rfa.jar, Jar Size = 1910996
    class com.reuters.rfa.example.omm.cons.StarterConsumer exiting.

  • Hello @jbhimbra

    0#CSCO.O is a Chain RIC which does not provide data. It
    provides:

    - The list of RICs in the field
    name LONGLINK<N>

    - The next list of RICs in the field named LONGNEXTLR as shown below:

                ...
    FIELD_ENTRY 801/LONGLINK2: CSCOADAM.O
    FIELD_ENTRY 802/LONGLINK3: CSCOBARD.O
    FIELD_ENTRY 803/LONGLINK4: CSCOBKMM.O
    FIELD_ENTRY 804/LONGLINK5: CSCOBMOC.O
    FIELD_ENTRY 805/LONGLINK6: CSCOCANT.O
    FIELD_ENTRY 806/LONGLINK7: CSCOCDRG.O
    FIELD_ENTRY 807/LONGLINK8: CSCOCOWN.O
    FIELD_ENTRY 808/LONGLINK9: CSCOCSTI.O
    FIELD_ENTRY 809/LONGLINK10: CSCOCTDL.O
    FIELD_ENTRY 810/LONGLINK11: CSCODADA.O
    FIELD_ENTRY 811/LONGLINK12: CSCODBAB.O
    FIELD_ENTRY 812/LONGLINK13: CSCOEGMT.O
    FIELD_ENTRY 813/LONGLINK14: CSCOETMM.O
    FIELD_ENTRY 814/LONGPREVLR:
    FIELD_ENTRY 815/LONGNEXTLR: 1#CSCO.O
    ...

    For more details of the Chain RICs, please refer to Simple Chain objects for EMA - Part 1

    To get data, you need to subscribe RIC which is in the field
    named LONGLINK<N> i.e. CSCOADAM.O,CSCOBARD.O,
    CSCOBKMM.O … CSCOETMM.O
    . Based on my test, you can get data by specifying
    MARKET_PRICE domain when subscribing a RIC. For example to get data of the RIC named CSCOADAM.O :

    java -cp ..\Libs\rfa.jar;..\Examplesvcom.reuters.rfa.example.omm.cons.StarterConsumer -session myNamespace::consSession -user pimchaya -itemName CSCOADAM.O -mmt MARKET_PRICE -serviceName API_ELEKTRON_EPD_RSSL -attribInfoInUpdates true -enumType ../etc/RDM/enumtype.def -rdmFieldDictionary ../etc/RDM/RDMFieldDictionary -runTime 600

    The example data:

    image

    To get the next list of RICs, you need to subscribe the RIC in
    the field named LONGNEXTLR e.g. 1#CSCO.O with MARKET_PRICE, then you will get
    the list of RICs e.g. CSCOFBRC.O, CSCOGSCO.O…CSCOMLCO.O as shown below:

                ...
    FIELD_ENTRY 800/LONGLINK1: CSCOFBRC.O
    FIELD_ENTRY 801/LONGLINK2: CSCOGSCO.O
    FIELD_ENTRY 802/LONGLINK3: CSCOIMCC.O
    FIELD_ENTRY 803/LONGLINK4: CSCOINTL.O
    FIELD_ENTRY 804/LONGLINK5: CSCOJEFF.O
    FIELD_ENTRY 805/LONGLINK6: CSCOJPMS.O
    FIELD_ENTRY 806/LONGLINK7: CSCOJSSF.O
    FIELD_ENTRY 807/LONGLINK8: CSCOKBWI.O
    FIELD_ENTRY 808/LONGLINK9: CSCOKEYB.O
    FIELD_ENTRY 809/LONGLINK10: CSCOKING.O
    FIELD_ENTRY 810/LONGLINK11: CSCOLEER.O
    FIELD_ENTRY 811/LONGLINK12: CSCOLEHM.O
    FIELD_ENTRY 812/LONGLINK13: CSCOMAXM.O
    FIELD_ENTRY 813/LONGLINK14: CSCOMLCO.O
    FIELD_ENTRY 814/LONGPREVLR: 0#CSCO.O
    FIELD_ENTRY 815/LONGNEXTLR: 2#CSCO.O
    ...

    You can know if you get all RICs of this Chain RIC when LONGNEXTLR field is empty.

  • Hi @jbhimbra

    I am not in a position to test this at the moment, but have you tried requesting CSCO.ITC with "-mmt MARKET_BY_PRICE" for level 2 data?

  • Hi Umer,

    Tried StarterConsumer with and without -mmt MARKET_BY_PRICE and received - "Record not service permissioned" error. See logs below. (Following up with internal TREP market infra team).

    Q1 - As I understand ".ITC" suffix provide indicative volume for open and close auctions. Does it provide intra-day market depth data as well?

    Q2 - Is part of Nasdaq L2 feed?

    Q3 - Where on TR website or elsewhere can i find info on which Nasdaq subscriptions to use for L2, indicative auction volumes market data with sample data examples?

    Q4 - Similar market depth data feed details for Canadian (TSE & TSX), Mexico (MEX) and Brazil (Bovespa) exchanges?

    c:\sandbox\ThompsonReuters\rfa\setup\rfaj7.4.1.L1.all.rrg\rfaj7.4.1.L1.all.rrg\Examples>java -cp ..\Libs\rfa.jar;..\Examples com.reuters.rfa.examp
    arterConsumer -session myNamespace::IDN_RDF -user APP_FALCON_ALGO -itemName CSCO.ITC -serviceName IDN_RDF -attribInfoInUpdates true -enumType ../
    pe.def -rdmFieldDictionary ../etc/RDM/RDMFieldDictionary -runTime 60
    Picked up JAVA_TOOL_OPTIONS: "-Duser.home=C:\Sandbox\JavaToolHome"
    *****************************************************************************
    * Begin RFA Java StarterConsumer Program *
    *****************************************************************************
    RFA Version: 7.4.1.L1.all.rrg
    field dictionary read from RDMFieldDictionary file
    enum dictionary read from enumtype.def file
    LoginClient: Sending login request...
    LoginClient.processEvent: Received Login Response...
    LoginClient: Received Login Response - MsgType.REFRESH_RESP
    MESSAGE
    Msg Type: MsgType.REFRESH_RESP
    Msg Model Type: LOGIN
    Indication Flags: REFRESH_COMPLETE
    Hint Flags: HAS_ATTRIB_INFO | HAS_ITEM_GROUP | HAS_RESP_TYPE_NUM | HAS_STATE
    State: OPEN, SUSPECT, NONE, "All connections pending"
    Group: 0000
    RespTypeNum: 0 (RespType.SOLICITED)
    AttribInfo
    Name: APP_FALCON_ALGO
    NameType: 1 (USER_NAME)
    Attrib
    ELEMENT_LIST
    ELEMENT_ENTRY ApplicationId: 256
    ELEMENT_ENTRY Position: 161.17.73.62/H84047D4A2FLR7Z
    ELEMENT_ENTRY AllowSuspectData: 1
    ELEMENT_ENTRY SingleOpen: 1
    ELEMENT_ENTRY SupportBatchRequests: 1
    ELEMENT_ENTRY SupportOptimizedPauseResume: 1
    ELEMENT_ENTRY SupportPauseResume: 1
    ELEMENT_ENTRY SupportViewRequests: 1
    ELEMENT_ENTRY SupportOMMPost: 1
    Payload: None
    Feb 01, 2018 10:45:17 AM com.reuters.rfa.internal.session.omm.OMMInteractiveLoginStatusProvider processOpenStreamForRefresh
    WARNING: com.reuters.rfa.session.myNamespace.IDN_RDF
    Connection myNamespace::IDN_RDFConnection does not support Pause/Resume. Pause and Resume requests for this connection will be ignored.
    Feb 01, 2018 10:45:17 AM com.reuters.rfa.internal.session.omm.OMMInteractiveLoginStatusProvider processOpenStreamForRefresh
    WARNING: com.reuters.rfa.session.myNamespace.IDN_RDF
    Connection myNamespace::IDN_RDFConnection does not support optimized Pause/Resume. Optimized Pause/Resume requests will be converted to individual
    sume requests for this connection.
    LoginClient.processEvent: Received Login Response...
    LoginClient: Received Login STATUS OK Response
    MESSAGE
    Msg Type: MsgType.STATUS_RESP
    Msg Model Type: LOGIN
    Indication Flags:
    Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
    State: OPEN, OK, NONE, "Login accepted by host usnjtrepd01."
    AttribInfo
    Name: APP_FALCON_ALGO
    NameType: 1 (USER_NAME)
    Attrib
    ELEMENT_LIST
    ELEMENT_ENTRY ApplicationId: 256
    ELEMENT_ENTRY ApplicationName: ADS
    ELEMENT_ENTRY Position: 161.17.73.62/H84047D4A2FLR7Z
    ELEMENT_ENTRY ProvidePermissionExpressions: 1
    ELEMENT_ENTRY ProvidePermissionProfile: 0
    ELEMENT_ENTRY AllowSuspectData: 1
    ELEMENT_ENTRY SingleOpen: 1
    ELEMENT_ENTRY SupportBatchRequests: 1
    ELEMENT_ENTRY SupportOptimizedPauseResume: 1
    ELEMENT_ENTRY SupportPauseResume: 1
    ELEMENT_ENTRY SupportViewRequests: 1
    ELEMENT_ENTRY SupportOMMPost: 1
    Payload: None
    Consumer Login successful...
    ItemManager.sendRequest: Sending item request...
    ItemManager: Subscribing to CSCO.ITC
    ItemManager.processEvent: Received Item Event...
    MESSAGE
    Msg Type: MsgType.STATUS_RESP
    Msg Model Type: MARKET_PRICE
    Indication Flags:
    Hint Flags: HAS_ATTRIB_INFO | HAS_STATE
    State: CLOSED, SUSPECT, NOT_ENTITLED, "Record not service permissioned"
    AttribInfo
    ServiceName: IDN_RDF
    ServiceId: 11315
    Name: CSCO.ITC
    NameType: 1 (RIC)
    Payload: None
    ItemManager: Receive a COMPLETION_EVENT, com.reuters.rfa.internal.session.omm.OMMSubHandleImpl@3be8fabc
    60 seconds elapsed, class com.reuters.rfa.example.omm.cons.StarterConsumer cleaning up...
    RWF: 14.0
    RFA: Version = 7.4.1.L1.all.rrg, Date = Mon Mar 25 19:11:52 EDT 2013, Jar Path = C:\sandbox\ThompsonReuters\rfa\setup\rfaj7.4.1.L1.all.rrg\rfaj7.4
    Libs\rfa.jar, Jar Size = 1910996

  • Thanks, contacted Product Support Content link above - new case created - Case : 06289175.

  • Thanks for the update.

    Don't forget to speak to your own Market Data team regards the Permission issue - the Content Helpdesk will not be able to help with that.