Hi all,
I'm new to using the lseg-data
package in Python and am struggling to isolate RICs that meet a set of historical screening criteria. I’ll outline the requirements below:
I want to retrieve all tickers that:
A. Were listed on the LSE as an ordinary share at any point between a start date and now (including currently listed).
Note: If the ticker changed (e.g. due to merger), I want the original ticker when it was listed.
B. Are not part of the ICB sectors: Insurance or Banks.
C. Met all of the following conditions at least once between the start date and now:
- Price fell by over 50% within X months prior to that point
- CAPE < 5
- EV/EBITDA < 5
- P/BV < 1
- P/E < 7
I’ve tried using the screener
function in lseg-data
, but as far as I understand, it does not support screening based on values and listings at specific points in historical time—only current or recent data.
- Is it possible to backtest or screen for valuation metrics as they were on historical dates using
lseg-data
? - If
screener
is not suitable, is there another function or data access path I should explore (e.g. time series queries with historical fundamentals)? - Any tips or sample code for building a workflow that meets the above criteria would be hugely appreciated.
Thanks in advance!
Best regards,
JC
Edit: it would be helpful to yield dates where these conditions were met for each stock, and for those that were delisted the date they were delisted.