我可以使用以下代码从yahoo finance API获取股票价格。我可以获得美国股票,EFT,甚至国际报价,但无法获得PUTS或CALLS。知道我需要什么技术才能获得这些值吗?
try:<br/>
TD.TO, GDX, C, C140322C00018000<br/><br/>
<input type="text" id="symbol" />
<button type="submit" onClick="getYahooFinanceData();">Get Data</button>
<div id='result'></div>
<script src="jquery.js"></script>
<script>
function getYahooFinanceData() {
var url = 'http://query.yahooapis.com/v1/public/yql';
var symbol = $("#symbol").val();
//var data = encodeURIComponent("select * from yahoo.finance.quotes where symbol in ('" + 'C140322C00018000' + "')");
var data = encodeURIComponent("select * from yahoo.finance.quotes where symbol in ('" + symbol + "')");
$.getJSON(url, 'q=' + data + "&format=json&diagnostics=true&env=http://datatables.org/alltables.env")
.done(function (data) {
$('#result').append(data.query.results.quote.Name + "..." + data.query.results.quote.LastTradePriceOnly + "<br/>");
})
.fail(function (jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
console.log('Request failed: ' + err);
});
}
</script>
感谢 ITP
答案 0 :(得分:1)
尝试数据源:
yahoo.finance.options
而不是:
yahoo.finance.quotes
以下是一个例子:
SELECT * FROM yahoo.finance.options WHERE symbol IN ( "GDX", "C" )
结果将在此对象中:
data.query.results.optionsChain
深入分析如下:
http://developer.yahoo.com/yql/
http://developer.yahoo.com/yql/guide/yql-code-examples.html#yql_javascript
答案 1 :(得分:1)
我认为你输错了符号。我试试你的方法是有效的。输入符号,如RCOM.NS和RPOWER.NS