在交互式经纪人

时间:2016-12-24 16:42:38

标签: matlab financial interactive-brokers tws

我是交易期权,但我需要计算去年的历史隐含波动率。我正在使用Interactive Broker的交易平台。不幸的是,他们只计算V30(使用将在30天后到期的期权的股票的隐含波动率)。我需要使用将在60天和90天后到期的期权来计算股票的隐含波动率。

问题:使用将在60天和90天后到期的期权计算个别股票的至少一整年的隐含波动率:

  • TWS不提供V60或V90。
  • TWS不提供超过3个月的个别期权的历史定价数据。

尝试的解决方案:

  • 使用TWS提供的V30也提出了V60和V90,因为通常选项价格将表现为偏斜(水平偏斜)。然而,这个尝试解决方案的问题是偏斜并不总是具有正斜率,所以我不能提出一个数学解决方案来始终正确地估计IV60和IV90,因为它可以具有正斜率或负斜率如下图所示。

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您的问题要么是混乱,要么不是编程。这就是IB所说的。

  

IB 30天波动率是a估计的市场波动率   在当前交易日前30个日历日到期   基于两个连续到期月份的期权价格。

对我来说没有任何意义,我甚至无法得到那些蜱(通用类型24)。但即使你得到它们,它们似乎也没用。我猜这是一个平均值来估计一个期权在未来30天到期时的IV。我无法想象这个目的。数据无法与之交易,也不代表现实。想象一下29或31天的收益报告!

如果您希望将来约60或90天使用IV,请使用期权到期的期权合约和空的通用价目表列表reqMktData。您将得到10,11,12和13的刻度类型,它们都具有IV。这就是你构建IV表面的方法。如果您想用加权平均值来估算60天,那就有可能。

这是python,但应该是自我解释

tickerId = 1
optCont = Contract()
optCont.m_localSymbol = "AAPL  170120C00130000"
optCont.m_exchange = "SMART"
optCont.m_currency = "USD"
optCont.m_secType = "OPT"
tws.reqMktData(tickerId, optCont, "", False)

然后我得到像

这样的数据
<tickOptionComputation tickerId=1, field=10, impliedVol=0.20363398519176756, delta=0.0186015418248492, optPrice=0.03999999910593033, pvDividend=0.0, gamma=0.007611155331932943, vega=0.012855970569816431, theta=-0.005936076573849303, undPrice=116.735001>

如果我对选项缺少某些内容,您应该在https://quant.stackexchange.com/

询问