Greetings
I hope someone can shed some light on the following:
I am using the following snippet to get the current active list of shares on the London Stock Exchange:
df,e =ek.get_data('SCREEN(U(IN(Equity(active,public,countryprimaryquote))/*UNV:Public*/), IN(TR.ExchangeMarketIdCode,"XLON"), IN(TR.InstrumentType,"Depository Receipt","Equities","Fully Paid Ordinary Shares","Ordinary Shares","Partly Paid Ordinary Shares"))',['TR.RIC','TR.CommonName', 'TR.EXCHANGEMARKETIDCODE','TR.ISPRIMARYINSTRUMENT','TR.ISPRIMARYQUOTE','TR.ISCOUNTRYPRIMARYQUOTE','TR.ISIN','TR.InstrumentType', 'TR.TRBCEconomicSector', 'TR.TRBCEconSectorCode'])
This returns roughly 6900 records, but according the the LSE website and their instrument list (https://www.londonstockexchange.com/statistics/companies-and-issuers/companies-and-issuers.htm. Excel doc on page) there are only:
- 2094 Shares
- 229 Depository Receipts
Given that I am filtering for active, public and CountryPrimary I would expect to get back the same or slightly less... not > 4000 more RICs....
Can anyone explain this? Where is the main issue. - is the instrument list from the LSE incomplete and I should not worry or is the screener returning more than it should? Am I missing or misunderstanding something with regards to how and what to filter to get the list of equities that represent the UK LSE trading market!
Thank you kindly