python – YQL选项到期
发布时间:2020-12-20 11:19:17 所属栏目:Python 来源:网络整理
导读:我正在迁移一些Yahoo Finance CSV /屏幕抓取界面以使用YQL,并且正在努力使用yahoo.finance.options表.如果我查询给定符号的所有选项,我找不到与选项关联的到期日期.如果我查询符号和到期,那么我找到与链相关的到期日期,但不是其中的选项.虽然我熟悉期权到期
我正在迁移一些Yahoo Finance CSV /屏幕抓取界面以使用YQL,并且正在努力使用yahoo.finance.options表.如果我查询给定符号的所有选项,我找不到与选项关联的到期日期.如果我查询符号和到期,那么我找到与链相关的到期日期,但不是其中的选项.虽然我熟悉期权到期的周期并且可以从给定日期开始引导它,但这是一个糟糕的解决方案;首先,它会产生更多的查询.我更倾向于从数据中反省它,因为它应该可用(它可以被屏幕删除).任何人都知道如何在YQL中获得这个,或者我运气不好?
这是我正在使用的一些python代码: from xml.etree.ElementTree import ElementTree import urllib,urllib2 class YQL(object): url = 'http://query.yahooapis.com/v1/public/yql' env = 'store://datatables.org/alltableswithkeys' format = 'xml' @classmethod def query(cls,string): q = urllib.quote(string) url = cls.url + '&'.join(('?q=%s' % q,'env=%s' % cls.env,'format=%s' % cls.format)) resp = urllib2.urlopen(url) return ElementTree(file=resp).getroot().find('results')[:] chain = YQL.query('select * from yahoo.finance.options where symbol="WFC"')[0] chain.attrib option = chain[0] option.attrib for attr in option: print attr.tag,attr.text 解决方法
您可以进一步利用YQL的链接查询功能
SELECT * FROM yahoo.finance.options WHERE symbol="%s" AND expiration in (SELECT contract FROM yahoo.finance.option_contracts WHERE symbol="%s") 显然,%s是你正在寻找的符号.这将从所有可用的到期日期中提取所有选项链,并为您节省多个查询. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |