gpt4 book ai didi

python - YQL 期权到期

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:18 25 4
gpt4 key购买 nike

我正在迁移一些 Yahoo Finance CSV/屏幕抓取接口(interface)以使用 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 是您正在寻找的符号。这将从所有可用的到期日期中提取所有期权链,并为您节省几个查询。

关于python - YQL 期权到期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6477551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com