Yahoo Option Data 使用 R 但有错误? Python 或 C# 中的更好示例?

发布于 2024-11-16 02:09:05 字数 1468 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不弃不离 2024-11-23 02:09:05

您听说过 YQL 控制台和 datatables.org 吗?它使用返回 XML 或 JSON 对象的 REST 请求提供对大量 Yahoo(和其他)数据表的访问。有一个很好的选项表,您可以使用 Python 的 urllib 轻松访问。考虑以下示例:

>>> import urllib2
>>> import json
>>> url='http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.finance.options%20WHERE%20symbol%3D\"goog\"%20AND%20expiration%3D\"2011-08\"&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback='
>>> req = urllib2.Request(url)
>>> response = urllib2.urlopen(req)
>>> result = json.loads(response.read())

结果是一个 json 对象,其中包含 2011 年 8 月到期的 GOOG 的所有选项。如果您仔细查看网址,您会看到 Google 符号和到期日期。这可以通过编程轻松修改。

>>> result['query']['results']['optionsChain']['option'][0]
{u'strikePrice': u'400', u'lastPrice': u'110.10', u'vol': u'1', u'type': u'C', u'symbol': u'GOOG110820C00400000', u'openInt': u'9', u'ask': u'90.5', u'changeDir': None, u'bid': u'87', u'change': u'0'}
>>> result['query']['results']['optionsChain']['option'][10]
{u'strikePrice': u'490', u'lastPrice': u'21.20', u'vol': u'350', u'type': u'C', u'symbol': u'GOOG110820C00490000', u'openInt': u'56', u'ask': u'21.3', u'changeDir': u'Down', u'bid': u'20.8', u'change': u'-6.9'}

请注意,您还可以以 XML 形式返回结果。

谷歌“yql consol”,点击第一个链接。在右侧,单击“显示社区表”的链接。向下滚动到雅虎。单击 yahoo.finance.options。你应该能够弄清楚剩下的:)

Have you heard of the YQL Console and datatables.org? It provides access to a lot of Yahoo (and other) data tables using REST requests returning XML or JSON objects. There is a nice options table you can easily access using Python's urllib. Consider the following example:

>>> import urllib2
>>> import json
>>> url='http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.finance.options%20WHERE%20symbol%3D\"goog\"%20AND%20expiration%3D\"2011-08\"&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback='
>>> req = urllib2.Request(url)
>>> response = urllib2.urlopen(req)
>>> result = json.loads(response.read())

result is an json object containing all options for GOOG with a 2011-08 expiration. If you look closely in the url, you'll see the symbol for Google and the expiration date. This can be easily modified programmatically.

>>> result['query']['results']['optionsChain']['option'][0]
{u'strikePrice': u'400', u'lastPrice': u'110.10', u'vol': u'1', u'type': u'C', u'symbol': u'GOOG110820C00400000', u'openInt': u'9', u'ask': u'90.5', u'changeDir': None, u'bid': u'87', u'change': u'0'}
>>> result['query']['results']['optionsChain']['option'][10]
{u'strikePrice': u'490', u'lastPrice': u'21.20', u'vol': u'350', u'type': u'C', u'symbol': u'GOOG110820C00490000', u'openInt': u'56', u'ask': u'21.3', u'changeDir': u'Down', u'bid': u'20.8', u'change': u'-6.9'}

Note you can also return the results in XML.

Google "yql consol", click on the first link. On the right side, click the link that says "Show Community Tables". Scroll down to Yahoo. Click on yahoo.finance.options. You should be able to figure out the rest :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文