如何构建事件驱动的量化策略【邢不行|量化小讲堂系列61-实战篇】

引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。

【历史文章汇总】请点击此处

【必读文章】

【邢不行|量化小讲堂系列27-Python量化入门】EOS期现套利,一周时间,15%无风险收益

【邢不行|量化小讲堂系列20-Python量化入门】10年400倍策略分享(附视频逐行代码讲解)

个人微信:xbx9025,有问题欢迎交流


如何构建事件驱动的量化策略

这是邢不行第 61 期量化小讲堂的分享

作者 | 邢不行、果果酱

本文内容也有视频版本,点击链接即可观看:【视频】如何构建事件驱动的量化策略

在之前的文章《跟着大股东和高管买卖他家股票》中,我们用Python分析了8万条数据

发现当高管增持他家股票后,我们也跟着买入,能在未来获得显著的超额收益

下图展示了历次高管增持2%以上股份后,未来一段时间的平均收益:

横座标:增持后的天数 纵座标:平均超额收益

图中箭头所指的灰色柱子代表着:在每次高管增持股票后,我们跟进买入,那么在80天后的平均收益可以跑赢大盘14%

这是相当不错的收益了。

然而,这仍只是过家家式的纸上谈兵!

确实,我们有了一些统计分析结果,知道了高管增持利好股价。

但只看统计结果,是没法赚钱的。

只有实际的操作才能赚钱。统计结果并不能告诉我们如何实际操作。

本文要讲的就是如何根据统计结果去构建实际可操作的交易策略

那么,一个完整的策略应该是什么样的?

它不能只和我讲某个消息利好股价,而是必须要有明确的「买卖规则」。

要告诉我在什么时候买入、相对于我的本金买入多少,又在什么时候卖出

一个选股策略,有明确的买卖时间

我们只需机械的跟着执行交易即可

并且我能够找来历史数据,初始投入1块钱,模拟这个买卖规则,看看在历史上这个规则能赚多少钱,形成「资金曲线」。

某个选股策略的资金曲线

交易策略的类型有很多,比如我之前文章中经常讲的选股策略、择时策略

而基于高管增持构建的交易策略,属于一个新的策略类型:「事件驱动策略」。

所谓事件驱动策略,即由某个事件触发买点,驱动我们买入

该事件会不定期发生。可能连续发生,也可能很久不发生,我们无法预测

比如高管增持事件,明天市场是否会发生,我们并不知道。

并且即使发生,我们也不知道发生的数量。比如明天市场可能有2起高管增持事件,也可能有20起。

为了帮大家更好的理解事件策略的概念,我们下面例举更多的案例。

其实很多人在不知不觉中,就利用了事件驱动策略的理念来炒股。

1.技术指标类

均线金叉、死叉,当短期均线上穿长期均线时,称之为金叉,反之向下穿越就是死叉。

金叉、死叉示意图

很多炒股的朋友会用均线的金叉死叉来作为买点、卖点。
这就是一个典型的事件。和高管增持一样,每天是否会发生“金叉”事件、发生多少起“金叉”事件,我们事先并不知道。

涨停打板,也是很多人喜欢用的事件策略。

比如当某股票初次涨停并打开涨停后,一些激进的投资者喜欢去追涨停,谋求之后的继续上涨。

这里的“初次涨停并打开”就是一个可以触发策略的事件。

并且同样的,这个事件每天是否会发生以及发生多少起,我们并不能事先知道。

2.公告类

上市公司各种公告,天生就适合做成事件策略

首先各类公告发布之后,或多或少都会对股价造成影响。其次各类公告的发布时间,具有一定的偶然性

这都符合事件策略的定义。

第一种,业绩公告类。

上市公司每年会发布四次的财务报表,还有相关的各类业绩预告。

每次财报公布的超预期利润或亏损、公司重大的转型、人事变动等,都会对股价造成造成不小的影响。

基于每次财报公布时提供的丰富数据,可以构建大量的事件类型策略。

第二种,融资分配公告。

高送转,A股的行为艺术,主要指送红股和转增股票。

虽然送股、转增其实对投资者没有本质的利好,但是很多股票往往会在高转送之后走出一波填权行情,这是A股典型的非理性炒作事件。

所以很多人会基于此构建事件策略,把股票某些类型的高转送作为触发事件的条件。

第三种,股权类公告。

股权激励,即一般针对上市公司的高管,通过奖励期权或者股权的方式,实行激励。

股权激励一般来说是利好,让高管们有动力去提升股价。

我们可以基于此来构建事件策略。当某公司实行股权激励时即触发事件。当然也可以根据具体的行权价折价率以及股权激励比例进行一定筛选。

第四种,特殊类公告。

以上说了这么多公告,但其实当一个公司长期不出公告,也可以当做一个事件

