Tag Archives: 期权

上证50ETF期权做市实证研究

PS:今天整理一个材料,发现了15年写的一个实证研究,最后各种原因,研究也没有深入继续下去,对实际交易嘛,影响也有限,后来这个文章自己都忘记了。现在看看,当初如果沿着这个研究深入下去,部门的做市策略会发展成另外的样子。 ------------------- 1. 做市报价策略目标 做市商作为期权市场秩序的重要参与者,起到了维护价格稳定,提供市场流动性的作用。做市商通过双边报价,为市场提供流动性,以获得买卖价差收益和交易所返佣作为自己的主要业务目标。 做市商的做市行为,除了要承担做市义务以外,还要考虑存货风险、市场状况、期权期限以及内幕消息等。做市商动态调整报单策略以获取较好的风险收益比,通常情况下,做市商并不使用单一的报价策略,而是多种报价策略结合使用。这种策略的取舍,以及策略参数的调整,使得做市业务无论如何也不是一项无风险业务,报价策略组合是否恰当是做市商能否规避风险、获取利润最重要的环节之一。 做市商在做市报价的过程中,需要通过观察市场报价,结合持仓情况和理论估值,调整报价策略参数,以使得成交和持仓朝着风险可控的方向发展。具体对于期权做市业务来说,市场报价主要是指观察期权市场报价所构成的隐含波动率曲面,来校准自己的波动率模型;理论估值是根据自己的理论定价模型,计算合约的基准报价;持仓情况是指做市商需要控制持仓的各个Greek头寸以及单个合约持仓限额。 2. 做市实证假设 在对做市报价策略进行实证之前,需要对实证的环境做出基础假设。假设不同,会对最终的结果造成重要影响。因此实证假设的建立,需要在简化问题环境和符合现实要求直接做一个恰当的取舍。 在做市报价策略的实证研究中,最为重要的几条假设分别是报价策略对盘口行情的冲击,报价的成交逻辑,报单撤单的用时速度假设。 2.1. 盘口处理 期货合约中,成交最为活跃的一般是当月合约,其他期限较长的合约流动性较差。对于期权合约来说,除了期限之外,期权还有一个行权价维度,平值期权成交较为活跃,其他深度实值和深度虚值的合约成交都很不活跃。 在对报价策略进行实证的过程中,一个重要假设就是要对合约流动性进行假设。对于流动性较好的合约来说,做市策略本身对盘口的影响不大,而对于流动性较差的合约来说,做市策略会显著影响市场盘口行情,那么最终的实证结果。 回测中的主动成交,实际上会改变盘口,对于流动性较好的合约,这种影响不大,但是与流行性较差的合约设计报价策略时,需要对这种成交的影响做假设。 这里为了简化问题,这里只对流动性较好的合约进行策略实证。 2.2. 订单更新 实际的交易环境中,从行情服务器获取行情,推送给策略服务器,触发订单更新程序,都需要一定的运行时间。通过算法优化可以将计算逻辑的时间控制在微秒级别,但是行情传送和订单发出的数据传输与响应时间,往往在毫秒级别。订单更新的快慢,往往决定了一笔有利可图的交易最后被谁获取,国外几乎所有的期权自动化做市程序都在投入大量资源提高订单更新的速度。 在实证研究说,为了简化分析环境,假设策略的发单是即时的,发单完成之后,如果下一个时刻不能成交,那么该条订单会立刻从交易所撮合机上撤下。 2.3. 成交逻辑 在目前国内的金融市场中,场内连续竞价交易,交易所的撮合大机将按“价格优先,时间优先”的原则自动撮合成交。投资者的现价委托首先会按价格优先、时间优先的原则进行排序,形成限价委托簿。当一个市价委托或市价化的限价委托(指将迈入价格设定为等于或者高于目前市场最优卖价,卖出价格设定为等于或低于市场最优买入报价,使得交易能够立即执行的委托)进入市场时,它将同最优的限价委托进行交易。因此,限价委托为其他投资者的交易提供了流动性,而市价委托的投资者消耗了流动性。一般而言,做市商的委托都是限价委托。 为了便于对问题进行简化,这里构造的市场订单簿结构非常简单,严格的假设了所有的策略报价都是时间最优的,也就是说,如果报价价格上满足成交的条件,那么就一定成交。 实际上,对于目前ETF期权最小报价单位为0.0001元,也就是说一张合约报价改变1块钱,就可以使得自己成为市场最优报价,因此报单的时间优势对做市商来说,已经变得非常不明显。 3. 报价策略 对于做市商来说,市场风险主要反应在delta头寸和vega头寸上,delta风险是标的价格方向变化的风险,vega风险主要是隐含波动率变化所造成的风险。对于前者,做市商一般都会有相应的对冲策略,保证delta头寸在可以接受的范围内。对于后者,目前主要通过对报价策略参数的调整,控制持仓vega头寸大小。 对于期权的做市策略而言,对冲策略是其不可缺少的一部分,但是对冲策略本身和期权做市报价策略可以分别独立运行。在本实证研究中,假设对冲是按照理论假设运行,不对对冲进行策略调整。 另外,报价策略可以是针对单个合约制定,也可以针对多个合约或者整个持仓组合制定,在本研究中,为了对问题进行简化,做市策略是针对单个合约而言,不考虑持仓组合之间的联动调整。 3.1. 期权定价模型 发挥定价功能是做市商的重要作用之一,定价模型是做市商策略的基础。对于欧式期权,通常使用经典的Black-Scholes模型对其进行定价,对于美式期权,可使用二叉树等方法进行定价。 在实证研究中,直接利用BS模型计算期权的理论价格。 3.2. 波动率模型 使用Black-Scholes模型进行定价的关键在于波动率的确定,常见的波动率算法包括历史波动率和隐含波动率,根据国外成熟市场的经验历史波动率与隐含波动率一般是不相等的。 由于做市商需要跟随市场的趋势,同时给出合理的定价,定价模型将根据隐含波动率,构建无套利的波动率曲面,在此波动率曲面的基础上根据交易员的经验及判断进行调整,从而给出报价。 在交易过程中,报价模型将根据标的价格的变化、隐含波动率的变化以及库存情况对报价进行调整。在实证研究中,将这些因素放入策略参数考虑。 … Continue reading

Posted in 学术研究 | Tagged , | Leave a comment

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

写这个话题,是因为最近在对冲凤凰期权,标的是首旅酒店,我对冲出来的结果没有赚钱,但是在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