如何使用 pandas-datareader 从 Yahoo 查找任何索引
Posted
技术标签:
【中文标题】如何使用 pandas-datareader 从 Yahoo 查找任何索引【英文标题】:How to lookup any index from Yahoo using pandas-datareader 【发布时间】:2017-04-03 15:05:58 【问题描述】:我想对任何在线索引使用查找,包括带有数字的索引。一个随机的例子是:
https://uk.finance.yahoo.com/quote/YSM6.AX/futures?p=YSM6.AX
一个天真的方法是使用pandas-datareader:
from pandas_datareader import data as datareader
online_data = datareader.DataReader('YSM6.AX', 'yahoo', start, end)
但是,这不起作用。我认为股票代码中的数字处理不当。此命令适用于例如“苹果”。
如何让它适用于任何索引?
【问题讨论】:
【参考方案1】:YSM6.AX 链接显示该股票没有数据。 如果您想获取多只股票,并专门获得调整后的收盘价,您可以使用此代码。它考虑了任何带有“-”或在 YSM6.AX 的情况下带有“.”的有趣股票代码。在股票行情内。
import pandas as pd
import datetime
from pandas_datareader import data, wb
tickers = ["BRK.B", "AAPL", "MSFT", "YHOO", "JPM"]
series_list = []
start = datetime.datetime(2012, 4, 5)
end = datetime.datetime(2017, 3, 28)
for security in tickers:
s = data.DataReader(security.replace(".","-"),"yahoo",start, end )["Adj Close"]
s.name = security
series_list.append(s)
df = pd.concat(series_list, axis=1)
stocks= pd.DataFrame(df)
stocks
【讨论】:
谢谢迈克尔。【参考方案2】:如果您查看您提供的链接,YSM6 是 ASX 的期货合约。具体来说,它是 M6 到期,意思是 2016-06。而雅虎在他们的网站上已经没有这个合同的数据了——可能是因为它已经过期了,或者可能是因为它从来没有任何可用的数据。此外,该产品(3 年期 AU 利率掉期期货)似乎已被交易所停产。
您的问题是您需要“库存”数据。以下是带有数字符号的实际股票示例:
https://uk.finance.yahoo.com/quote/7203.KL/?p=7203.KL
【讨论】:
谢谢约翰,非常及时和乐于助人的回复。您正确回答了我的问题,但在您回答时我正在修改。抱歉,我对此还是很陌生。 我回滚到原来的问题并接受了你的回答。谢谢。以上是关于如何使用 pandas-datareader 从 Yahoo 查找任何索引的主要内容,如果未能解决你的问题,请参考以下文章
Zipline:使用 pandas-datareader 为非美国金融市场提供 Google Finance 数据框
模块'pandas_datareader'没有属性'get_data_yahoo'