标签: pandas-datareader

从 Pandas DataReader 数据框中提取特定值?

这是我正在运行的代码:

def competitor_stock_data_report():
    import datetime
    import pandas_datareader.data as web

    date_time = datetime.datetime.now()
    date = date_time.date()

    stocklist = ['LAZ','AMG','BEN','LM','EVR','GHL','HLI','MC','PJT','MS','GS','JPM','AB']
    start = datetime.datetime(date.year-1, date.month, date.day-1)
    end = datetime.datetime(date.year, date.month, date.day-1)

    for x in stocklist:
        df = web.DataReader(x, 'google', start, end)
        print(df)
        print(df.loc[df['Date'] == start]['Close'].values)
Run Code Online (Sandbox Code Playgroud)

问题出在最后一行。如何提取指定日期“收盘”值的具体值?

             Open   High    Low  Close   Volume
Date                                           
2016-08-02  35.22  35.25  33.66  33.75   861111
2016-08-03  33.57  34.72  33.42  34.25   921401
2016-08-04  33.89  34.22  33.77  34.07   587016
2016-08-05  34.55  34.94  34.31  34.35   463317
2016-08-08  34.54  34.75  34.31  34.74   958230
2016-08-09 …
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-datareader

3
推荐指数
1
解决办法
2030
查看次数

连接到“Iex”或“morningstar”并检索数据

我尝试从 iex 或 Morningstar 检索历史财务数据。为此,我使用以下代码。

import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader.data as web
import datetime

start = datetime.datetime(2019, 1, 1)
end = datetime.datetime(2019, 1, 10)
facebook = web.DataReader("FB", 'morningstar', start, end)

print(facebook.head())
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到错误消息:

NotImplementedError:data_source='morningstar' 未实现

或者

ValueError:必须通过 api_key 变量或环境变量 IEX_API_KEY 提供 IEX Cloud API 密钥

取决于我使用的两个来源中的哪一个。

我尝试过了

pip uninstall pandas-datareader
pip install pandas-datareader
Run Code Online (Sandbox Code Playgroud)

多次并重新启动内核,但没有任何变化。这个 API 是否有任何变化或者我做错了什么?

python-3.x pandas pandas-datareader elixir-iex

3
推荐指数
1
解决办法
8124
查看次数

防止conda自动降级python包

我在使用v0.8.1 包时遇到问题。pandas-datareader为了解决我的问题,我必须通过运行以下命令将软件包升级到较新的版本 0.9:

conda install -c anaconda pandas-datareader
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我稍后尝试使用命令升级 conda 软件包时conda update --allpandas-datareader被降级回 v0.8.1。v0.8.1来自 conda-forge 频道我想要的是来自 anaconda 频道的v0.9 。

当我运行时,如何强制 conda 始终将 pandas-datareader 升级到 anaconda 通道中的最新版本conda update --all

我在 Windows 10 上使用 python anaconda 2020_07 版本。

python anaconda conda pandas-datareader conda-forge

2
推荐指数
1
解决办法
1458
查看次数

如何在 Python 中使用 pandas-datareader 提取看涨期权/看跌期权价格?

我有以下代码。我尝试从雅虎和谷歌获取数据,但都不起作用。它抛出以下消息

from pandas_datareader.data import Options

fb_options = Options('TSLA', 'yahoo')
options_df = fb_options.get_options_data(expiry=fb_options.expiry_dates[0])

print(options_df.tail())
Run Code Online (Sandbox Code Playgroud)

错误消息:由于 API 中存在大量中断,并且没有引入稳定的替代品,Yahoo Options 已立即被弃用。欢迎请求重新启用这些数据连接器。

还有其他方法可以检索期权价格吗?

python trading quantitative-finance pandas-datareader

1
推荐指数
1
解决办法
5273
查看次数

为什么 pandas_datareader 停止从 IEX 和 Robinhood API 检索数据

一段时间以来,我一直在使用 pandas_datareader 从 IEX 和 Robinhood API 检索股票价格,没有出现任何问题。然而,最近(本周初),我的代码开始失败。

这是代码和错误:

应用程序编程接口

import pandas_datareader.data as web
import datetime as dt

end = dt.datetime.today()
start = end - relativedelta(months=20)
data = web.DataReader('MSFT', 'iex', start, end)
Run Code Online (Sandbox Code Playgroud)

和错误:

web.DataReader('MSFT', 'iex', start, end)
Traceback (most recent call last):

  File "<ipython-input-88-2781d4515d5c>", line 1, in <module>
    web.DataReader('MSFT', 'iex', start, end)

  File "/anaconda3/lib/python3.7/site-packages/pandas_datareader/data.py", line 322, in DataReader
    session=session).read()

  File "/anaconda3/lib/python3.7/site-packages/pandas_datareader/iex/daily.py", line 91, in read
    self._get_params(self.symbols))

  File "/anaconda3/lib/python3.7/site-packages/pandas_datareader/base.py", line 84, in _read_one_data
    out = self._read_url_as_StringIO(url, params=params)

  File "/anaconda3/lib/python3.7/site-packages/pandas_datareader/base.py", line 95, …
Run Code Online (Sandbox Code Playgroud)

python pandas-datareader

0
推荐指数
1
解决办法
4024
查看次数

股票代码的公司名称

是否可以从 pandas datareader 获取股票的公司名称。例如我可以使用此代码来输出公司的数据:data = web.DataReader(stock, 'yahoo',start, end)。我如何获得 的股票代码Fb名称Facebook

如果 pandas-datareader 不提供此功能,我该如何获取公司名称?

python-3.x pandas-datareader

0
推荐指数
1
解决办法
2112
查看次数