雅虎财经股票报价 - 无法获取或放置数据

时间:2014-03-11 01:28:16

标签: jquery yahoo-api stocks

我可以使用以下代码从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

2 个答案:

答案 0 :(得分:1)

尝试数据源:

yahoo.finance.options

而不是:

yahoo.finance.quotes

以下是一个例子:

SELECT * FROM yahoo.finance.options WHERE symbol IN ( "GDX", "C" )

结果将在此对象中:

data.query.results.optionsChain

深入分析如下:

objects

有用的资源:

http://developer.yahoo.com/yql/

http://developer.yahoo.com/yql/guide/yql-code-examples.html#yql_javascript

Search Stackoverflow for yahoo.finance.options

答案 1 :(得分:1)

我认为你输错了符号。我试试你的方法是有效的。输入符号,如RCOM.NS和RPOWER.NS