大数跨境
0
0

短期风险因子妙用 提升股票模型收益的简单思路分享

短期风险因子妙用 提升股票模型收益的简单思路分享 JoinQuant聚宽
2018-11-06
1
导读:短期风险量价因子,可以巧妙地增强股票模型收益。特别是我们的模型有较长的持仓周期时,可以在基本面优选基础上,短期再做调整。

前言


股票因子分为很多种类,各机构的分类方法也不同,如我们前一篇文章讲解的Barra,将股票市场数量化的因素分为10个风险收益因子,五因子模型分为5个风险收益因子。


我们比较认可的一种分类方式是:

  成长(营收同比增速为主)

  估值(PE PB为主)

  质量(ROE为主)

  杠杆(资产负债率为主)

  规模(市值因子为主)

  非线性规模(规模因子的三次方,并与规模因子正交,体现中盘股)

  Beta(CAMP模型的beta)

  动量(过去两年并除去最近一月收益率)

  反转(最近一月收益率,或部分情绪类量价因子)

  流动性(换手率为主)


如此方式分为大概10类因子,分别从6个基本面维度,和4个量价特征维度,来解释股票收益率。这种分类方式参考了长江证券的金工研报,也结合了其他家的分类方式。


不仅是20周期动量(收益率)可以作为反转,60周期也同样长期有效


其中反转因子,在A股长期有效,无论是大市值还是小市值,特别是遇到非大牛市的盘整市场中,“本期上涨多的个股,或者本期成交量过大的个股,下期往往倾向于下跌”。这就是反转因子的基本解读。所以它也被称为风险因子,实战中要反向使用。



通过因子测试(之前文章中描述过),我们发现不仅价格,成交量、换手率和资金流的部分统计量,也拥有很强的反转特性,因此这类因子被统称为典型的短期风险因子、短期量价因子、情绪因子等名称。可以看到上图的蓝色线(第一组,风险因子最高组)收益最差。


针对这种简单,好理解,容易计算并容易获取到因子值的因子,今天分享两个增强股票模型收益的使用方法。


高风险个股过滤


我们撰写了一个简单函数,使用3个风险(情绪)因子来过滤股票,规则是:使用money_flow_20(20日资金流)、VSTD20(20日成交量标准差)、VOL20(20日平均换手率)对股票做等权打分,各1/3权重,得到一个矩阵data_final(DF数据类型)。


打分后,对股票池做升序排序data_final.sort(ascending=True)。最后取前70%的个股,也就是剔除因子值最高的30%个股(或者10%,20%等比例)。这类个股往往是风险极大的,也就是实盘中,我们发现已经涨幅不小的个股。



这个函数输入输出都是list数据类型(股票名单),输入的参数要多加一个昨日日期yesterday = context.previous_date。也就是如果之前选到的股票是50只,经过这个函数过滤,只保留50*0.7 = 35只。


我们使用它调试一个简单的价值股模型,得到如此绩效变化:


高风险因子个股过滤 调整前后的效果


在最终收益率下降的情况下,我们还观察到,夏普比率,胜率和盈亏比也得到提升。


半周期重平衡调仓


如果模型定义了一个完整的调仓周期(或大部分股票的调仓周期)为一个月,或者40天,60天这样的数值,那么这里的“半周期”含义就是完整周期的1/2时间周期。


由于基本面因子和量价类技术面因子,在调仓周期上难以协调。我们将这种情况解释为:基本面因子的有效期和半衰期比技术面因子更长(毕竟很多基本面因子是季度发布),所以难以通过基本面因子短期调仓带来超额收益,也难以通过技术面因子长期调仓带来超额收益,两者调仓周期不兼容。


还是同样3个风险因子,先选出高风险个股


然后运行median_period_rebalance函数


此时我们设计一个模块,在持仓到一半周期时,卖出风险因子值较高的50%股票,剩下的资金,立刻补充到风险因子值较低的50%股票上。如我们计划40周期调整,每次持仓50只个股,则该模块在第20个周期日上启用,对25只股票进行卖出和买入。


半周期重平衡调仓 调整前后的效果


这种方式不仅提升了绩效,而且持仓组合的beta系数有所下降,Alpha显著上升,胜率和盈亏比也有提升,这些提升大都来自于量价类技术因子的帮助,也就是反向使用风险因子的效果。


诸位读者也可以尝试此方式,简单有效地提升模型绩效,我们在交易过程中,一般都会过滤高风险个股。人工过滤的方法一般是:剔除近20日涨幅过大的个股、剔除今日开盘已经上涨到8%以上的个股、剔除换手率过高的个股等方式,所以尝试总结手工交易习惯中科学的那部分,尝试量化,做因子分析,再加入到模型中,大概率都会得到成功的模型开发体验


风险类因子在聚宽网站也被归类为“情绪因子”

(https://www.joinquant.com/help/api/help?name=factor_values),因子值可以直接通过接口提出,这里很多因子和股票收益无法直接和股票收益构成线性关系,甚至也无法选到优秀的股票(最佳组难以获得有效收益),尝试正向选股失败时,可以如今天的文章这样,尝试负向剔除高风险个股。


祝各位读者周末愉快,我们终于迎来了股票市场一个像样的反弹,但是依然要按照模型去做,才能有长期稳健的收益。每当市场好转之时,一定要提前丰富武器库


原文链接依然是图书介绍,希望它是更多投资者特别是量化爱好者的垫脚石。



-END

【声明】内容源于网络
0
0
JoinQuant聚宽
JoinQuant(聚宽)量化交易平台官方账号
内容 249
粉丝 0
JoinQuant聚宽 JoinQuant(聚宽)量化交易平台官方账号
总阅读16
粉丝0
内容249