Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 3 4 4

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


eikoneikon-data-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-apihistoricalscreener
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.

@auth

Hi,

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

Upvotes
Accepted
10.2k 18 6 9

@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

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.


1614949223543.png (114.8 KiB)
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.

Upvotes
10.2k 18 6 9

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

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


1614943568955.png (443.8 KiB)
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.

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?

Upvotes
10.2k 18 6 9

@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.

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.


@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.

Upvotes
10.2k 18 6 9

@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:

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.


1614945513521.png (171.6 KiB)
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.

@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...

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.