从雅虎财务获得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