0 前言
Alpha101 是 WorldQuant LLC 提出的因子集,在其公布的文章中通过实践证明,给出的因子集对于股票收益是具有影响的。
本篇文章旨在使用 Alpha101 进行择时模型的训练,实现对沪深300股票池进行挑选,并得到对应的投资组合,最后通过回测模块评估出,指数增强策略相比于基准指数的历史表现。
本次实践仅作为实验记录,内容只表示历史观点,不代表任何推荐建议。
一级目录 | 二级目录 | 三级目录 |
---|---|---|
沪深300编制方案 | ||
样本空间 | ||
选样方法 | ||
定期调样 | 审核时间 | |
审核参考依据 | ||
样本调整数量 | ||
临时调样 | ||
沪深300增强策略 | ||
数据生成 | ||
数据处理 | 遍历现有数据的每一个标的 | |
遍历现有数据的每一个日期 | ||
因子评估 | ||
模型预测 | ||
策略回测 | 参数配置 | |
回测评估 |
1 沪深300编制方案
在我们进行指数增强策略研发的筹备工作时,首先需要对目标指数的编制方法知己知彼才行。
这里简单引用2021年中证公布的编制方案,详情可以移至参考文献四。
1.1 样本空间
指数样本空间由同时满足以下条件的非 ST、*ST 沪深 A 股和红筹企业发行的存托凭证组成:
科创板证券、创业板证券:上市时间超过一年。 其他证券:上市时间超过一个季度,除非该证券自上市以来日均总市值排在前 30 位。
1.2 选样方法
沪深 300 指数样本是按照以下方法选择经营状况良好、无违法违规事件、财务报告无重大问题、证券价格无明显异常波动或市场操纵的公司:
对样本空间内证券按照过去一年的日均成交金额由高到低排名,剔除排名后 50% 的证券。 对样本空间内剩余证券,按照过去一年的日均总市值由高到低排名,选取前 300 名的证券作为指数样本。
1.3 定期调样
1.3.1 审核时间
一般在每年 5 月和 11 月的下旬审核沪深 300 指数样本,样本调整实施时间分别为每年 6 月和 12 月的第二个星期五的下一交易日。
1.3.2 审核参考依据
每年 5 月份审核样本时,参考依据主要是上一年度 5 月 1 日至审核年度 4 月 30 日(期间新上市证券为上市第四个交易日以来)的交易数据及财务数据。
每年 11 月份审核样本时,参考依据主要是上一年度 11 月 1 日至审核年度 10 月 31 日(期间新上市证券为上市第四个交易日以来)的交易数据及财务数据。
1.3.3 样本调整数量
定期调整指数样本时,每次调整数量比例一般不超过 10%。
1.4 临时调样
在有特殊事件发生,以致影响指数的代表性和可投资性时,中证指数有限公司将对沪深 300 指数样本做出必要的临时调整。
这些特殊事件分别是新上市证券、收购合并、分立、停牌、退市、破产、实施风险警示。
2 沪深300增强策略
我们将指数增强策略的研发流程简单定义为如下系列步骤。
2.1 数据生成
在现有数据的基础上,使用下面的方法完成更符合实际情况的行情数据生成:
检验当日是否为交易日 剔除上市时间与当日间隔不满3个月或已经退市的成分股 获取当日的所有成分股的行情 剔除 ST 标记、停牌标记为正的成分股 计算成分股的流通市值,同时标识所属中信一级行业类型
2.2 数据处理
在这一节中,我们参考相应证券研究报告,对生成的数据进行清洗,提高数据的质量。
2.2.1 遍历现有数据的每一个标的
计算未来 5 天通过静态持有方法得到的收益率序列
2.2.2 遍历现有数据的每一个日期
中位数去极值 行业填缺失值:将因子缺失值填补成相同中信一级行业的个股因子平均值 市值行业中性化:以因子作为因变量,市值及行业哑变量作为自变量,取残差作为新的因子值 标准正态缩放 涨跌标签计算:收益位于前十分之三作为正收益、收益位于后十分之三作为负收益
2.3 因子评估
我们对论文提出的 101 个因子进行简单的评估,并根据信息比率进行降序排列。
对于前二十个表现最好的因子,选作为后续择时模型的训练资料。
因子编号 | 最大收益率 | 最小收益率 | 信息系数均值 | 信息系数方差 | 信息比率 |
---|---|---|---|---|---|
alpha073 | 22.61 | -31.45 | 0.04 | 0.12 | 0.36 |
alpha035 | 28.54 | -17.31 | 0.03 | 0.11 | 0.30 |
alpha064 | 15.16 | -19.14 | 0.03 | 0.10 | 0.29 |
alpha086 | 16.14 | -20.59 | 0.03 | 0.10 | 0.28 |
alpha084 | 30.57 | -8.59 | 0.03 | 0.11 | 0.26 |
alpha065 | 10.16 | -12.79 | 0.02 | 0.10 | 0.25 |
alpha001 | 9.80 | -23.66 | 0.03 | 0.10 | 0.25 |
alpha099 | 9.15 | -18.83 | 0.02 | 0.10 | 0.24 |
alpha006 | 10.44 | -14.96 | 0.02 | 0.09 | 0.21 |
alpha060 | -1.05 | -27.68 | 0.02 | 0.09 | 0.20 |
alpha068 | 5.00 | -9.83 | 0.02 | 0.10 | 0.19 |
alpha081 | 2.47 | -15.28 | 0.02 | 0.10 | 0.19 |
alpha003 | 6.77 | -11.34 | 0.01 | 0.08 | 0.18 |
alpha074 | 7.69 | -12.96 | 0.02 | 0.10 | 0.18 |
alpha014 | 10.88 | -10.10 | 0.02 | 0.09 | 0.17 |
alpha016 | -0.63 | -7.83 | 0.01 | 0.08 | 0.16 |
alpha027 | 5.65 | -13.43 | 0.02 | 0.10 | 0.16 |
alpha040 | 4.11 | -6.81 | 0.01 | 0.09 | 0.15 |
alpha015 | 3.52 | -6.05 | 0.01 | 0.08 | 0.15 |
alpha101 | 6.41 | -15.07 | 0.02 | 0.11 | 0.14 |
2.4 模型预测
为了更好的控制数据偏移现象及模型泛化性,我们采用模仿实际应用的固定窗口滚动训练方式。
简单来说,每个时间点都是使用过去固定数量的样本进行参数估计。
时间节点 | 准确率 | 精确率 | 召回率 | F1值 |
---|---|---|---|---|
2020 年 | 0.81 | 0.82 | 0.78 | 0.80 |
2021 年 | 0.83 | 0.85 | 0.80 | 0.82 |
2022 年 | 0.81 | 0.83 | 0.78 | 0.81 |
2023 年 | 0.84 | 0.86 | 0.81 | 0.83 |
2.5 策略回测
策略回测是一种策略评估方法,它将特定的投资策略应用于历史市场数据,以期望评估出该策略的历史表现。
2.5.1 参数配置
开始日期:2020-01-01 结束日期:2023-06-26 回测资金:100W 佣金设置:千分之三 调仓方式:每五天进行投资组合等权调仓 交易滑点:未考虑 冲击成本:未考虑
2.5.2 回测评估
下图是我们搭建的指数增强策略与沪深300指数在历史区间的累积收益率表现。
策略相比于基准,在捕获相似的风险的同时,上涨动力却相对薄弱。
3 参考文献
WorldQuant LLC 的《101 Formulaic Alphas》 东北证券的《Alphalens 使用教程》 华泰证券的《人工智能选股之随机森林模型》 中证指数的《2021年沪深 300 指数编制方案》 华泰证券的《华泰单因子测试之海量技术因子》 申万研究的《交易型量价因子挖掘与有效性研究》 渤海证券的《技术因子的再挖掘之 Alpha 101》 华泰证券的《机器学习选股模型的调仓频率实证》 财通证券的《行业因子选取,中信一级还是申万一级?》 中信证券的《中信证券行业分类标准2.0 版及修订说明》