真格量化完整策略撰写示例之二——“做空波动率卖期权策略”

 

 

<> 做空波动率卖方策略简介

 

今天,我们来看如何在真格量化上实现一个期权策略。

做空波动率卖方策略”——这是目前最常用最有效的期权策略之一,真格量化首页上以此为理论基础的策略实盘运行情况非常好。在过去一年里,策略收益率25.6%,最大回撤4.6%。当然,为了保护策略原创者的利益,本文引用的代码做了大量的简化处理:)

做空波动率的大概含义就是买入“低隐含波动率”,卖出“高隐含波动率”。如果隐含波动率相对于预期的未来波动率较高,说明此时期权的市场价格高于其理论价值,期权应当被卖出。反之,期权应当被买进。如果您对于波动率的概念还不太理解,可以跳转到文末的附录,那里会有概念的介绍。

 

 

<>、举个栗子

 

       我们先举一个例子来说明波动率对期权价格的影响 


以豆粕1805价格为例:从323129元,下跌到3223021元。在32日买入认沽期权,价格106元,豆粕价格下跌了108元,可是期权价格只变化了4元。为什么会这样?因为波动率回归了。波动率从19.23%回归到了正常的14.36%,这就是典型的波动率回归的例子。标的方向变动的收益不足以弥补波动率变动的损失。

 

 

<>、波动率交易策略基础

 

       对于每种期货或者指数,其隐含波动率都有特定的走势区间,当隐含波动率上升的过高或者下跌的过低,并超出其原有的走势区间,隐含波动率通常都会回到它固有的走势区间内,这就是统计上所说的均值回归。交易隐含波动率需要从其历史的走势区间出发,判断其目前所处的状态,然后再实行策略。

 

 

<>、策略的详细逻辑

      

本文代码中的策略是依据隐含波动率制定的期权卖方策略,即当隐含波动率高于一定阈值时,我们就判定波动率被高估(本策略中为23%)卖开期权;当波动率低于一定阈值时,我们就判定波动率被低估(本策略中为10%)买平期权;当波动率高于于止损线时(本策略中为30%),我们就平仓止损。本策略选择的期货合约是豆粕1901,相应的期权为m1901C3300,每次开仓的手数为10手。

 

 

<>、如何计算隐含波动率

 

注:从此部分开始就是策略的代码编写,如对示例代码中调用的函数或方法有疑问,可以参考真格量化上的API文档

本策略的关键就在于计算价格隐含波动率,一切的交易操作都是在此基础上进行的。在代码中我们用来计算隐含波动率的函数是GetImpliedVolatility,首先需要如下的相应几个参数 

除了以上这些参数之外,我们还需要历史波动率来计算隐含波动率,相关计算方式有如下两步

1、获取期货合约与期权合约历史数据,其中期货合约由于需要计算30天的历史波动率,故选择30K线,其余为默认即可。


2、计算历史波动率,选用期货的历史收盘价,通过规范化一个Array后调用CalOBJ中的GetVolatility方法来实现


在所有参数都设置好以后,我们只需要调用GetImpliedVolatility就能获取合约的隐含波动率了

 

 

<>、策略的完整代码实现

 

1、设定要引用的模块


1、 在开始事件OnStart中登陆账号,设置需要订阅的品种并订阅相关数据 

                                                                

2、 OnQuote事件中,获取相应的期货合约与期权合约价格。其中期货合约价格用来计算隐含波动率,而期权合约价格在需要下单时调用


3、 在计算了隐含波动率之后,判断是否达到交易条件并执行相关操作,此处代码逻辑与<>中相符合,读者可以相互对照

 

附录:

波动率这个词可能对很多人来说有些陌生,但原理其实非常简单,可以理解是另一种形式的价格。在期权定价模型里,波动率是重要的输入变量,波动率越高,期权价格越高。这是因为在期权的生命周期里,标的资产价格的波动率越高,标的资产价格大幅波动的可能性越大,期权买方获利的可能性就越大,而卖方的风险也越大, 因此卖者需要更多的权利金来弥补他的潜在风险,买者为了可能的获利,也愿意付出更多的权利金,因此,期权价格也就随之升高。反之,如果波动率下降了,期权价格也就会随之降低。

此时可能会有人提出,波动率加大的同时也增加了期权买者损失的可能性,使卖者有利可图,从这个角度讲,权利金应当是下降的,为什么一定上涨呢?原因就在于期权的风险收益是不对称的,它的风险有限,获利是无限的。以看涨期权的买方为例,只有当标的物价格高于期权执行价格下的情况才是他最为关心的,一旦标的物价格下跌至期权执行价格以下时,下跌的幅度对他来说并不重要,因为买者的损失最大就是权利金。

其实波动率就好比股票市盈率,市盈率高的股票,波动一定大,创业板的小股票波动一定大于大盘蓝筹股。所以,小股票的期权价格远高于大股票的期权价格。在合理的波动率下交易期权是获利的前提。