Can requests via the Screener be adjusted fo historic values?

Hi there,


I am currently looking at the screener and wondered if it was also possible to adjust it to reflect historic values. To be precise, one request could be:

Can I look at a list of active, public and primary RICs with headquarter in the US and a price larger than 1 at a certain point in history? (history not only related to the price, but also regarding the listed companies).


I would currently do this:

df, err = ek.get_data("SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.HQCountryCode,""US""), TR.PriceClose>=1, CURN=USD)",["TR.CompanyName"])

However, this just gives me listed companies as of today. I guess I can introduce dates at the field level via TR.PriceClose('<< DATE_HERE >>'), but that would still screen the list of current companies with prices as of a certain date I suppose?

Many thanks for your help...


Best Answer

  • @auth So you can get details of leavers and joiners a la (this also gives the expired RICs) :

    df,e = ek.get_data('.FTSE', 
                ['TR.IndexJLConstituentChangeDate',
                 'TR.IndexJLConstituentRIC.change',
                 'TR.IndexJLConstituentRIC'],
                {'SDate':'0D', 'EDate':'-20Y', 'IC':'B'})
    df

    image

    I think these are available for FTSE Russell indices including Russell 3000 - however I don't have permission for those currently. If you had the Eikon add on package for FTSE Russell Indices - I am reasonably sure something like that may be there. Perhaps you could contact your account team and trial that add-on? I hope this can help.

Answers

  • @auth Yes I believe you can use point in time values - by selecting them in the screener app - see screenshot below:

    image

    I hope this can help - but yes it would be only for current universe of stocks that you selected.

  • Hi @jason.ramchandani


    yes, this I am aware of and I pressume this means the same as already described above for prices right? (so it would introduce a date into the field, say TR.PriceClose('2019-01-01').

    However, what I would want is to get the same functionality in Screener as is possible via Chain RICS. For instance:

    df, err = ek.get_data("0#.SPX('2015-01-01')", ['TR.IndexConstituentRIC'])

    would give me the list of constituents of the S&P 500 as of a specific date. This is what I would like to get.

    Is this possible?

  • @auth As far as I know this doesn't seem possible at present (as we cannot make such point in time selections for our universe) - but I will pass on your suggestion to the team responsible for screener app.


  • @jason.ramchandani: Ok that's a shame. Would be great if you could pass this on if it makes a difference, since I believe it is super valuable to see how a screen would have looked like in the past.


    Also, I wonder how people do point-in-time analysis and backtests if such functionality is not available. Guess that would be a question for the community (unless you know the best way to do so, since this is what I am aiming to do).


    What could in theory also work is if the Screener actually contains all possible stocks, also delisted ones historically and if there is a field that allows to check if its currently active or not (into which one can then introduce the date). I'm currently trying to see if this works but any help would be appreciated.

  • @auth - yes all makes perfect sense - I think the option to include inactive companies is there in the screener - but certainly not at a specific point in time - see below:

    image

    We don't provide a backtesting engine of our own yet - though that obviously would make sense. It would probably sit with our analytics team who would build it API first on our Refinitiv Data Platform and then eexpose as an app in eikon or workspace.

    One potential way forward here could be to download say .SPX as it was in 2015 say and then upload to eikon as a list and then include the list in the screen. However, I'm not certain as if some companies were delisted they get assigned new delisted RICs.

    I hope this can help.

  • @jason.ramchandani: That's basically what I am currently doing (only that I don't feed the list of S&P 500 RICs back into the screener - since this is a little too much hand-engineering for me ;) - but keep using the API based on those RICs.

    The problem is that I would need more than just the ~500 companies in the SPX and quite a long history back and I haven't found any convincing index that I have access to that would fulfill this. Russell 3000 would potentially help but there doesnt seem to be a Chain RIC for this...