量化选股:基于Fama-French三因子模型的策略构建与实证分析
量化选股:基于Fama-French三因子模型的策略构建与实证分析
量化选股是量化投资领域的重要组成部分,其中基于Fama-French三因子模型的量化策略因其科学性和实用性而备受关注。本文将详细介绍多因子模型的基本概念、因子挖掘方法、多因子策略的分类以及具体如何构建基于Fama-French三因子的量化策略。
多因子模型概述
多因子模型(Multifactor Model)是使用最为广泛的模型之一,其基本形式类似于线性回归模型(y = wx + b)。在多因子模型中,因子被定义为资产收益(率)的解释变量,模型用于描述投资的逻辑。
在t时刻,第i只股票的超额收益率可以表示为:
ri,t = ∑m=1n βi,m Xi,m + εi,t
其中:
- ri,t 表示t时刻第i只股票的超额收益(label值)
- βi,m 表示计算出的因子的收益矩阵(模型拟合出的权重矩阵)
- Xi,m 表示因子的暴露矩阵(指因子的具体取值,也就是x值)
- εi,t 表示未被因子解释的特殊收益,即特异性收益率(截距项、误差项)
需要注意的是,多因子模型中的误差项与机器学习模型中的误差项含义不同。在多因子模型中,误差项期望趋近于0,以确保所有解释变量可以完美解释收益。
因子挖掘
因子挖掘是量化投资中的重要环节,通过挖掘因子来解释个股或组合的收益。目前因子挖掘体系相对成熟,主要分为以下几类:
- 风格因子:反映个股状态、预期的因子,体现的是过去一段时期内呈现出的一些特征。比如个股的财务指标,个股市值,PE指标,股价的波动性,换手率等因素
- 行业因子:反映个股所处行业的行业特征。由于行业周期性、政策冲击、重大事件等因素,导致从事相近业务的股票在市场上也会表现出较高的相关性的因素
- 市场因子:更加宏观,反映由于宏观环境影响、供求关系变化呈现出的同涨同跌的情况
挖掘到因子后,需要通过以下步骤判断因子的有效性:
- 如果因子的值域范围较大,通常会将数据分箱(或转换为分位数)后,用离散后的值来计算
- 由于因子本身也是时序数据,因此通过滑动窗口的验证会验证很多轮,根据当期的因子值与下期的收益来判断因子的收益
- 每个滑动窗口会得到一个原始因子的x与最终的收益y,最后通过胜率、均值、方差、相关系数等方法来验证因子的有效性
多因子策略
多因子模型适合很多场景,通常可以根据使用的因子不同,将对应的模型分为以下三个类别:
- 风格因子模型:主要关注个股的风格特征
- 行业因子模型:主要关注行业特征
- 市场因子模型:主要关注市场整体特征
在构建多因子策略时,需要注意以下几点:
- 对因子及其背后的金融含义有足够的了解,才能够得到回测时更优的模型
- 测算因子的过程就是开天眼的过程,在后续使用中,测算的结论会被先验的代入到后续的计算中
- 需要格外谨慎,因为资本是风险最后的承担者
基于Fama-French三因子的策略构建
Fama-French三因子模型在CAPM的市场因子基础上,引入了表示价值与规模的解释变量,即HML(高账面市值比-低账面市值比)和SMB(小市值-大市值)。
具体构建步骤如下:
- 将股票池的全部股票按照市值的大小分为small小市值与big大市值两类
- 统计全市场的账面市值比BM,将前30%认为是Low,将30%-70%认为是Middle,将大于70%的股票认为是High
- 根据这两个指标,将全市场的股票分为以下两类:
Low | Middle | High | |
---|---|---|---|
Small | S/L | S/M | S/H |
Big | B/L | B/M | B/H |
其中:
- HML(表示价值):1/2(S/H + B/H) - 1/2(S/L+B/L)
- SMB(表示规模):1/3(S/H + S/M + S/L) - 1/3(B/H+B/M+B/L)
因子效果测算方法
- 股票池:非ST沪深A股
- 测算时间区间:2015年1月1日至2020年12月23日
具体测算方法:
- 统计这段时间个股月线的【涨跌幅%】,每个月月末的【市值】,【PB】
- 计算BM指标:BM = 1/PB
- 每月一统计:
- 将大于全市场【市值】的中位数的股票认为是“大市值股票”,将小于全市场市值的中位数的股票认为是“小市值股票”
- 统计全市场的账面市值比BM,将小于30分位数的认为是Low,将30分位-70分位认为是Middle,将大于70分位的股票认为是High
因子测算结论
- 综合来看,选择当月BM较低,且市值较大的公司时,胜率最高,高达81.15%;相反的,选择当月BM较高,且市值较小的公司时,胜率最低,低至37.68%
- 逐年测算时,选择当月BM较低,且市值较大的公司时的胜率较为稳定,年均测算结果呈现盈利状态,而其他情况则表现不稳定,时而盈利时而亏损。
具体胜率数据如下:
分类 | 胜率 |
---|---|
high_大市值 | 0.449275 |
high_小市值 | 0.376812 |
low_大市值 | 0.811594 |
low_小市值 | 0.666667 |
middle_大市值 | 0.507246 |
middle_小市值 | 0.463768 |
月收益如下图所示:
按年份统计的胜率图如下所示:
总结
基于Fama-French三因子模型的量化策略具有较高的胜率和稳定性,特别是在选择当月BM较低且市值较大的公司时表现最佳。然而,需要注意的是,该策略的回测结果基于2015-2020年的数据,对于当前市场环境的适用性需要进一步验证。此外,量化投资是一个复杂且动态的领域,需要持续跟踪市场变化并调整策略。