【发布时间】:2020-08-03 02:25:12
【问题描述】:
我正在尝试使用 Yahoo Finance 进行一些非常简单的分析,以便习惯使用它。我试图从 yahoo Finance 导入数据,然后将其显示在图表上。在代码中,您可以看到我添加了一些代码来获取数据,但我似乎永远无法获取道琼斯、标准普尔 500 或纳斯达克等指数的数据。它继续为所有这些返回 NaN。
我的问题是,雅虎财经的 API 是否不包含该数据,还是我需要做其他事情来获取索引数据?
(我在寻找 ETF 数据时遇到同样的问题)
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()
Output:
Attributes Adj Close
Symbols OMC PUB WPP IXIC
Date
2000-06-30 29.635815 NaN 39.444866 NaN
2000-07-03 30.093342 NaN 39.275150 NaN
2000-07-05 29.822983 NaN 39.512760 NaN
2000-07-06 29.407042 NaN 39.852219 NaN
2000-07-07 28.284004 NaN 39.241199 NaN
- 注意:在上面的示例中,“PUB”列获取的数据不在我粘贴的行中,IXIC 是没有返回任何内容的列
【问题讨论】:
-
很可能数据不可用。您能否确认这些股票在其他日子里的历史价格是可用的?
-
雅虎是一个免费的数据源,你不能指望它的数据是彭博的质量,例如。尝试其他来源,例如
quandl。
标签: python pandas yahoo-finance yahoo-api