ranaroussi / yfinance

Download market data from Yahoo! Finance's API
https://aroussi.com/post/python-yahoo-finance
Apache License 2.0
14.62k stars 2.43k forks source link

yfinance 0.2: quarterly_cashflow not working for some stocks #1265

Open galashour opened 1 year ago

galashour commented 1 year ago

Originally reported by @LouviersJ :

quarterly_cashflow is not working for some stocks including but not limited to AMAM META, FBSE, MVO, OSG, EPM, FFIE, ELYS, JWEL, MMU, IHD I included a few that I found so maybe you could find the common denominator... Currently a line such as yf.Ticker('AMAM').quarterly_cashflow isn't even returning an empty dataframe, I am getting no output.

galashour commented 1 year ago

Did a quick check on my side, with version 0.2.3: for tickers: META, OSG, EPM, FFIE, ELYS I was able to get dataframe by doing: (where XXXX is one of the above tickers): yf.Ticker(XXXX).quarterly_cashflow

for tickers JWEL, AMAM, FBSE, MMU, IHD - indeed I got back an empty dataframe, but checking on yahoo, the quarterly data was missing as well, see for example (make sure you switch to the quarterly view): https://finance.yahoo.com/quote/AMAM/cash-flow?p=AMAM It seems that for these tickers yahoo currently doesn't have the quarterly data.

ValueRaider commented 1 year ago

So what Yahoo is doing here is odd. Yahoo doesn't present quarterly data for a small % of tickers, but hidden in the HTML is a valid table which 0.1 was returning.

This functionality is accessible via Ticker.get_cashflow(freq="quarterly", legacy=True) etc. I'm not 100% happy with API so open to suggestions.

Also odd is when Yahoo does present quarterly data, the dates are slightly different between the two tables.

galashour commented 1 year ago

So what Yahoo is doing here is odd. Yahoo doesn't present quarterly data for a small % of tickers, but hidden in the HTML is a valid table which 0.1 was returning.

This functionality is accessible via Ticker.get_cashflow(freq="quarterly", legacy=True) etc. I'm not 100% happy with API so open to suggestions.

Also odd is when Yahoo does present quarterly data, the dates are slightly different between the two tables.

Agree it is weird that yahoo returns hidden data it is not showing. It also explains why I was able in yfinance 0.1.9 to get data from financial_quarterly but these fields probably were in the 'hidden part' too, and thus 'relocated' to other tables once moving to yfinance 0.2.

I assume at some point, yahoo will drop the 'hidden data' altogether. So my own preference would be to use the new tables/attributes as mentioned in #1260 for example and stop using the 'hidden / obsolete' tables.

This way we will also avoid 'duplications' of data across different tables (and yes, the down side is that for a small number of tickers yahoo stopped providing quarterly cashflow data).

ValueRaider commented 1 year ago

I assume at some point, yahoo will drop the 'hidden data' altogether.

:shrug: Yahoo have been maintaining two different tables for most tickers & financials for at least 2.5 years (#250).