portfolioplus / pytickersymbols

Fundamental stock data and yahoo/google ticker symbols for several indices.
MIT License
109 stars 28 forks source link

Returning an iterator instead of a list #988

Open jonnymaserati opened 1 month ago

jonnymaserati commented 1 month ago

This is returning an iterator that needs to be wrapped in a list() - the docstring suggests it's meant to be a list and I see the other methods are using the __filter to return the data - perhaps that was meant here?

https://github.com/portfolioplus/pytickersymbols/blob/fe5e86c259231a6ac4f15071c0480d77d98d846c/src/pytickersymbols/__init__.py#L192

jonnymaserati commented 1 month ago

Looks like there's a few others that need updating, plus if I'm after FTSE 100 London data, then I'm only interested in the tickers for London Stock Exchange, so need to do something like this:

stock_data = PyTickerSymbols()
ftse_100 = [
    ticker for ticker in stock_data.get_ftse_100_london_yahoo_tickers()
    if '.L' in ticker
]

Interestingly, this currently returns 102 companies?

jonnymaserati commented 1 month ago

Some of the London tickers need updating. The delisted_assets aren't recognized anymore by Yahoo! and the updated_assets are when Shell left the Netherlands, which was a while back now. The two difference share types were consolidated into one I believe?

"delisted_assets": [
    "LSE.L", "AVV.L", "DPH.L", "HSV.L", "ICP.L", "SDRC.L", "RB.L"
],
"updated_assets": {
    "RDSA.L": "SHEL.L", "RDSB.L": "SHEL.L"
}