3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在期权量化交易中,隐含波动率(Implied Volatility, IV) 是评估期权价格高低及市场预期风险的核心指标。QMT Python API 提供了内置函数 ContextInfo.bsm_iv(),基于 Black-Scholes-Merton (BSM) 模型,通过期权当前市场价格反推其隐含波动率。
ContextInfo.bsm_iv(optionType, objectPrices, strikePrice, optionPrice, riskFree, days, dividend=0)
| 参数名 | 类型 | 详细说明 |
|---|---|---|
optionType |
str |
期权类型:'C' 表示认购期权(Call),'P' 表示认沽期权(Put) |
objectPrices |
float / list |
标的证券当前价格 |
strikePrice |
float |
期权行权价 |
optionPrice |
float |
期权市场当前价格(现价) |
riskFree |
float |
无风险年化收益率(如 3% 填 0.03) |
days |
int / float |
期权剩余到期天数 |
dividend |
float |
标的资产年化分红率(可选,缺省为 0) |
ContextInfo |
object |
QMT 策略全局上下文对象 |
double(float)类型的隐含波动率数值(例如返回 0.23 代表 IV 为 23%)。若输入参数非法,则返回 nan。假设某标的现价为 3.51 元,某剩余 15 天到期、行权价为 3.50 元的认购期权市场现价为 0.0725 元,无风险利率为 3%:
# #coding:gbk
def init(ContextInfo):
pass
def handlebar(ContextInfo):
# 期权参数设置
opt_type = 'C' # 认购期权
underlying_price = 3.51 # 标的现价
strike_price = 3.50 # 行权价
option_price = 0.0725 # 期权市场现价
risk_free = 0.03 # 无风险利率 3%
days_left = 15 # 剩余天数
# 调用 bsm_iv 计算隐含波动率
iv = ContextInfo.bsm_iv(opt_type, underlying_price, strike_price, option_price, risk_free, days_left)
print(f"计算所得隐含波动率 (IV): {iv:.4f}")
ContextInfo.get_full_tick() 或 ContextInfo.subscribe_quote() 获取标的及期权最新 Tick 价格,动态更新 IV,实现盘中高频监控。ContextInfo.get_option_iv(optioncode) 接口直接获取交易所/柜台计算好的实时 IV;而 bsm_iv() 允许开发者传入自定义无风险利率、分红率及预估价格,灵活性更高。