组合构建:从因子分数到实际持仓
因子分数算出来,只是给每只股票排了序。要变成真实持仓,中间还有一整层工作:选多少只、每只配多少、以及要遵守哪些约束。这一步叫组合构建,它常常比因子本身更影响最终结果。
先定选多少只
通常的做法是取分数最高的一批,但这批取多大,本身就是一个权衡。
取得少(比如三十只):因子暴露强,超额可能更高,但个股的偶然性影响大,波动也更大,而且单只股票的流动性压力集中。
取得多(比如两百只):分散更充分,个股偶然性被平滑,容量也更大,但因子暴露被稀释,超额收益会下降,同时交易成本上升。
没有标准答案,要看策略的目标:追求锐度就少一些,追求容量和稳定就多一些。实务中常见的做法是分档——核心仓位取分数高的一批,再用更宽的一批做分散。
再定每只买多少
几种常见的权重方式:
- 等权:每只一样多。简单、不需要估计任何东西,也不受估计误差影响。缺点是忽略了因子的强弱差异和个股风险差异。
- 按分数加权:分数高的多买一些。更贴合因子逻辑,但权重对分数的分布很敏感,容易出现个别股票权重过大。
- 按风险贡献加权:让每只股票对组合总风险的贡献大致相等(风险平价的思路)。波动大的股票权重自动降低。这种方式下组合的风险结构更均衡。
然后是约束
约束是组合构建里很实际的一环,常见的有:
- 个股权重上限:防止单只股票占比过高。即使分数再高,也要设上限,因为因子会错,而集中持仓会把错误放大。
- 行业权重约束:限制单一行业的占比,防止中性化之后仍然因为样本分布而偏向某些行业。
- 市值或流动性约束:剔除成交额过低的股票,保证能买得到、卖得出。这条对小市值策略尤其重要。
- 换手率约束:限制每次调仓的换手比例,直接控制成本。
优化器要慎用
有了目标函数和约束,很自然会想到用优化器求解最优权重。但优化器有个著名的毛病:它对输入参数(尤其是预期收益)极其敏感,输入稍微变动,输出的权重可能天差地别。而预期收益恰恰是估计得最不准的东西。
所以实务中,要么降低对优化器的依赖(用规则化的权重),要么对参数做稳健处理(约束更紧、加入正则项)。这一点在王者段位讲组合优化时会再展开。
一个检验办法
组合构建完之后,做一件简单的事:检查组合在各个因子上的暴露,以及行业、市值的分布。如果某个你没有打算押注的维度上暴露很大,说明构建环节有漏洞。
一句人话:因子决定"买谁",组合构建决定"买多少"。后者看似技术性,却常常决定了策略是"能用"还是"只能看"。
写在最后
持仓建好了,但每次调仓都要付成本。下一篇讲交易成本与换手率——这个看起来不起眼的变量,是吃掉收益的主要隐形杀手。
本文为投研学习参考资料,仅供研究参考,不作为投资决策依据。市场有风险,投资需谨慎。
← 返回智远教投