导语:这篇文章以二八轮动为例,尝试介绍如何从完全入门开始构建一个策略,适合小白入门级阅读。
前言
量化投资并不是一个神秘不可知的领域,比如说,一个最简单的策略——购买昨天涨停的股票持有到明日收盘时卖出,就可以通过量化的方式实现:第一步,筛选出昨日涨停的股票;第二步,计算每只股票买入比例;第三步,开盘买入。这个简单策略背后的投资逻辑是:涨停的股票还会有继续增长的趋势;同样,我们也可以购买昨天跌停的股票持有到明日收盘时卖出,它背后的投资逻辑是:跌停的股票在之后的交易中会回归均值。
虽然这是两种极不靠谱的交易策略,但其中蕴含了量化投资中如何发现趋势的基本思想。第一种交易是典型的动量策略,即根据涨跌趋势都会继续保持的特点,继续买入持续上涨股票,卖出下跌股票——用通俗的话来讲,就是“追涨杀跌”。第二种交易是典型的反转策略,即认为股票价值是被低估的,在未来的时间内会出现均值回归,就是所谓的“低吸高抛”。
动量策略和反转策略看上去是冲突的,但实际上并不矛盾,因为在实际的交易中,我们是根据市场的不同信息(通常我们称之为信号)解读市场究竟处于持续上升或下跌还是反转。信号是决定采用何种策略的关键。
“二八轮动”就是根据A股市场中大盘股和小盘股走势不同作为信号判断的。(所谓二,就是指数量占20%的大盘股、权重股;所谓的八,就是数量占80%左右的中小盘股,非权重股;其轮动就是指在两者之间不断切换,轮流持有。)
大盘股和小盘股的区分就是根据公司的流通股本的多少,大盘股通常指流通股本大于1亿的上市公司股票,而小盘股则与大盘股相对,通常指流通股本不足3000万的股票。沪深300通常可以近似表示大盘股的整体走势,中证500指数近似表示小盘股的整体走势。
在A股市场中,大盘股与小盘股往往存在着分化,走势并不同步。如下图所示,是13年8月到16年7月沪深300(红线)和中证500(蓝线)的走势:
简单来看,中证500整体涨幅和跌幅都高于沪深300,并且两者走势在部分时段并不同步。因此基本的策略可以设定为:当中证500上涨高于沪深300追涨中证500,在中证500下跌高于沪深300时切换到沪深300。
最简单的二八轮动策略
根据上述信号,我们可以制定这样的策略:每周五(或者本周的最后一个交易日)临近收盘时,将沪深300指数和中证500指数切换到周线状态,分别查看两者过去四周的累计涨幅。哪个过去四周涨幅大,那么就在收盘前买入对应的ETF持有一周,直至下一次的切换,其策略可以写为以下两步:
1、在每周五,对比当前交易日收盘数据与第前二十个交易日的收盘价,选择沪深300指数和中证500指数中涨幅较大的一个;
2、如果没有买入任何股指,则买入;如果涨幅较大的指数已买入,则保持仓位不变;否则执行调仓交易。
蛋卷二八轮动
这是雪球上「蛋卷基金」的实盘交易策略:斗牛蛋卷二八轮动,相关推荐阅读:蛋卷二八轮动,好策略还看未来好执行
上面的二八轮动策略无法规避大熊市中资产的大幅贬值,因为所交易的资产全部都在股市当中,尽管在熊市中从中证500切换到沪深300下跌幅度减小了不少,但是仍然是下跌的。同时设定在每周五交易频率过低,无法及时捕捉市场行情,因此可以改为每日判断。据此,我们可以对二八轮动策略进行一个改进:添加国债指数,当沪深300指数和中证500指数与前20日比都下跌时,切换为国债指数。
将上述的交易分步描述成可执行操作,就是蛋卷斗牛二八轮动的策略:
1、对比当前交易日收盘数据与二十个交易日前的收盘数据,选择沪深300指数和中证500指数中涨幅较大的一个;
2、于收盘前执行调仓交易;
3、如果两个指数与前20日比均为下跌,则切换为持有国债指数(也可理解为空仓)
根据上述策略得到的回测结果(2013.7-2016.7)如下:
如上图所示,是以中证500为基准收益(红线)对比的二八轮动策略(蓝线)的收益。总体上看,二八轮动在股票大涨大跌是的行情表现往往较好:
1、在2014-2015年的大牛市中,二八轮动策略(即蓝线)捕捉到了趋势,在牛市中基本是满仓持有中证500,和指数收益基本持平。但因为有20日延迟,因此在大牛市中稍弱于指数。
2、二八轮动完美避开了几次大跌(红色箭头的部分),特别是股灾级别的快速下跌段,下跌时间越久,二八轮动相比于其他指数的优势就更加明显。从回测结果看,该策略主要收益也就是来自于在大涨时跟大盘获得收益,在大跌开始时就退出止损。在一个包含大牛市和大熊市的完整牛熊大周期里,可以大幅跑赢所有指数。
3、但同时,正是因为二八轮动策略靠大涨大跌赚钱的特点,在震荡行情中往往表现不佳,频繁换手过程中往往被两边打脸。
(如上图所示,如果以沪深300作为基准收益,则二八轮动的超额收益更高,其主要原因是,小盘股在牛市中表现优于大盘股,而二八轮动在这种时候就会选择小盘股跟风获得收益,而在大跌时止损保证了之后收益率不会随大盘大跌)
蛋卷二八轮动的优化
1、二八轮动无法捕捉短期的上涨信号(脉冲式波动),因为取20日前的股票价格往往会无法识别短期的上涨或者下跌。因此可以在二八轮动的基础上添加对短期上涨的识别,比如在持有国债的情况下,如果有一个指数当天上涨3%以上,此时把国债改为买入该种指数。
2、在估值ETF的选择中,我们只选择了中证500和沪深300。实际上,比中小盘更受整体股市牛熊影响的还有创业板。如果创业板指数加入,在沪深300指数、中证500指数和创业板指数三者之前选择最强,收益率可提升20%以上。(但需要判断这样的策略是否存在过度拟合:之所以收益提升,是因为前几年创业板的行情好,但是在接下来的几年内不一定。)
3、二八轮动本质上是一个择时策略,判断整体股市持续上涨和持续下跌的情况。如果在大牛市时直接买入小市值股票而不是中证500,那么回测的收益率更高。
函数和变量说明书
函数说明书