java Yahoo finance api没有返回历史数据

时间:2017-04-21 10:26:00

标签: java yahoo-finance

我使用Java Yahoo finance api获取股票历史数据和统计数据。从过去1周起,它没有返回历史数据。有任何修改。我使用以下java代码来获取历史数据

Map<String, Stock> stocks = YahooFinance.get(symbols_array, from, to, Interval.DAILY);
for (int i = 0; i <= index; i++) {
try {
    Stock element = stocks.get(symbols_array[i]);
    StockQuote element_quote = element.getQuote();
    StockStats element_stats = element.getStats();
    List<HistoricalQuote> hist_list = element.getHistory();
}
catch(Exception e){}

}

1 个答案:

答案 0 :(得分:0)

作为替代方案,您可以使用此网址 -

  

https://query2.finance.yahoo.com/v8/finance/chart/ NHPC.NS 格式化=真安培;屑= 6iPfwrHM.4i&安培;朗= EN-IN&安培;区域= IN&安培;间隔1 = <强> 1501563799 &安培;周期2 = <强> 1502254999 &安培;间隔= 1D与活动= DIV |分裂&安培; corsDomain = in.finance.yahoo.com

当您在Yahoo Finance网站中对某股票进行历史搜索时,这是您的浏览器请求https://in.finance.yahoo.com/的网址。

查看截图 - enter image description here

脚本名称中必须更改的参数以及持续时间。我在NSE寻找NHPC的历史股票价格,这就是为什么剧本名称是NHPC.NS

要设置持续时间,您需要更改参数period1和period2的值,period1是开始日期,period2是结束日期。两个日期参数的值都在Unix纪元时间内。要将人类日期转换为Unix纪元时间,请检查工具:https://www.epochconverter.com/

在我上面发布的网址中,我正在寻找从8月1日到8月9日的持续时间 2017年8月1日(IST) - 1501563799
2017年8月9日(IST) - 1502254999

根据您的条件修改上述URL后,发出Get请求,您将获得一个类似这样的Json响应 - enter image description here

现在,您可以用您喜欢的语言为响应编写Json解析器,并相应地使用项目中的历史数据。