今后的文章,我们尝试花一些篇幅开始来简单讲述一下,波动率相关的交易策略。
基于价格预测的交易策略,其盈利或基于历史数据或者技术分析、或基本面信息等。只有价格朝着有利的方向变动,策略才能够盈利。但是,有一些交易者认为,市场的价格变化趋势是不可预测的,因而他们的策略更依赖于期权本身的数学规则,较少依赖于价格的变动方向预测。这种理论方法可以帮助你构建通过风险因子而非价格变化获利的策略。因为期权是衍生品,所以和标的期货之间存在一定的关联性,这些关联性具有一些明显的可识别的特征,则我们似乎可以通过这种关联性来获利。
1、历史波动率:反映的是标的历史波动程度。
2、隐含波动率:反映的是期权市场对于未来波动率的预期。
- from tqsdk import TqApi, tafunc
复制代码- quote = api.get_quote("CZCE.SR009")
复制代码- ks = api.get_kline_serial("CZCE.SR009", 24 * 60 * 60, 5)
复制代码- v = tafunc.get_his_volatility(ks, quote) # 历史波动率
复制代码- option = api.get_quote("CZCE.SR009C4900")
复制代码- klines = api.get_kline_serial(["CZCE.SR009C4900", "CZCE.SR009"], 24 * 60 * 60, 5)
复制代码- t = tafunc.get_t(klines, option.expire_datetime)
复制代码- impv = tafunc.get_impv(klines["close1"], klines["close"], 4900, 0.025, v, t, "CALL")
复制代码- print("impv", list((impv * 100).round(2)))
复制代码 预测波动率
1、历史波动率和隐含波动率的比较
以白糖为例,我们通过了天勤代码,获取了SR009标的期货5天的历史波动率为16%,以及对应的平值看涨期权SR009C4900的隐含波动率22.17%。
比较数据发现,历史波动率与隐含波动率存在较大的偏离(此处为22.17%-16%=6.17%),如果进行波动率交易,应该怎么做呢?
当且仅当隐含波动率预测的未来波动率不同寻常时,可采用隐含波动率和历史波动率的比较。如果隐含波动率相比较于历史波动率处于高位,那么可以简单认为隐含波动率会下降,最终与历史波动率保持一致,因而此时适宜卖出期权策略。相反,若隐含波动率相比较于历史波动率处在低位,则通常可以简单认为隐含波动率会上升,在此情形之下,合适的策略为买入期权策略,如跨式期权。
但是基于现实的考量,当隐含波动率因为某种特殊的原因,变动不一致时,那么此时不应该采取波动率交易。因为隐含波动率包含了无法从过往的历史价格中获得但对未来波动率十分重要的信息(白糖的贸易救济保障关税政策),隐含波动率是从期权的交易市场价格中反推出来的波动率,因而包含了大家对未来波动的预期。此类信息并未包含在过去的历史波动率之中,另外,我们看到,白糖走势经过前面的大幅下跌之后,进入了短暂的整理期,导致了近期的历史波动率明显走低。
因而仅仅通过历史波动率和隐含波动率的差值,贸然得出做空波动率的判断,似乎就显得不是那么正确。但是,前期还是向大家简单推荐了“做空波动率的宽跨式策略”,里面自然有其他方面的因素考量,我们后续再继续深入研究。
|
|