yfinance 多家公司的特定财务

yfinance specific financials for multiple companies

我想从多家公司获得当年的净收入和研发情况。目前,来自 yfinance 库的 ticker.financials 为我提供了 4 年和多个指标的完整 table。

我正在检查下面的财务指标,但只有年份。

# Import packages
import yfinance as yf
import pandas as pd

msft = yf.Ticker("MSFT")
info = msft.financials
info.keys()
DatetimeIndex(['2021-06-30', '2020-06-30', '2019-06-30', '2018-06-30'], dtype='datetime64[ns]', name='', freq=None)

例如,

msft.financials

给我这个

我想创建一个类似

的代码组
tickers = ["AAPL", "MSFT", "IBM", "GOOG", "ORCL"]

对于这些公司,我需要 2021-06-30 的净收入和研发。

yfinance 怎么可能做到这一点?

由于获取公司财务信息的格式是dataframe,所以最后一个closing date合并成一个空dataframe。合并后,更新代码列表中的列名称。以下是检索后的dataframe的一部分。根据获得的数据,我们为每个人提取必要的主题。

import yfinance as yf
import pandas as pd

tickers = ["AAPL", "MSFT", "IBM", "GOOG", "ORCL"]

df = pd.DataFrame()
cols = []
for ticker in tickers:
    company = yf.Ticker(ticker)
    info = company.financials
    df = pd.concat([df, info.iloc[:,0]], axis=1)
    cols.append(ticker+'('+info.columns[0].strftime('%Y-%m-%d')+')')
df.columns = cols

df.head()

    AAPL(2021-09-25)    MSFT(2021-06-30)    IBM(2020-12-31)     GOOG(2020-12-31)    ORCL(2021-05-31)
Research Development    21914000000.0   20716000000.0   6333000000.0    27573000000.0   6527000000.0
Effect Of Accounting Charges    None    None    None    None    None
Income Before Tax   109207000000.0  71102000000.0   4637000000.0    48082000000.0   12999000000.0
Minority Interest   None    None    129000000.0     None    714000000.0
Net Income  94680000000.0   61271000000.0   5590000000.0    40269000000.0   13746000000.0

研究开发与收入

df.iloc[[0,4],]
AAPL(2021-09-25) MSFT(2021-06-30) IBM(2020-12-31) GOOG(2020-12-31) ORCL(2021-05-31)
Research Development 2.1914e+10 2.0716e+10 6.333e+09 2.7573e+10 6.527e+09
Net Income 9.468e+10 6.1271e+10 5.59e+09 4.0269e+10 1.3746e+10