Python 雅虎财经API为部分股票报价人返回NAN

Python 雅虎财经API为部分股票报价人返回NAN,python,pandas,yahoo-finance,yahoo-api,Python,Pandas,Yahoo Finance,Yahoo Api,我试图用雅虎金融做一些非常简单的分析,只是为了适应它。我正试图从雅虎财经导入数据,然后将其显示在图表上。在代码中你可以看到,我添加了一些股票代码来获取数据,但我似乎永远无法获取道琼斯指数、标准普尔500指数或纳斯达克指数的数据。对于所有这些,它一直在返回 我的问题是,yahoo finance的API是否不包含这些数据,或者我是否需要做其他事情来获取索引数据 (jbtw在寻找ETF数据时也有同样的问题) 注意:在上面的示例中,“PUB”列只获取我粘贴的行中没有的数据,IXIC是不返回任何内容的

我试图用雅虎金融做一些非常简单的分析,只是为了适应它。我正试图从雅虎财经导入数据,然后将其显示在图表上。在代码中你可以看到,我添加了一些股票代码来获取数据,但我似乎永远无法获取道琼斯指数、标准普尔500指数或纳斯达克指数的数据。对于所有这些,它一直在返回

我的问题是,yahoo finance的API是否不包含这些数据,或者我是否需要做其他事情来获取索引数据

(jbtw在寻找ETF数据时也有同样的问题)

  • 注意:在上面的示例中,“PUB”列只获取我粘贴的行中没有的数据,IXIC是不返回任何内容的列

  • 好的。这一款我试用时效果很好。我所做的唯一改变是将你的股票代码从IXIC更新为^IXIC,这就是它在雅虎财经上的表现。 它代表纳斯达克综合指数(^IXIC)。我希望这就是你想要的

    from pandas_datareader import data
    import matplotlib.pyplot as plt
    import pandas as pd
    
    start_date = '2000-06-30'
    end_date = '2020-06-30'
    
    stocks = ['OMC','PUB','WPP','^IXIC']
    
    panel_data = data.DataReader(stocks,'yahoo',start_date,end_date)
    panel_data = panel_data[['Adj Close']]
    print(panel_data)
    panel_data.plot(y = 'Adj Close')
    plt.show()
    

    很可能数据不可用。你能确认那些股票的历史价格在那几天是可用的吗?雅虎是一个免费的数据源,你不能期望它的数据是彭博社的质量,例如,尝试其他来源,如
    quandl
    from pandas_datareader import data
    import matplotlib.pyplot as plt
    import pandas as pd
    
    start_date = '2000-06-30'
    end_date = '2020-06-30'
    
    stocks = ['OMC','PUB','WPP','^IXIC']
    
    panel_data = data.DataReader(stocks,'yahoo',start_date,end_date)
    panel_data = panel_data[['Adj Close']]
    print(panel_data)
    panel_data.plot(y = 'Adj Close')
    plt.show()