从Yahoo!获取调整后的价格信息一次调用中多个符号的Finance API

我希望使用Yahoo!获得一组股票代码的调整后价格(调整分割和股息)金融。看起来历史价格调用一次仅限于一个符号。如果有办法在一次通话中获得多个符号,请告诉我吗? 我想获取这些数据,以便我可以对该数据进行一些回溯测试。由于我可能需要相当多的符号(例如500-1000),如果我只需要对Yahoo!的服务器进行几次批量调用,而不是每天为每个符号调用一次,那将会更容易。 获得调整后价格的另一种方法是使用他们的每日股票价格api并使用红利和拆分信息手动调整它们(他们允许每日股票报价使用多个符号)。不幸的是,我找不到任何方法从http调用中获取拆分信息(基于50%或200%的猜测是一种选择,但如果你处理便士股票,这可能是危险的,无法找出不均匀的拆分)。此外,它返回的红利信息不易解码。他们似乎总共退回了超过4个季度,并且股息日期与基于历史价格的实际股息日期并不真正对应。可以在此处找到呼叫的各种选项:http://www.gummy-stuff.org/Yahoo-data.htm 有关获得多个符号的调整价格的任何建议?或者我不必担心向雅虎拨打100个电话!每天?理想情况下,我希望每天在几个小时内下载所有必需的数据 - 即每分钟10-20个电话。太多了吗?我找不到每秒允许的请求数量的任何文档。 我对其他可以获得类似数据的地方开放。但是,由于我只是想学习量化交易的基础而不是交易,我宁愿免费下载。 谢谢 -e     
已邀请:
你熟悉R吗? R中相当简单的脚本将使您能够做到这一点。 以下是一些资源的链接:https://stackoverflow.com/questions/1228801/r-for-finance-tutorials-resources 阅读答案后,他们会推荐一大堆R-finance书籍。     
这是一个老问题,但我确实找到了可用分割数据的来源。不确定这些公告的综合程度如何: http://biz.yahoo.com/c/09/s1.html 在网址中,“09”部分是年份(2009年),“s1”部分是月份(s1 = 1月,s2 = 2月,s3 = 3月等) 它不是一个很好的干净的CSV,但页面的格式是一致的,应该是可解析的。只需每天查询当月,查询页面,并处理前一天没有看到的任何拆分。 ETA:另一个来源(可能不如雅虎可靠,但可以通过自动收报机查询): http://getsplithistory.com/     
我不确定您使用的是哪种语言,但我在C#中有一个示例。我认为它至少会给你这个想法,或者可能会帮助其他人
 private string BASE_URL = "http://query.yahooapis.com/v1/public/yql?q=" + "select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20({0})" + "&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";

Collection<Quote> quotes;

string symbolList = String.Join("%2C", quotes.Select(w => "%22" + w.Symbol + "%22").ToArray());
string url = string.Format(BASE_URL,symbolList);

XDocument doc = XDocument.Load(url);
Parse(quotes,doc);   
我们在这里做的是将“,”附加到每个数组项,然后将该符号列表传递给yahoo。我已成功获得每次通话中700个符号的价格。为每个自动收报机点击雅虎服务器是一件痛苦的事。我每天都会获取所有6500+代码的股票价格。早些时候使用它需要3个小时,现在它不到2分钟.....甜 该代码的源代码链接在这里 - http://www.jarloo.com/get-yahoo-finance-api-data-via-yql/ 附:请获得api密钥以顺利工作。上面的url是一个公共链接,其中表格在大多数时间都是超时的。获得api密钥后,您的网址将为(减去“公共”) http://query.yahooapis.com/v1/yql     

要回复问题请先登录注册