Hi,
I aim to get a complete list of all companies, listed and delisted, worldwide.
As such, I used the SCREENER command and checked to include delisted stocks as well.
I noticed, however, that the data is incomplete. Many delisted stocks are not included in the universe despite explicitly checking for delisted stocks. For instance: AGL.MI^G23, BVIC.L^A25, HRH.CO^A24, and many more. I realized that because I have an initial list of rics from a previous retrieval that might have delisted in the meantime. The screener command without any filtering in the API nor the Screener in workspace captures these stocks. However, I could explicitly add them to the include and then they are retrieved. As such, I wonder why they are not included in the universe-call or am I making a mistake?
fields = ["TR.CommonName;TR.InstrumentType;TR.LegalEntityIdentifier;TR.OrganizationID;TR.InstrumentDescription;TR.IsCountryPrimaryQuote;TR.PrimaryRICCode;TR.InstrumentName;CF_NAME;TR.HeadquartersCountry;TR.ISIN"]
universe = "SCREEN(U(IN(Equity(active or inactive,public,primary,countryprimaryquote))))"
companies, _ = ek.get_data(universe, fields=fields)
While you see that this call is for primary quotes, the same problem is also prevalent for all issues.
As such, the list of stocks is incomplete, and survivalship bias prevails.
Thank you in advance!