#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'ringo' from tqsdk import TqApi, TqAuth api = TqApi(auth=TqAuth("信易账户", "账户密码")) ls = api.query_options("SHFE.au2012") print(ls) # 标的为 "SHFE.au2012" 的所有期权 ls = api.query_options("SHFE.au2012", option_class="PUT") print(ls) # 标的为 "SHFE.au2012" 的看跌期权 ls = api.query_options("SHFE.au2012", option_class="PUT", expired=False) print(ls) # 标的为 "SHFE.au2012" 的看跌期权, 未下市的 ls = api.query_options("SHFE.au2012", strike_price=340) print(ls) # 标的为 "SHFE.au2012" 、行权价为 340 的期权 ls = api.query_options("SSE.510300", exchange_id="CFFEX") print(ls) # 中金所沪深300股指期权 ls = api.query_options("SSE.510300", exchange_id="SSE") print(ls) # 上交所沪深300etf期权 ls = api.query_options("SSE.510300", exchange_id="SSE", exercise_year=2020, exercise_month=12) print(ls) # 上交所沪深300etf期权, 限制条件 2020 年 12 月份行权 api.close()
from tqsdk import TqApi, TqAuth from tqsdk.ta import VOLATILITY_CURVE api = TqApi(auth=TqAuth("信易账户", "账户密码")) # 获取 m2112 的看跌期权 underlying = "DCE.m2101" options = api.query_options(underlying_symbol=underlying, option_class="PUT", expired=False) # 批量获取合约的行情信息, 存储结构必须为 dict, key 为合约, value 为行情数据 quote = {} for symbol in options: quote[symbol] = api.get_quote(symbol) options.append(underlying) klines = api.get_kline_serial(options, 24 * 60 * 60, 20) # 使用 VOLATILITY_CURVE 函数计算波动率曲面 vc = VOLATILITY_CURVE(klines, quote, underlying, r=0.025) print(vc) api.close()