量化选股 101

发布时间:2016-09-27  |   来源: 川总写量化

作者:石川

摘要:本文介绍基础量化选股模型。


1 Alpha 收益率


一般认为股票的收益率分为 alpha 和 beta 两个部分。每支股票的 beta 收益率来自市场,而 alpha 部分则是它的超额收益率。买股票就是买公司,每个基金经理都在努力寻求有真正 alpha 收益率的优秀股票。大型的公募基金和券商有足够的人力和财力来组建自己的行业专家团队,还有很多基金经理绞尽脑汁成为上市公司董秘肚子里的蛔虫,以希望能挖掘优秀的个股。但小型的私募或者资管公司如果没有能力来构建团队呢,量化选股就成为一个低成本的必然选择。本文介绍基本量化选股方法。


2 量化选股模型


量化选股的核心是找到能挖掘出股票超额收益率的选股因子(因此这种方法称为多因子选股),这些因子可以是基本面的财务因子或者是技术面的因子;黑猫白猫,抓到耗子就是好猫。确定有效因子以后,用这些因子给每个股票打分,选出得分高的那些股票进行投资。选股模型每隔一段时间就会重新运行一次,以确定新的股票池子。这么做的原因主要有两个:


1. 不管是财务因子还是技术因子,任何一个因子都很难持续有效。因此必须定期对因子的选股小姑进行评估,剔除逐渐失效的因子,选入新的有效的因子。


2. 股模型中用到了大量的财务因子,因此当上市公司披露新的财报时,需根据新的因子数据重新运行。


基于上述原因,量化选股模型一般在公司披露财报的时点更新股票池子。量化选股模型的流程图如下图所示。下面一一简要说明。


flowchart.png


2.1 确定备选因子


从大类上说,因子主要包括基本面和技术面两类。基本面因子是和上市公司财务相关的因子,又可以细分为盈利因子(如 ROE、ROA 等)、估值因子(如 PE、PB 等)、规模因子等;技术面因子主要是和股票量价相关的因子,可以分为波动类、动量类和反转类。除了这两类主要因子外,还可以考虑其他一些因子,包括券商评级、市场情绪等。


2.2 计算每个因子的选股能力


计算每个因子的选股能力是量化选股模型的核心。我们以 ROE 为例说明这个过程。


第一步,因子预处理:首先对 ROE 因子进行预处理,这里可以去掉一些 ROE 取异常值(极大或极小值)的那些股票,它们可能对选股造成干扰;另外,可以对剩余股票的 ROE 进行归一化处理。

第二步,将股票排序:预处理之后,按照因子的业务逻辑给所有个股排序。由于 ROE 是盈利因子,因此其业务逻辑是 ROE 越大,上市公司的价值应该越好,其股票的超额收益率就应该越高。因此,按照 ROE 的大小给个股排序。

第三步,构造投资组合:排序后,选出排名前 1/5 的股票做多,选出排名后 1/5 的股票做空(假设可以做空),这就是我们当期的投资组合。注意,你当然也可以选前后 1/10,而非 1/5。

第四步,计算投资组合收益率:计算回测区间内内该因子的选股效果。在实证中,随着财报数据的逐步披露,我们会得到新的 ROE 数据。每次得到新的 ROE,重新对股票排序并构建当期的投资组合。这也被称为投资组合再平衡。

第五步,检验收益率:检验收益率均值是否显著大于零,以此作为评价因子的基准。


2.3 选出最好的 n 个因子并赋权


由于备选的因子可以有上百个,因此我们必须择优选出 n 个有效的因子。这里主要有两个方法:


1. 设定因子选股能力阈值,如果一个因子的选股能力高于该阈值则选为有效因子,因子的个数 n 不固定。


2. 设定固定的因子个数 n(n 一般取 10 到 20 个之间)。将所有因子按其选股能力从高到低排序,选出前 n 个因子作为有效因子。


选出 n 个因子后,为这些因子赋权,以便最后一步中给个股打分。在赋权之前,值得一提的是,选出的 n 个因子之间可能存在多重共线性。换句话说,有些因子之间可能存在很高的相关性,这对于选股是不利的,应该给予考虑。(我们将在第 4 节说明多重共线性的缺点。)赋权有以下两种常规方法:


1. 等权,所有优选出来的因子一视同仁;因此每个因子的权重是 1 或者 1/n。


