【问题标题】:How to lookup any index from Yahoo using pandas-datareader如何使用 pandas-datareader 从 Yahoo 查找任何索引
【发布时间】: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)

但是,这不起作用。我认为股票代码中的数字处理不当。此命令适用于例如“苹果”。

如何让它适用于任何索引?

【问题讨论】:

    标签: python pandas yahoo datareader ticker


    【解决方案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

    【讨论】:

    • 谢谢约翰,非常及时和乐于助人的回复。您正确回答了我的问题,但在您回答时我正在修改。抱歉,我对此还是很陌生。
    • 我回滚到原来的问题并接受了你的回答。谢谢。
    猜你喜欢
    • 2018-08-11
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2017-07-12
    • 2020-01-04
    • 2020-05-19
    • 1970-01-01
    • 2022-08-17
    相关资源
    最近更新 更多