Tag Archives: 波动率

凤凰期权下历史波动率的欺骗性

写这个话题,是因为最近在对冲凤凰期权,标的是首旅酒店,我对冲出来的结果没有赚钱,但是在wind上通过HVG观测其最新的历史波动率远高于我定价的波动率。 我定价波动率在41%,前面可以看到最新的波动率最高到50%,最近又一下子下行到了38%左右。 由此,我想到最新的波动率具有欺骗性,这对于凤凰期权特别明显。 首先凤凰期权的期限具有欺骗性,一个合约期限半年(120个交易日)的凤凰期权(什么是凤凰期权我就不介绍了,能搜到这里的想必对这些基础很了解了),如果100%价格就敲出,那么 它实际的期限实际上只有20*0.5+40*0.5*0.5+60*0.5^3+。。。=37.5,两个月不到。 因此它的价值实际上对近期波动率敏感,对远期并不敏感。 而短期波动率具有相当的欺骗性,这是因它极易被影响。 下面是一个收益率序列,每天涨跌2%,这样年化波动率是32% 但是如果有一天他涨了8%,那么当月波动率会变多少呢,是(varance==SUM(D232:D261)*252/20) 也就是说,波动率整整涨了10个百分点,这对于一个存续期半年,敲入价70%,敲出价100%的凤凰期权来说,其估值甚至可以差2%,或者用票息率来说,可以差1%(32%波动率对应票息是1%,42%对应票息是2%),实际上每个月票息也就1%,也就是说,票息差一倍。 从上面波动率的突变我们容易看到,近期波动率上涨特别容易,但是跌下来并不容易 把上面一个波动率改成0.00 我们可以看到,波动率只跌了3%,而前面的相对变化是33%,这里的相对变化不到3%。票息则从13.20%,变化到13.74%,虽然也变化了接近0.5%,但是从比例上来说,只有3.64%,相比与前面的票息变化100%,差异是很明显的。 另一个很重要的点是,如果我们在近期波动率HVG的曲线上看到一个低下去的点,这个不是说明近期有一个点波动率很低,而是过去一段时间,这20天波动率都很低,只不过后来有一个极端值,把近期波动率拉上来了。 因为股票一天波动很低,是无法把HVG的线拉下来的,但是一天波动很大,很容易把线拉上去。因此,我们在利用HVG看波动率的时候,要特别注意,近期波动率很高,是不是因为有某一天波动率特别大,而其他日期波动率很低,甚至,我们应该提出某一天的波动,然后在计算近期波动率,因为我们实际对冲的时候,一般也就能拿到这种极端波动的一半,也就是涨8%,我们一般也就做到涨4%,对于我们来说,波动率也就是从32%,变成了34%,距离42%差的很远。 因此,在给凤凰期权定价的时候,这种极端交易日对波动率的影响,必须考虑的更清楚才行。 比如对于近期的首旅酒店,如果直接用近期波动率计算波动率是45%,而调整两个交易日的波动,波动率就变成了37%,而后者是实际上我感受到的标的的真实波动。 实际上,到这里,我觉得这个指标反而是更好的描述我对对冲波动率的理解了 step1 取收益率 step2 收益率取绝对值 step3 绝对值取平均值 step4 平均值*16 最后得到的就是我所感受到的标的真实波动。 实际上step1-step3就是【平均绝对误差】这样一个统计量,我之前接触不多,一般书上也很少介绍。

Posted in 学术研究 | Tagged , , , | 2 Comments

SVI模型拟合

波动率模型是学界搞期权的重点,BS模型中,使用的是固定的波动率。现在提的较多的是局部波动率模型和随机波动率模型。局部波动率模型是随机波动率模型的一种简化,将波动率定义为标的价格S和时间t的函数sigma(S,t),随机波动率模型中,对波动率描述存在随机项(独立于价格中的随机项)。 局部波动率模型中,常用的是SVI模型(stochastic volatility inspired),SVI模型本质上是描述了波动率微笑曲线,并且增加了一些期权性质上的约束。 我前面研究过一次SVI模型,但由于对python里面最优化函数理解的不透,对外层使用了是穷举法,这个方法显然是不好的,只是让我初次了解这个模型的性质。最近部门一个实习生用matlab实现了一下这个模型,虽然拟合的结果并不是很好,但让我发现原来matlab里面的几个函数,如lsqlin就是二次非线性最优化,而fminsearch的函数,使用的就是Nelder-Mead Simplex方法。 实际上我以前虽然也用matlab做最优化,但是对里面的求解算法实在是没研究,反正直接用就好了。但前面自己用python摸索求解函数的时候,突然觉得自己根本不知道在python里面用什么函数去求解自己要解的最优化方程。 最初以为scipy里面应该有对应的最优化函数,后来发现matlab里面基本的lsqlin在scipy里面就没有实现,scipy最接近的是lsq_liner,但这个函数只能接受上下限,无法接受不等式方程约束,后来发现用凸优化报cvxopt才有希望。但是这个包里面也没有lsqlin函数,不过知识点到这里,搜索一下lsqlin+python关键词就能找到一个俄罗斯人贡献的用python实现的lsqlin代码了。 在这些知识点的基础上,我重新将自己的svi模型实现了一下。 首先是数据源格式 合约编码    行权日 行权日 剩余到期时间(日历日) 期权类型    标的收盘价   期权行权价   收盘中间价  10000887    20171227    2017-12-27  0.052082192 C   2.865   2.209   0.6624  10000888    20171227    2017-12-27  0.052082192 C   2.865   2.258   0.6135  10000889    20171227    2017-12-27  0.052082192 C   2.865   … Continue reading

Posted in 学术研究 | Tagged , , | 5 Comments

breakeven vol曲面的构建

做期权的时候,核心定价模型就是波动率曲面,但实际上这是典型的西方市场思维。 在成熟市场,流动性好的股票,都有相应的期权市场,也就是说,股票的隐含波动率曲面是现成的,我们可以从期权市场直接拿到。 而西方市场的场外期权,我看来主要是奇异期权的交易,从交易所市场得到隐含波动率数据后,利用local vol模型,构建相应的波动率曲面,然后基于这个曲面,给所售卖的奇异期权定价。这是一套欧美场外期权市场的业务模式。 当前国内市场,有两点不同,其一,交易所市场没有标的为股票的期权,因此没有隐含波动率数据;其二,场外市场主要交易的是美式看涨期权,奇异的还不多。 没有隐含波动率曲面,这时候 breakeven vol是一个思路上比较自然的替代品。 大体思路如下 1 guess一个波动率vol,给出理论价ctheo 2 利用该波动率,计算delta对冲成本chedge 3 求得ctheo-chedge,根据偏差,调整vol 4 重复1-3,计算ctheo,chedge,直到偏差小于设定精度值 最终满足要求精度的vol就是breakeven vol 随便给一个格力股票的曲面

Posted in 思考评论 | Tagged , | 2 Comments