2. 正比于每个因子的选股能力赋权;因此每个因子的权重等于“该因子的选股能力”除以“所有因子中最大的选股能力”。


2.4 为股票打分


为股票打分分为两步。第一步使用每个因子对每支个股独立打分,即用选出的 n 个因子为个股打分。对于每一个因子,按其业务逻辑对个股排序,并打分如下:最好的 10% 的股票得 10 分,次好的 10% 的股票的 9 分,以此类推,最差的 10% 的股票得 1 分。第二步为计算每支股票的总分,即用每支股票在每个因子上的得分乘以该因子的权重就得到这支股票在该因子上的得分。将该股票在所有 n 个因子上的得分相加就得到该股票的总分。最终,按总分对所有股票排序,然后选择排名最高的 m 支股票作为最终的量化选股结果。同样,m 的确定可以有两种方法:


1. 设定优秀股票得分阈值,如果一个股票的总分高于该阈值则入选,因此 m 不固定。如果阈值选取的不好,那么可能出现选出来的股票个数过少甚至无法选出股票的情况。我们会在后面说明,这也不一定完全是缺点。


2. 设定固定的股票个数 m(考虑到分散个股风险,m 一般取 50 到 100 之间)。将所有股票按其总分从高到低排序,选出前 m 个股票。


因为在现实中无法做空个股,因此在实际操作中,投资者可以买入选股模型优选出的 m 支股票,并持有到下一次选股模型重新选择。


3 问题和讨论


上述量化选股模型存在以下几个问题:


1. 仅仅使用了有限个选股因子:无论是固定因子个数或者使用因子选股能力阈值,最终使用的都是有限的 n 个因子,从 n+1 之后的因子就被舍弃了。因此,剩余因子的选股作用不作考虑,造成模型设定偏误。


2. 假设因子间的作用是独立的:模型在选择因子时,逐一独立地考虑每个因子,完全忽视因子之间的非线性关系。这也是选股模型的局限性之一。


3. 因子可能存在多重共线性(即独立性的假设不成立):如果两个或多个优选出来的因子有很高的线性相关性,则它们的效果相似。如果不作处理而把它们当做独立的因子,则会加强选股在这类因子上的偏重程度,造成偏差。因此必须要检验并剔除多重共线性,确保最终选出的因子之间是相互独立的。


4. 小市值高 beta 股倾向:众所周知,由于高 beta 股承担了更高的市场风险,它们有着更高的收益。在量化选股模型中,股票按因子排名,而非按股票对 beta 修正后的收益率排名,然后按排名前后 1/5 股票的绝对收益率对因子效果评价。因此这会造对成市值类因子选股能力的高估,从而选出的股票大多也都是小市值股票。


5. 固定的选股个数:无论市场行情如何,这个选股模型通常选择前 50 到 100 相对优秀的股票。但我们知道,当市场很差的时候,即便得分最高的那些股票的分值可能也会很低、后市走势也会随大盘一样下跌。在这种情况下,如果仍然偏执的选出 50 到 100 支股票,效果可想而知。


针对这些问题,可以考虑以下几方面:


1. 综合考虑多个因子,而非独立筛选单一因子,捕捉因子之间的相互作用。


2. 使用非线性的有监督学习算法对股票进行分类,捕捉高收益率股票的特征,进而选股。


3. 用选股模型作为另类择时工具。当某期股票的打分都很低的时候,不一定要刻意的非要选出多少支股票。不妨认为这恰恰说明了市场的弱势,不应持股。在这种情况下,选股模型便成为了一个择时工具。


4. 提高选股模型的使用频率:虽然财务因子在财报披露时才能更新,但技术类或者其他类因子迭代的更频繁。因此可以考虑提高选股频率。当然,选股频率提高并不意味着我们应该提高股票池内股票的轮动频率,仍应该保证每支选出的股票被持有一段时间,再被新的股票替代。因此可以考虑滚动轮动的方法,比如每一个月重新选股一次,然后每次从投资组合中替换最早进入的 1/3 的股票,这样可以保证每支股票至少在投资组合中持有 3 个月。



免责声明:入市有风险,投资需谨慎。在任何情况下,本文的内容、信息及数据或所表述的意见并不构成对任何人的投资建议。在任何情况下,本文作者及所属机构不对任何人因使用本文的任何内容所引致的任何损失负任何责任。除特别说明外,文中图表均直接或间接来自于相应论文,仅为介绍之用,版权归原作者和期刊所有。