使用yfinance python从Yahoo Finance获取财务数据

问题描述

我正在尝试yfinance软件包,试图获取财务数据框。尽管获取信息,历史记录和操作效果很好,但是即使使用不同的股票,它也不适用于财务,资产负债表和其他方法

输入

import yfinance as yf
msft = yf.Ticker("MSFT")
print(msft.financials)

输出

Empty DataFrame
Columns: [Open,High,Low,Close,Adj Close,Volume]
Index: []`

这些列也是错误的。 我正在寻找一种解决问题的方法或另一种获取数据的解决方案。

解决方法

这是一个已知问题,您可以在 this GitHub issue 上看到。已经解决了,但是官方还没有发布改动。

您可以在“文件已更改”部分看到可以作为快速解决方案应用于本地包代码的更改。

,

据我了解,可以参考msft.financials来查看库存可以预先获得什么样的数据。例如,是否存在调整后的关闭以及数据可用的时间。您可以使用msft.history(period='max')进行检查。

print(msft.history(period="max"))
              Open    High     Low   Close      Volume  Dividends  \
Date                                                                
1986-03-13    0.06    0.06    0.06    0.06  1031788800        0.0   
1986-03-14    0.06    0.07    0.06    0.06   308160000        0.0   
1986-03-17    0.06    0.07    0.06    0.07   133171200        0.0   
1986-03-18    0.07    0.07    0.06    0.06    67766400        0.0   
1986-03-19    0.06    0.06    0.06    0.06    47894400        0.0   
...            ...     ...     ...     ...         ...        ...   
2020-09-25  203.55  209.04  202.54  207.82    29437300        0.0   
2020-09-28  210.88  212.57  208.06  209.44    32004900        0.0   
2020-09-29  209.35  210.07  206.81  207.26    24221900        0.0   
2020-09-30  207.73  211.98  206.54  210.33    33829100        0.0   
2020-10-01  213.49  213.99  211.32  212.46    27115800        0.0  

您可以按如下方式获取实际数据。

data = yf.download("MSFT",start="2019-01-01",end="2019-04-30")
data
    Open    High    Low Close   Adj Close   Volume
Date                        
2018-12-31  101.290001  102.400002  100.440002  101.570000  99.300156   33173800
2019-01-02  99.550003   101.750000  98.940002   101.120003  98.860214   35329300
2019-01-03  100.099998  100.190002  97.199997   97.400002   95.223351   42579100
2019-01-04  99.720001   102.510002  98.930000   101.930000  99.652115   44060600
2019-01-07  101.639999  103.269997  100.980003  102.059998  99.779205   35656100
... ... ... ... ... ... ...
2019-04-23  124.099998  125.580002  123.830002  125.440002  123.160469  24025500
2019-04-24  125.790001  125.849998  124.519997  125.010002  122.738281  31257000
2019-04-25  130.059998  131.369995  128.830002  129.149994  126.803055  38033900
2019-04-26  129.699997  130.520004  129.020004  129.889999  127.529594  23654900
2019-04-29  129.899994  130.179993  129.350006  129.770004  127.411781  16324200
,

在尝试安装yahooquery时,出现以下错误。

错误:由于环境错误而无法安装软件包:[WinError 5]访问被拒绝:'C:\ Users \ xxxx \ anaconda3 \ Lib \ site-packages \〜xml \ etree.cp38-win32.pyd' 考虑使用--user选项或检查权限

您的建议将不胜感激。