第七节 常用自定义案例

第七节  常用自定义案例


前文讲了一大堆自定义,仅仅列举这些略显复杂的函数估计会让一部分读者摸不着头脑。下面,笔者将通过案例介绍如何在实战中使用自定义。

超跌反弹自定义因子

超跌反弹是一个很好的量化因子,但在果仁网中,只有l日涨幅、5日涨幅、20日涨幅、60日涨幅、120日涨幅、250日涨幅,而通过回测知道,在这些涨幅中,收益率应该和60日涨幅负相关最强,即60日跌幅最大,收益率最高。那么,进一步思考,60日是不是最佳日呢?我们是否可以做个向定义因子来回测一下?答案是肯定的。

定义N日涨幅=后复权收盘价/ref(后复权收盘价,N)-1。用后复权收盘价主要是考虑到分红除权的因子。N=10,ref(后复权收盘价.10)就是10个交易日前的收盘价,以此类推。通过果仁平台,计算了从l个交易日到80个交易日跌幅最大的因子,平均持有10只股票,5个交易日轮动一次,单边交易及冲击成本0.2%,剔除日成交额1000万元以下和涨跌停数据。统计结果如图12-6和表12-16所示。

从图12-6和表12-16可以清晰地看到,刚开始因为下跌的惯性,一路负收益,到20个交易口开始转正,一直到69个交易日,年化收益率高达32_82%,然后收益率叉开始下情。再看如果不是5个交易门轮动一次的情况,固定69个交易日的跌幅作为超跌因子,从l个交易日到10个交易日轮动一次,结果如表12-17所示。

从表12-17可以看出,还是5个交易日轮动一次为最佳。

另外,通过分析这几年的收益来可以看出,2015年156.05%的收益率,远远超过当年沪深300的5.58%的涨啊,主要原因在于2015年的暴跌,给了抄底民者很大的超额收益。这也给了我们一个很大的启发,就是在经过一轮暴跌后适时买入超跌股是一个很好的策略。

PE、PB、PS优化自定义因子

在传统的投资理念中,更多的是讲定性而非定量。而经过精细的定量分析,我们会从传统投资理念中挖掘出更多的有价值的东西。

上面列举了超跌反弹的自定义因子,下面再来看如何通过自定义因子来优化PE(市盈率)、PB(市净率)、PS(市销率)等传统因子。借助果伫网平台,先对这三个指标做个回测,时间为2007年1月4日-2017年2月17日,平均每20个交易日换一次,平均持有这三个指数中市值最小的10只股票,剔除所有的ST股和日成交额1000万元以下的股票,单向交易成本平均0.2%0PE、PB、PS的年化收益率分别为21.54%、30.64%、30.20%,远远超过同期沪深300年化涨幅的5.08%。但仍有提升的空间,下面就演示优化向定义因子的过程。

先来看PE的定义,PE=总市值/最近12个月归属于母公司所有者的净利润。为了理解和计算方便,在果仁网采用"TTM(季度值,0)"这个函数,表明是最近4个季度值的累加。同样道理,定义了:

每元营业利润=TTM(营业利润,0)/总市值

每元利润总额=TTM(利润总额,0)/总市值

每元净利润=JfM(净利润,的/总市值

每元所有者净利润=TTM(归属于母公司所有者的净利润,0)/总市值=l/PE

以此类推,定义了收入、资产、权益方面的指标:

每元营业总收=TTM(营业总收入,0)/总市值=1/PS

每元营业收入=TTM(营业收入,0)/总市值

每元资产总计=TMM(资产总计,0)/总市值

每元股东权益合计=TTM(归属母公司股东权益合计,0)/总市值=1/PB

每元所有者权益合计=TTM(所有者权益合计,0)/总市值

每元资本公积=TTM(资本公积,0)/总市值

每元未分配利润=TTMM(未分配利润,0)/总市值

在同样条件下,回测结果如表12-18所示。

从表12-18可以看出,每元营业收入对应的年化收益率31.48%,比每元营业总收入(1/PS)对应的30.20%好。用每元营业利润对应的年化收益率34.04%,比用每元所有者净利润(1/PE)对应的21.54%要好,用每元所有者权益合计对应的年化收益率39.06%,比每元归属母公司股东权益对应的30.64%要好。包括每元资产总计对应的年化收益率高达30.61%,也是一个非常好的向定义因子。

以上这些因子均不包含小市值,所以不管外界如何变化,即使是小市值因子全部失效,量化投资依然会在A股市场继续有效。因此,祀人忧天是不可取的,与其像有些人那样整天怨声载道,还不如静下心来好好做些准备。

行业内排名

上面讲到市盈率、市净率因子轮动时,都讲到行业内轮动的效果比全市场好得多,那么什么是行业内轮动,行业内如何计算排名,为什么一般在行业内轮动的效果好?

我们还是用果仁平台,来看市净率因子,如果把整个市场每只股票的市净率从小到大排序,那么前10名全部是破净的银行股,如果简单地按照整个市场的市净率排序轮动,那么很有可能很长时间其排序变动很少甚至不变动,其收益只是期待整个市场的涨幅。但如果我们分行业排序呢?这里的行业用了申万一级行业的28个行业,每只股票的排序仅仅在行业内进行,其每只股票对应的得分=(本行业内股票数-行业内股票排名+1)/本行业内股票数x100,最高得分100分,最低得分接近0分,如果出现得分相同.那么市盈率小的排名在前笔者列出了2017年4月底的市净率排名前30名的股票明细,如果简单地挂照市净率排名,那么前10名对应的全部是银行股,如果接照行业内排名,那么交通运输的赣粤高庄、钢铁的鞍钢股份、采掘中煤能源等部可以排名靠前了。

为什么按照行业排序轮动往往比全市场的效果更好呢?主要是股市存在板块效应,因为板块内的比价效应,导致了股票分散在每个板块的效果比集巾在某一两个板块要好很多。当然有时会在相当氏的一段时间内出现某一个极块走强,但长期来看还是会出现板块轮动的。