由于Python的pandas_datareader API不再能够提取Yahoo金融股票数据,因此我使用quandl。这需要在命令终端中设置一个帐户并执行“ pip install quandl”。
如果我有一个不寻常的股票报价器,例如BRK.B,那么使用pandas_datareader API从Google提取股票数据就可以了。
import pandas as pd
import datetime
from pandas_datareader import data, wb
start = datetime.datetime(2016, 1, 1)
end = datetime.datetime(2017, 1, 1)
brk = data.DataReader("BRK.B", "google", start, end)["Close"]
brk
但是,由于股票行情自动收录器BRK.B内含句号,因此不适用于quandl。
import quandl
brk = ["BRK.B"]
for stk in brk:
b = quandl.get("WIKI/{}".format(stk),
authtoken = "Mixture of numbers, and lower/upper case letters",
start, end)["Adj. Close"]
这导致代码中断。但是,如果我将[“ BRK.B”]交换为任何正常的股票行情记录,例如[“ AAPL”],则效果很好。
我想使用quandl API从标准普尔500指数中提取全部505种股票,因为有些股票代号带有“。”。在他们那里,这是行不通的。
我尝试了
format(stk.replace(".", "-"))
,但也没有用。任何帮助将不胜感激。顺便说一句,对于那些不知道的人。您必须先设置一个quandl帐户,然后从您的quandl帐户设置中获取API密钥代码,然后将其复制并粘贴为您的身份验证令牌。
最佳答案
您是否尝试过使用下划线替换它?
"WIKI/{}".format(stk.replace(".", "_")) # replacing . with _ instead of -
如果我没记错的话,可以使用点从数据中切出特定的列。
关于python - 如何使用句号停止从Quandl获取股票数据? python ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44170082/