带有R的Yahoo Option数据,但有错误?用Python或C#更好的例子?

| 我试图从运行R脚本: http://www.math.tu-berlin.de/~mkeller/R-progs/yahoo_opt.R 说明: http://www.math.tu-berlin.de/~mkeller/index.php?target=rcode 我是R新手,但按照说明运行以下命令时会遇到一个非常奇怪的错误:   选择<-yahoo.getAllOptions(\“ IBM \”) 错误是: 尝试URL \'http://finance.yahoo.com/q/op?s = IBM&m = 2011-06 \' 内容类型\'text / html; charset = utf-8 \'长度未知 打开的URL 下载57 Kb 阅读2616个条目 yahoo.getOption中的错误(ticker =代码,成熟度= mat [j],get.short.rate = FALSE):   意外的数据格式 有谁知道如何纠正这个问题?我是R的新手,这可能是一个新手问题,但我很沮丧。 有人知道C#或Python中更好的源示例吗?我不在乎,我只想获取Yahoo Options数据。 谢谢     
已邀请:
        您听说过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对象,其中包含GOOG的所有选项,且该对象的2011-08到期。如果您仔细查看网址,将会看到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返回结果。 Google \“ yql consol \”,单击第一个链接。在右侧,单击显示“显示社区表”的链接。向下滚动到Yahoo。单击yahoo.finance.options。您应该能够弄清楚其余的:)     

要回复问题请先登录注册