如何使用YQL获得股票期权链?

时间:2012-10-07 22:55:33

标签: web-services option yql

我正在尝试使用YQL从雅虎获得股票期权链。我在YQL控制台中尝试过这个命令:

select * from yahoo.finance.options

但是,我得到了这个错误XML:

<?xml version="1.0" encoding="UTF-8"?>
<error xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:lang="en-US">
    <diagnostics>
        <publiclyCallable>true</publiclyCallable>
    </diagnostics> 
    <description>No definition found for Table yahoo.finance.options</description>
</error>

看起来这张桌子不再存在了。有谁知道正确的桌子是什么?

4 个答案:

答案 0 :(得分:3)

您必须提供至少一个where clause才能使此查询生效。像这样:

select * from yahoo.finance.options where  symbol='MMM'

,或者

select * from yahoo.finance.options where  symbol='A'

,或者

select * from yahoo.finance.options where  symbol='YHOO'

以上所有查询都可以正常使用。如果您需要更具体的数据,则必须提供更多条件,以便从整个数据中过滤出所需的数据。

答案 1 :(得分:1)

yahoo.finance.options是一个社区表。要阅读社区表,请检查here。从我刚发布的链接:

  

为了将YQL与社区表一起使用,您必须传入datatables env文件。您可以在YQL控制台上执行此操作,作为YQL语句的一部分,或者通过传入查询参数。

可以找到用于测试此问题的YQL控制台here

答案 2 :(得分:1)

我今天刚才想到的一点是你可以用这个从雅虎获取选项数据

https://query2.finance.yahoo.com/v7/finance/options/SPXS?straddle=true

答案 3 :(得分:0)

自2014年中期以来,YQL存在问题,因此可以通过以下代码获取yahoo.finance中带有抓取的选项链:PythonMatlab