实现历史价格查询java_java – 从雅虎金融获得ISIN的历史价格

本文介绍如何使用Java实现从Yahoo Finance获取特定ISIN的历史价格。首先,通过查询yahoo.finance.isin获取股票代码,然后利用获取到的代码调用历史数据API,以获取指定日期范围内的价格数据。
摘要由CSDN通过智能技术生成

答案:

要从ISIN获取雅虎股票代码,请查看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来检查雅虎是否存在该代码).

实施:

对不起,我不熟练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节点的内容,你完成了.

我假设您已经使用代码符号实现了实际的数据提取.

反问题也可参见this question(符号 – > 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格式的数据,但是我不太了解这些数据,或者对于上述查询可以使用,因此请参阅here作为参考.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值