从雅虎财务获得ISIN的历史价格

我有以下问题:

我有大约1000个独特的ISIN数量的证券交易所上市公司。

  • 我需要这些公司的历史价格从最早的上市开始,直到今天。

然而,就我的研究而言,雅虎只能提供我没有的股票代码符号的价格。

有没有办法得到ISIN: AT0000609664例子ISIN: AT0000609664 ,这是公司Porr从雅虎自动通过他们的api的历史价格?

感谢您的回复!

答案:

要从ISIN获取Yahoo股票代码,请查看yahoo.finance.isin表,这是一个示例查询:

 http://query.yahooapis.com:80/v1/public/yql?q=select * from yahoo.finance.isin where symbol in ("DE000A1EWWW0")&env=store://datatables.org/alltableswithkeys 

这将返回XML中的自动ADS.DE

    ADS.DE      

我担心您的示例ISIN将无法正常工作,但这是Yahoos方面的错误(请参阅Yahoo Symbol Lookup ,在那里键入您的ISIN以检查Yahoo上是否存在股票代码)。

实施:

对不起,我不再精通Java或R了,但这个C#代码应该几乎相似,足以复制/粘贴:

 public String GetYahooSymbol(string isin) { string query = GetQuery(isin); XDocument result = GetHttpResult(query); XElement stock = result.Root.Element("results").Element("stock"); return stock.Element("Isin").Value.ToString(); } 

其中GetQuery(string isin)将查询的URI返回给yahoo(请参阅我的示例URI), GetHttpResult(string URI)从Web获取XML。 然后你必须提取Isin节点的内容,你就完成了。

我假设您已经使用股票代码符号实现了实际数据提取。 另请参阅此问题的逆问题(符号 – > isin)。 但是为了记录:

查询以获取符号的历史数据

 http://query.yahooapis.com:80/v1/public/yql?q=select * from yahoo.finance.historicaldata where symbol in ("ADS.DE") and startDate = "2015-06-14" and endDate = "2015-09-22"&env=store://datatables.org/alltableswithkeys 

您可以在其中传递任意日期和任意的股票代码列表。 您可以在代码中构建查询并从您获得的XML中提取结果。 回应将是如此

    2015-09-21 69.94 71.21 69.65 70.79 973600 70.79   2015-09-18 70.00 71.43 69.62 70.17 3300200 70.17  ......     

这应该让你足够自己编写自己的代码。 请注意,有可能在查询结束时使用&e=.csv将数据作为.csv格式获取,但我对此不太了解,或者它是否适用于上述查询,请参阅此处以供参考。

我找到了一个Web服务,它根据日期范围提供历史数据。 请看一看

http://splice.xignite.com/services/Xignite/XigniteHistorical/GetHistoricalQuotesRange.aspx