获取50ETF、300ETF对应的当月/次月期权ticker
import re, math, datetime
def get_etf_option():
select_option = {}
etf_price = {}
# 获取ETF行情
etf_tick = xtdata.get_full_tick(['510300.SH', '510050.SH', '159919.SZ'])
# 取今日开盘价/昨日收盘价均值
for code in ['510300.SH', '510050.SH', '159919.SZ']:
etf_price[code] = (etf_tick[code]['open'] + etf_tick[code]['lastClose']) / 2
options = xtdata.get_stock_list_in_sector('上证期权') + xtdata.get_stock_list_in_sector('深证期权')
# 获取主力期权(标的价格附近上下5档,当月/次月)
option_data = []
for code in options:
meta = xtdata.get_instrument_detail(code)
# 期权名称
name = meta['InstrumentName']
# 对应的ETF
etf = re.findall(r'\((\d+)\)', meta['ProductID'])[0]