分类
外汇交易资金管理系统

日历价差策略是投资期权中的

期权策略,您来提供思路和策略,我来写代码和实现回测,一切免费只为交流

1.什么是策略回测
要说什么是回测就得先说什么是量化投资,简而言之量化投资就是以模型替代人为的主观判断的投资方法。比如你听隔壁老王说了个消息股,明天开盘就买,这就叫主观判断,但比如你想好了招行银行10日均线上穿20日均线就买入,这就算量化投资。
二者最主要的一个区别是,量化投资可以用历史数据进行回测。首先设置好了每一个买入和卖出的条件,假如回到过去,某个股票满足了你预先设定的条件,你会买入,等到符合预设的卖出条件,你会卖出。这样你可以用历史业绩来判断你设置的交易模型是不是能够赢利。那么明显主观投资是无法做回测这件事的。

2.为什么是期权
那么为什么我只想回测期权策略呢,有以下几个原因:
a,简单,是的你没看错,期权量化比股票量化简单的多,因为股票量化仅选股就有无数因子要是考虑,从4000多只股票里选出来符合你条件的一支或一揽子股票,这本身已经是巨大的工作量了。而A股场内期权就那么3个,其中两个300ETF期权还是2000年才上市的。真正有大量历史数据(7年),且有流动性的就50etf期权这么一个品种,虽然有大量不同行权价的合约,但他们的标的就只有那么一个50etf。不用选股了,仅仅就是在这一个品种上琢磨就可以。
b,可多可空,这样期权交易就并不像做股票,只能指望牛市出业绩,理论上牛熊市或者震荡市都可以有一套能持续赢利的策略。
c,天生自带策略。了解期权的交易者都知道,期权有很多基础的价差策略,比如牛/熊市价差,买入/卖出跨式,正反比例价差等等。

3.什么样的策略是一个可执行的期权策略
a,首先一个完整的量化交易模型至少进出场的条件要清楚,可以完全形成一个闭环,不能出现让这个策略在执行中前后矛盾的情况。比如最简单的,macd形成金叉买入,形成死叉卖出,进出场条件都有了,又不会在已进场未出场情况下又触发一次进场条件。
b,仓位控制,就是字面的意思,买入或卖出的期权头寸占总体资金的多少,有没有分批成交,每次下单仓位多少。与其他证券或者衍生品都不同的是,期权的买方只支付权利金即可,但期权的卖方可以拿到一笔权利金,但同时需要缴存保证金,而保证金是随着期权标的(正股)的价格变化而动态调整的。这个就给期权策略的仓位控制带来很大难度,比如在手动交易中我们也经常听说有人爆仓。再能赢利的策略,只要中间会爆仓,那也注定毫无意义。
c,设置的交易条件要有底层逻辑,而不是完全无意义的指标堆叠。
d,不能有未来指标,因为毕竟用的是历史数据,我们其实是知道大致历史走向的。比如现在回头看我们当然知道2017年,2019年和2020年是50etf的大牛市,那么牛市上杠杆做多熊市上杠杆做空,这个回测肯定赚爆,但是毫无意义,因为牛熊市是我们身在其中而不知的,只有走出来才能知道。另外指标这条其实跟上一条有关联,设定的进出场条件是有底层逻辑的,比如50etf市盈率低于8倍进场,高于15倍出场,这个逻辑虽然粗糙但是至少能说通。
e,指标和条件尽量简洁,有清晰逻辑,因为太多的条件和后续优化,很容易陷入到过度拟合的陷阱中去。

5.回测区间及其他
我是在真格量化平台上进行回测,这个平台最大的优点就是整合了所有tick级的历史数据,免去了使用者自行下载清洗历史数据的劳动(这件事工作量巨大,劝退了很多人),缺点也有,比如策略和代码只能放在平台,无法在本地使用。
我计划的回测区间:2016年3月1日至今,主要原因是2015年场内期权刚刚推出,流动性不佳且指标失真,而2016年初又连续熔断,因此在尽量长的回测区间中去掉这短时间。
回测频率:策略肯定不能是高频的,散户无论软硬件都不可能进行高频策略。一般情况我都是按日回测,就是每天只取收盘价来进行回测。这样优点是回测快,且长期看结果不会有太大偏差。缺点是盘中的大幅波动都忽略掉了。当然如果有好的日内策略思路,也可以按分钟回测试试。
代码能力:我是个python初学者,三脚猫的功夫,好在期权策略比较简单,除了正股走势的技术指标外,各种希腊字母的取值等等平台都提供了API支持。但不排除某些复杂的策略以我的代码能力无法实现。当然我会尽量琢磨。

