这位骚年,看你骨骼惊奇,跟我一起挖掘多因子策略吧!


雪球转发:37回复:28喜欢:134
话说机构有三宝,选股,择时,风控好。风控咱放到后面说,先看看前两者。啥叫选股?股票代表着所对应的公司,小编认为,选股目的就是判断公司好坏。我们买自然是想买好公司对吧?择时,也好理解,再好的公司,涨的太高了,买了也是白买。你总得选个恰当的时候,对吧?

接下来问题就简单了,选股择时,我们得有一个标准对不对?这些标准就叫做因子。比如,我认为营收增长率公司就是好公司!那我就把营收增长率大于30%的股票拉出来纳入石榴裙下好了。这个营收增长率大于30%就是因子,完毕。多么的简单粗暴!

所以你看那些券商研报,总提到因子因子,说是多因子选股,说的大概也就是这么回事。没那么复杂。

我们这篇文章的目的很简单,先不讨论具体怎么去选因子(你自己去找哇),而是开(厚)宗(不)明(要)义(脸)定义一下,因子都有哪些大类?然后再把每个大类里面拎出来几个因子,介绍介绍混个脸熟。最后我们在社区里给大家封装了几个函数范例,需要的拿来改改就直接可以形成自己的策略(原文链接请见https://www.joinquant.com/post/1149)。各位同学也可以按照这段代码框架自己添加因子,非常方便。

无数个人有无数个哈姆雷特。这些因子孰优孰劣?选取哪方面的因子,小编不做评价,你自己觉得那些因子好就用那些喽。具体到一个因子上往往是有一定判断标准的,比如每股盈余,一般情况下越大越好,很好理解。但是有的因子的标准就不那么清晰了,比如成交量,有人认为放量好,有人认为缩量好,公说公理,婆说婆理。不过小编觉得,实盘是检验真理的唯一标准。觉得哪个好,去社区回测一下不就知道了嘛

那么我们开始!

国内一般将基本面因子和财务面因子统称为基本面因子,他们都依赖于公司三大表的财务数据。不过本文就先将其划分成两类讨论:前者基于财务报表的直接数据,后者需要进行二次计算换算成各类比率等。另外一大块是市场面因子,也很好理解,因为他们其中很大一部分,是我们熟悉的技术分析。先贴个框架图:
JoinQuant聚宽
接下来分项讨论(小编默认大家都是明白这些名词的,如果有不明白的,请找度娘):


1.   基本面因子
在基本面选股因子中,比较典型的有每股盈余(EPS),营收环比(同比)增长,公司净值和股本等指标。
JoinQuant聚宽

2.   财务面分析
财务面选股比较典型的因子有ROE、ROA、毛利率、资产负债率和营业利润率等。
JoinQuant聚宽

3.   市场面分析
市场面因子很多,这里举几个典型的,涨幅、流通市值、成交量等。
JoinQuant聚宽


那么介绍一下我们封装的函数吧

我们将各类因子筛选函数封装,社区的各位小伙伴可以根据自己需求选取和组合,每一类分析方式都有一个主函数来根据命令挑选筛选指标函数:

1. 基本面因子选股:主函数为FundamentalAnalysis(context,index,method = '1234&#  39;),method输入为字符串,1代表根据EPS指标选股,2代表根据营业指标选股,3代表根据净值选股,4代表根据股本选股;

2. 财务面因子选股:主函数为FianceStateAnalysis(context,index,method = '12345&#  39;),method输入为字符串,1代表根据资产报酬率指标选股,2代表根据股东权益报酬率指标选股,3代表根据毛利率选股,4代表根据资产负债率选股;5代表根据营业利益率选股

3. 市场面因子选股:主函数为TechSAnalysis(context,index,method = '12345&#  39;),method输入为字符串,1代表根据个股涨幅指标选股,2代表根据成交量指标选股,3代表根据流通市值选股。

这些函数怎么用捏,举个例子,比如我想选用基本面选股的方法选取上证股票,然后只想使用EPS指标、营业指标,EPS指标和营业指标的编号对应是1和2;那函数调用的格式如下:
```Python
FundamentalAnalysis(context,index,method = '12&#   39;)
```

Context是JQ自带的参数,index就是你所选取的股票池,method值的含义按照前文所述。而筛选的阈值可以在initialize的全局参数中设定。目前我们这些函数都是单阈值的,比如成交量,只能设定大于某个值,把大于这个值的股票筛选出来。如果有同学想修改为多阈值判断,只需要到函数里修改代码逻辑即可。
 
接下来挑选几个因子看看效果吧

1.研究部分
我们应用不同的因子进行选股,并在研究环境中对比了2016年3月1日到2016年4月20日的选股效果:

基本面选股策略选取了EPS指标选股,营业指标,净值,股本作为筛选条件,阈值设定分别为:0.5、0.1、5、10^8;

财务面选股策略选取了资产报酬率指标,股东权益报酬率指标,毛利率选股,资产负债率选股和营业利益率,阈值分别设定为:0.2、0.2、0.2、0.6、0.2;

市场面选股策略选取了涨幅、流通市值和成交量,其相关规则设定如下:涨幅指标设定为选取过去一个月涨幅最高的8支股票;流通市值指标设定为选取个股流通市值占总市值比分布中四分位以上的个股;成交量指标设定为过去一周平均成交量大于过去一月平均成交量的个股。

对比结果如下:
JoinQuant聚宽
JoinQuant聚宽
可以看到,在上证指数中,财务面因子的收益率最高,技术面次之基本面选股策略收益最差,但都跑赢了这一个月的上证指数收益;而在深证成指中表现则较为一般,只有财务面选股收益跑赢指数,基本面选股策略次之,而技术面再次之。(当然这个不能说明实际情况就是这样,我的因子和参数是随便选的Orz)

2.回测部分
测试了15年以来策略表现情况,未加止损函数,操作股票数量为3只;结合了3项选股策略进行选股,如果筛选后股票多于3只则根据个股涨幅进行排序,取最高的3只股票。效果嘛,由于没加止损,择时这块也没有花大工夫弄,是大起大落,但是跑赢大盘基本还是肯定的。
JoinQuant聚宽

没有结论啦,我们就是大概的介绍一个框架性的东西,然后举了几个微小的例子,希望能给新手一点点启发,起到一些借鉴作用。大家研究一下,跑赢大盘是肯定的,如果好好钻研,说不定可以搞出来绝对收益。

最后祝大家在震荡股市中获取稳稳收益哈~

策略源代码,策略具体收益与风险指
请参看原文:https://www.joinquant.com/post/1149

@右侧投机者@菜园子@何纯在南国@看好股市的新人@Rocksavessoul@mike163@数据驱动力@漩涡鸣人NARUTO@混沌与概率1997@价值at风险@深圳价值投资者@无责任股评@量化钢铁侠@不翻倍我不走@看空的多头@随心所欲不越矩 @价值趋势技术派

精彩评论

半分之间 2016-04-30 11:59

只换新瓶不换酒,什么因子选股,明明就是选股条件,非要说的那么高大上,机构好来骗无知的投资者而已。
请问因子选股对投资能力有什么帮助?只不过是把手动选股变成自动化选股(更麻烦因为要编程)

全部评论

半分之间 2016-04-30 11:59

只换新瓶不换酒,什么因子选股,明明就是选股条件,非要说的那么高大上,机构好来骗无知的投资者而已。
请问因子选股对投资能力有什么帮助?只不过是把手动选股变成自动化选股(更麻烦因为要编程)

等恒守璞 2016-04-29 14:43

@朱铭  query的filter中,.filter(valucation.code.in_(t1))是t1范围内的股票,现在要查不在t1范围内,该如何些? 有没有not in_之类的函数? @JoinQuant聚宽

宏观经济算命师 2016-04-28 00:43

我们接着搞

Patrick_101 2016-04-28 00:32

我也是觉得财务因子最有效

ZHPHAN 2016-04-26 13:48

刘乐观 2016-04-23 19:00

哈哈 好多 看不懂   好吧 我去学习一下

JoinQuant聚宽 2016-04-23 10:56

到社区里发帖问问看~大神很多的。https://www.joinquant.com/community

刘乐观 2016-04-23 10:24

有大神帮转成通信达的选股公式吗?

高斯蒙 2016-04-22 22:38

多因子选股总结

不翻倍我不走 2016-04-22 19:41

蛮有意思的

1 2 3