加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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是你正在寻找的符号.这将从所有可用的到期日期中提取所有选项链,并为您节省多个查询.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读