7.目的
最后我想说一下我发这个帖子的目的。
首先其实做期权的投资者非常少,截止目前印象中开户数也才50多万户。如果集友们能通过这种方式多交流,也算是能打开思路。
其次是其实我觉得写出一个持续稳定赢利,且回撤低的策略非常非常难,甚至我觉得不可能有任何策略是在所有时间包打天下的。但这不妨碍我们对交易不断地思考,找到一个可能在某种环境下适合的策略。
第三,很多策略(比如双卖,比如每月裸卖沽)感性上觉得可能会挣钱,但实际回测发现长期绩效一般甚至是持续亏钱的,这些坑我们可以通过回测避过去,而不用拿真金白银去试。
第四,我回测了很多之后,自己已经想不到什么可能的策略了,希望大家能集思广益一起思考。当然所有策略、回测结果和不断优化,我都会在回帖公开,要受益集友们一起受益。如果您觉得您的策略是个锦囊妙计,不想公开,那也不用发出来。

01 日历价差期权交易策略

我们详细分析了上海证券交易所的 50ETF 期权的仿真市场的交易数据,发现在 ETF 期权的仿真市场也存在于海外成熟市场相同的日历差价套利交易机会,而且这种交易机会是系统性和结构性的,也就是说,与海外市场相同,这种日历差价套利交易机会将持续存在,市场也需要套利投资者提供流动性。我们根据 ETF 期权仿真交易市场的特征和收益风险分析, 建立 了和 测试 了上证 50ETF 期权日历价差交易策略的模型。

02 期权的日历价差策略模型

期权交易也遵循 “卖高买低” 日历价差策略是投资期权中的 策略,即卖出相对于历史波动率较高的近月隐含波动率,买入相对于历史波动率和近月波动率较低的远月隐含波动率。我们通过隐含波动率的综合差价高低作为策略建仓的量化信号,具体如下:

1)近月期权隐含波动率高于当 前标的证券历史波动率或者预 期的实现波动率

期权日历差价交易策略是在卖出近月合约,亦即近月合约的隐含波动率。以历史波动率为基准,我们在近月合约隐含波动率高于历史波动率时卖出才可能有较大概率盈利。因此,当近月期权隐含波动率(IV)的值大于前 20 交易日的历史波动率或者我们预期的实现市场波动率, 满足建仓的第一条件。

考虑在期权合约所有其他参数条件相同的情况下,卖出近月合约(当月),买入远月合约(下月),近月合约比远月合约有更大的Gamma,较小的 Vega, 更大的 Theta。我们整个组合是净持有 Vega 和 Theta, 卖出 Gamma。因此本期权日历价差组合持有净 Vega 仓位, 当远月合约变成近月合约的过程中,期权隐含波动率沿着隐含波动率期限结构曲线上升,这样我们同时也在持有的 Vega 多头仓位上盈利。最后, 在投资风险控制上,卖出近月合约,我们买入远月合约做对冲,在极端市场情况发生下,可有效地避免重大亏损风险。

+ V (近月隐含波动率 ) – V (远月隐含波动率);

当 X > 0 的信号出现时,通过卖出一份当月认购期权,同时卖出一份下月认购期权,建立日历价差组合。

当进入市场建立组合后,考虑到该组合并没有对冲股价变动的风险,在近月期权到期前几天,组合的 日历价差策略是投资期权中的 Gamma 风险值可能比较大,标的股价的变化会大幅增加收益的波动率。因此,我们的策略采取在当月合约到期前 8 天进行平仓。

03 上证 50ETF 期权日历价差策略的测试

