【问题标题】:How can I get stock option chains using YQL?如何使用 YQL 获得股票期权链?
【发布时间】:2012-10-07 22:55:32
【问题描述】:

我正在尝试使用 YQL 从 Yahoo 获取股票期权链。我在 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>

这个表好像不存在了。有谁知道正确的表是什么?

【问题讨论】:

  • 当我在 YQL 控制台中尝试您的 YQL 语句时,我得到“在 where 子句中找不到所需的键;期望必需的键:(符号)。'但是当我添加 where 子句'symbol='GOOG' AND expiration='2010-06'' 时根本没有问题。我们正在谈论这个,对吧? (developer.yahoo.com/yql/console)
  • 是的,这就是我说的控制台。我必须给我们一个社区表,这就是它不起作用的部分原因。我以为 yahoo.finance.options 是 Yahoo 管理的表,但它实际上是来自 datatables.org 的社区表。谢谢!

标签: web-services option yql


【解决方案1】:

您必须至少提供一个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'

以上所有查询都可以正常工作。如果你想要更具体的数据,那么你必须提供更多的条件来从整个数据中过滤掉你想要的数据。

【讨论】:

  • 是的,它工作正常。我刚检查过。转到此页面:developer.yahoo.com/yql/console/… 并输入:select * from yahoo.finance.options where symbol='YHOO' 然后点击测试按钮,您将看到结果。我的答案中的所有查询都运行良好。
  • 我也检查了,似乎工作... 雅虎限制使用的两个问题?它只给了我第一个月,我怎么能得到接下来的三个月,要么说 2014-05、2014-06、2014-07 或“接下来的三个月”。作为url或者uri,字符串是什么...
  • 我不太确定。我很久以前做过。那我得看看。
【解决方案2】:

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

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

可以找到测试这个的 YQL 控制台here

【讨论】:

  • 我不知道我可以按“显示社区表格”来获取此表格。这就是为什么它对我不起作用。谢谢!
【解决方案3】:

我今天刚刚想到的是,您可以使用它从雅虎获取选项数据

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

【讨论】:

  • 我不知道为什么有人对我的答案投了反对票,但是我在上面的答案中提供的端点会返回一个 JSON,如果您无法处理 JOSN,那么我认为 StackOverflow 是你的网站错误
  • 可能被否决,因为该问题专门要求 YQL
  • 我赞成它。在我看来,拥有可行的替代解决方案应该没问题。
【解决方案4】:

由于 2014 年年中 YQL 出现问题,所以从 yahoo.finance 抓取的期权链可以通过以下代码获得:PythonMatlab

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多