List of stocks in an exchange via DSWS

Hi, how can I get a list of all stocks in an exchange (e.g. NYSE) via R DSWS API (even better if via R package DatastreamDSWS2R). What I am trying to get is the something analogous to what one would get via DFO's Navigator, pulling a list of stocks in an exchange, with a given set of filters (e.g. active, major, geographic location, etc). Thanks

Best Answer

  • @gino.cenedese

    I can download the historical constituents with LNYSEALL1121 but LNYSEALL1021 doesn't work.

    You need to contact the Refinitiv Datastream Web Service support team directly via MyRefinitv to verify if the data is available in Datastream.

    For the second question, yes, the code will work if there is a constituent list symbol that contains all stocks in the exchange. You can check with the Refinitiv Datastream Web Service support team for the constituent list symbol of LSE.

    Yes, the DS navigator provides a better search than the API. The API provides the symbol lookup (DS.SYMBOLLOOKUP) for quick search but it has limited search functionality and doesn’t cover all content sets. Therefore, you can use the DS navigator to search for items and then export them to an excel file. Next, load an excel file by using the following code:

    library(XML)
    tables <- readHTMLTable("export.xls")
    tables

Answers

  • @gino.cenedese

    Thanks for reaching out to us.

    You can use the Datastream navigator to search for constituent lists and datatypes. Then use DatastreamDSWS2R to retrieve the data. For example, the constituent list for NYSE COMPOSITE is LNYSEALL.

    1663121864586.png

    The code to retrieve data looks like this:

    data <- mydsws$listRequest(instrument = c("LNYSEALL"), 
                                  datatype = c("MAJOR","CODOC","NAME","ESTAT"), 
                                  requestDate = "0D")
    data 

    The output is:

    1663122052913.png

    Otherwise, you can contact the Refinitiv Datastream Web Service support team directly via MyRefinitv and ask for instruments and data types that can provide the required data.

    I think that the DatastreamDSWS2R can't filter data, as mentioned in this thread.

  • hi @Jirapongse

    thanks, that gets very close to what I am looking for, but this approach has two issues:

    (1) I can't download the historical constituents. This may be a licensing issue (?). I tried to edit the requestDate, and also tried to append MMYY to the mnemonic, but it does not work.

    (2) This in principle could work only for exchanges that also have an associated index that contains all stocks in the exchange. For some exchanges (even big ones like LSE), I am not sure if there is an analogous to the NYSE Composite Index.

    With the DS navigator instead you can download all stocks that ever (?) traded in the exchange, so one can recreate history, and this can be done for any exchange, not only NYSE.

    Do you agree, and is there an alternative?

    thanks

    Gino