在另一方面 ,由于我们买入和卖出的日历差价期权的 Delta 股性已大部分相互对冲,我们在本次策略测试中不考虑 Delta 的对冲交易。我们搜集了从2013 年12 月26 号,上海证券交易所开始上证50ETF期权仿真交易,到 2014 年 7 月 16 号的上证 50ETF 收盘价,50ETF 看涨期权收盘价和结算价作为我们的市场数据,以 Black-Scholes 期权定价模型为理论基础,对当月和下月的期权合约进行计算分析,寻找出现的套利机会。

期权希腊字母 Greeks 的特性显示,期权的 Gamma、Theta、和 Vega 值在平值行权价附近最高。而在期权市场交易中,平值行权价的期权流动性通常最好,因此为了减少交易费用、最大化增加日历价差交易的隐含波动率的 Vega 值,以及尽量维持套利组合的 Delta 中性,我们在测试操作中使用价平附近的期权组合。

例如, 如果我们在 2014 年 2 月份分析市场,此时上证 50ETF 的价格在 1.45 附近波动,我们优先选择卖出 3 月份到期行权价格为 1.45 的看涨期权,同时买入 4月份到期行权价格为 1.45 的看涨期权。

50ETF期权实例分析:日历价差策略历史收益及回撤-期权时代网

图一:上证 50ETF 期权日历差价策略月度收益率 和累计收益 率

从 2013-12-26 到 2014-7-16 号,20 个交易日(1 个交易月)

50ETF期权实例分析:日历价差策略历史收益及回撤-期权时代网

我们以在 5 月 29 日的交易为例,详细介绍策略的执行。在 5 月29 日交易日,上证 50ETF 收盘价格是 1.48,前 20 个交易日年化历史波动率是 11.92%。6 月到期的行权价为 1.5 的看涨期权价格为 0.022;

7 月到期的行权价为 1.5 的看涨期权价格为 日历价差策略是投资期权中的 0.040。我们计算得到隐含波动率以及其他 Greeks 参数如下。

图三:5 月 29 日交易日的 6 月合约和 7 月合约价格

50ETF期权实例分析:日历价差策略历史收益及回撤-期权时代网

上图显示 6 月合约的隐含波动率为 18.02%, 高于历时波动率

11.92%, 略低于 7 月合约的隐含波动率 19.89%. 我们的策略模型开仓信号为:

X 日历价差策略是投资期权中的 值 = V(近月隐含波动率)- V(历史波动率)

= 18.02% – 11.92% + 日历价差策略是投资期权中的 18.02% – 19.89%

我们根据开仓信号入市执行日历价差策略交易:卖出 500 个合约的 6 月合约, 买入 500 个 7 月合约, 以锁定近月隐含波动率高于历史波动率的价差 6.1%。构建本策略组合净付出 0.0183. 500 对差价合约的付出资金为 91,500 元,组合的上证 50ETF 票面价值为1.48*10,000*500=7,410,000 元。

由于卖空 6 月看涨期权, 按照标的为 ETF 的保证金计算规定,我们的认购期权义务仓持仓维持保证金为 < 结算价 + Max(15% × 合约标的收盘价 – 认购期权虚值,7% × 合约标的收盘价)>×合约单位= × 500 x 10000 = 1,136,500 元。我们设置 1.2 日历价差策略是投资期权中的 倍的保证金,则组合投入的资金总规模为 1,363,800 元。

6 月合约期权到期日为 6 月 25 日历价差策略是投资期权中的 日,在到期日前 8 天的 6 月 17 日交易日,我们根据策略平仓卖掉该组合, 6 月合约平仓价格为 0.02, 7 月合约平仓价格为 0.056, 平仓收入为 日历价差策略是投资期权中的 0.036*500*10,000=180,日历价差策略是投资期权中的 000 元,5 月的交易盈利则为 88,500 元(暂时不计交易手续费)。交易收益则为 88,500/1,455,300 = 6.08%.

3、上证 50ETF 期权日历差价 策略的测试结果 分析从 2013 年 12 月以来的 7 个月份内,我们的模型共执行了 6 个期权日历价差交易。交易取胜率达到 83%, 年化收益率达到 19%, 而期权时间价差交易策略的 盈亏风险 也相对 较低 。