我希望能够传递股票代码和收盘价的日期。有谁知道任何好的免费api?如果重要的话,这是用于非商业用途。
4 回答
我知道的最简单的方法是使用 Yahoo Finance API。这是一个方便的图表,显示了您可以传递的所有选项(阅读整个帖子,因为它已在底部更新):
http://ilmusaham.wordpress.com/tag/stock-yahoo-data/
请注意以下几点:
1) 了解未调整价格和调整价格之间的差异。如果您不小心,拆分将使您的比较变得毫无意义。
2)不要忘记兼并和分拆的影响。回到足够远的地方,你几乎肯定会胡说八道。比如,想想AT&T这个案子,被收购了,消失了一阵子,然后名字又复活了。现在无法获得 AT&T 数十年的实际价格历史记录。
yahoo Finance 可以提供帮助:例如,对于 Apple 股票: http: //ichart.yahoo.com/table.csv ?s=AAPL&d=11&e=6&f=2009&g=d&a=8&b=7&c=1984&ignore=.csv
请求的参数非常简单(s 代表股票代码,f 和 c 代表范围,以年为单位。您可以使用 urllib 模块在 python 中检索数据,并使用 csv 模块解析它们。应该是很简单,但我可以给你一段代码。如果你把它放在一个hastable中,键设置为iso格式的日期(yyyy-mm-dd),它应该很容易一个收盘价。
此外,最好的(商业和非常昂贵的)数据质量可以通过Bloomberg API(Java、C 和C++)找到。
我上次查看时,您可以从 yahoo 获取一系列日期的历史数据,尽管我不知道他们的 TOS 的限制。您可以指定一个相当不错的范围并在电子表格或 csv 中获取数据。你会想要大量缓存它,我希望。