比如当公司连续60天没有新公告发布,以此当做一个触发时间的条件。

并且这个事件策略效果还挺不错...

3.文本挖掘类

很多人会看新闻联播炒股,当新闻联播提到某个利好政策或者某个行业时,买入相关龙头股。

其实这也是个事件策略。

我们可以通过百度指数、微信指数等来刻画其被媒体报导的火热程度。

股票贴吧、微博每日新增相关发帖量来刻画其热度。

甚至可以借助人工智能的方法,将各种新闻、讨论背后的情绪提取出来,分类成悲观或者乐观,构建关于个股的舆情数据,以此来作为触发事件策略的条件。

Cayman Atlantic就是通过分析社交网络与新闻资讯的情绪信息来交易金融衍生品的,并且成立了第一只「Twitter基金」。

4.其他类

通过以上的举例,大家可能会对事件策略的丰富性有了一定的了解。

其实还有很多很多种类的事件策略。

比如当分析师调高某股票评级,可以作为事件买入信号。

或者某股票被纳入了指数成分股,也可以作为事件策略。

再或者某个股票在A股和港股同时上市,当它两地价差达到一定程度,也可以作为一个触发事件。

......

只要你想象力足够的丰富,这样的例子还可以举很多很多,并且其中不乏非常优秀的策略 。

看了这么多的事件案例,相信大家对什么是事件策略已经有了初步的了解。

接下来就该讲解如何根据事件来设计我们的策略

设计事件驱动策略,如何离场是非常重要的一环

常见的离场条件主要有三种:

第一种,设置止盈线和止损线,比如我盈利10%或者亏损15%就立即平仓,非常常见。

第二种,根据技术指标,比如跌破20日均线就立即止损。

第三种,设为固定天数后离场,这种方法最为常用。

在之后策略设计中,我们统一使用用第三种离场场方法,即固定天数后离场

在设计策略买入方法之前,我们先统一假设:

  • 我们拥有初始资金10万
  • 在某天T日,有10只股票触发某事件策略,T+1日又有4只股票触发
  • 所有买入股票持有20天后离场

1.第一种方案

首先我们讲一个最简单的方案。

即在T日,把所有资金平均买入T日满足条件的10只股票,每只股票买入1万元。

之后就一直持有这10只股票,一直等到T+20日,持有满20天,把股票卖出

然后看T+21日、T+22日是否有触发事件的股票出现,出现后仍是均仓买入,持有20天...依此循环。

至于T+1满足的条件的4只股票,或T+2、T+3日等股票,我们则完全无视,因为当时没有资金买入这些股票

该方案的优点是简单清晰,容易操作

但也有严重的问题,那就是非常依赖策略开始运行的时间点。试想我们策略是从T+1日开始的,而T日的10只股票涨了很多,不就错过了么?

2.第二种方案

第二种方案是平均分配法,将资金平均分配给每一只触发事件的股票。

根据方案,我会在T日满仓买入10只股票,每只股票买入1万元。

T+1日,我们需要再次买入4只股票。

根据平均分配法,每只股票持仓金额应为:

为了达到这个效果,需要将前10只股票每支卖出0.2857万元(0.2857=1-0.7143),共卖出2.857万元。

然后拿2.857万元买入T+1日的4支股票,每支恰好买入0.7143万元。

之后只要有股票触发事件,就平掉之前部分仓位,腾出钱来买入新的股票,始终保持资金平均分配

这个方法的优点是不会错过任何股票

但缺点就是,不断的平均仓位会导致非常频繁的交易。这不仅会让实际操作非常繁琐,也会带来一大笔额外的手续费开支。

3.第三种方案

第三种方案是把初始资金10万均分为20份,每份5000元,一天用掉一份,正好可以用20天。

第一份资金在T日均仓买入10只股票,每只买入500元,第二份资金在T+1日买入4只股票,每只买入1250元...以此类推。

等到第T+20日,就平掉第一份资金,用于之后的建仓

如果某日没有触发事件的股票,那就闲置该份资金,不买入。所以有可能资金不能得到充分利用

相对来说第三种方法建仓灵活,比较合适。

综合来说,第三种方案是较优方案,也是我会实际使用的方案

 

联系邢不行

推荐阅读

2018量化炒币7大玩法覆盘 | 视频、PPT分享

收藏!量化小讲堂前50篇合集(含代码)

量化投资中经常使用Excel,可能会被同事打

警惕!数字货币交易所排名陷阱:到底哪家交易最活跃?(下)

历年排名前10的基金,在第2年表现如何?Python告诉你答案

在量化投资中,原来K线还能这么画(附画K线代码)

如果你想入门量化,但是始终找不到方向,可以加入我的知识星球。我会在里面解答你的问题,分享我的感悟,不论是投资、技术,还是职业选择、思维方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章