pandas_datareader 在从 Yahoo 获取股票拆分时出错
Posted
技术标签:
【中文标题】pandas_datareader 在从 Yahoo 获取股票拆分时出错【英文标题】:pandas_datareader error at getting stock splits from Yahoo 【发布时间】:2020-04-16 09:26:52 【问题描述】:我正在尝试从雅虎获取股市数据。 获取股票价格和股息我没有问题,但一旦涉及拆分,我就会出错。
例如“可口可乐”库存('KO')
from pandas_datareader import data
start_date = '2000-01-01'
end_date = '2020-12-31'
a = data.DataReader('KO', 'yahoo-actions', start_date, end_date)
我收到一个错误(我认为是指 2:1 股票分割):
File "<string>", line 1
2:1
^
SyntaxError: invalid syntax
如果我在没有拆分的股票(即“TSLA”)上运行相同的代码,它运行没有问题。 我试着把它变成一个字符串,但没有成功。
我没有想法,在网上找不到类似的问题。 有人知道可能出了什么问题吗?
【问题讨论】:
您可以尝试一个名为yahooquery 的包,特别是Ticket 类的history 方法。生成的数据框将包含股票拆分(如果有的话)。 【参考方案1】:已解决:
在“pandas_datareader”库中的“daily.py”文件中,我进行了更改:
if "SPLIT" in types:
def split_ratio(row):
if float(row["Numerator"]) > 0:
return eval(row["Splitratio"])
else:
return 1
到:
if "SPLIT" in types:
def split_ratio(row):
if float(row["Numerator"]) > 0:
return row["Splitratio"]
else:
return 1
现在它可以在本地工作,但我不能在 colab 上使用它。
现在已经足够了。
【讨论】:
以上是关于pandas_datareader 在从 Yahoo 获取股票拆分时出错的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 pandas_datareader 从雅虎获取股票数据