由于 Python 的 pandas_datareader API 不再能够提取雅虎财经股票数据,我正在使用 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
但是,这不适用于 quandl,因为股票代码 BRK.B 在其中包含句号。
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 密钥代码,然后将其复制并粘贴为您的 authtoken。