我建立我自己一个RESTful web应用程序,我感兴趣的是得到JSON格式的股票数据是免费的。 我打算使用JavaScript客户端。 有一个免费的股票API,我可以挖掘到, 不返回XML,并且不使用C#。
编辑:我发现这个JSON查询... ...它做的工作?
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json
当然,如果带回来,并解析为JSON使用JavaScript,你就可以做到以下几点,拔出你都想得到一切恢复股票:
var callback = function(_return /* The json returned for yahooapis */) {
var totalReturned = _return.query.count;
//OR: var totalReturned = _return.query.results.quote.length;
for (var i = 0; i < totalReturned; ++i) {
var stock = _return.query.results.quote[i];
var symbol = stock.symbol;
var percent_change = stock.Change_PercentChange;
var changeRealTime = stock.ChangeRealtime;
...
}
}
-
var url = 'http://query.yahooapis.com/v1/public/yql';
var startDate = '2012-01-01';
var endDate = '2012-01-08';
var data = encodeURIComponent('select * from yahoo.finance.historicaldata where symbol in ("YHOO","AAPL","GOOG","MSFT") and startDate = "' + startDate + '" and endDate = "' + endDate + '"');
$.getJSON(url, 'q=' + data + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", callback);
-
YQL演示
(添加和startDate = "" and endDate = ""
与格式YYYY-MM-DD的日期查询到你想要的东西,也一定要选择JSON作为输出格式)
-
从评论一些额外的信息:
- 在上面的例子中的查询是从yahoo.finance.historicaldata历史数据,您还可以查询yahoo.finance.quotes用于实时 - 滞后约15分钟)
- 如果你想真正的实时信息查询的Web服务:如
finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json
(添加&view=detail
如果你想有一个更详细的输出到该查询)
作为软件开发人员,我建议阿尔法华帝 。 他们提供的实时和历史股票报价(每日,每周,每月等), 基于REST API的JSON。
它具有无限的API调用完全免费的。 这是实时的,只要股票上主要的证券交易所上市。
下面是一个例子API调用的MSFT每日价格和数量,分流/股息调整充实。 最新的数据点是当前交易日的实时信息。
他们还根据自己的文档,对市场数据的顶部提供了技术分析的API。
文档: https://iextrading.com/developer/docs/#stocks
GET https://api.iextrading.com/1.0/stock/jnj/quote
{
"symbol": "JNJ",
"companyName": "Johnson & Johnson",
"primaryExchange": "New York Stock Exchange",
"close": 124.69,
"closeTime": 1531771224535
}