金工研究/量化投资周报总结
核心内容概述
本报告为华泰证券金工团队发布的2018年11月25日人工智能选股周报,重点分析了7种机器学习模型(Stacking、SVM、朴素贝叶斯、随机森林、XGBoost、逻辑回归、神经网络)在不同股票池(全A股、沪深300、中证500、中证800)中的表现。报告提供了模型在本周、最近一个月以及2018年以来的超额收益和RankIC均值等关键指标,并给出了详细的回测绩效和因子池信息。
主要观点
- 模型表现:各模型在不同股票池中表现差异显著,部分模型在特定池中表现优于其他池。
- 超额收益:Stacking模型在中证500指数内选股中表现最好,2018年以来超额收益为10.39%。逻辑回归在沪深300和中证800指数内选股中表现优异。
- RankIC均值:2018年以来,逻辑回归在全A选股中RankIC均值最高(0.107),朴素贝叶斯在中证500成分内选股中RankIC均值最高(0.101)。
- 回测绩效:各模型在2011年以来的回测中,表现出不同的年化收益率、波动率和夏普比率,其中XGBoost在中证500成分内选股中表现最优,年化收益率为16.66%。
- 因子池:模型使用70个因子进行选股,涵盖估值、成长、财务质量、杠杆、市值、动量翻转、波动率、股价、换手率、情绪等多个维度。
关键信息
各模型本周超额收益表现
| 模型名称 |
沪深300 |
中证500 |
中证800 |
| Stacking |
0.27% |
1.75% |
0.52% |
| 朴素贝叶斯 |
0.29% |
3.18% |
1.20% |
| 随机森林 |
0.35% |
0.35% |
0.69% |
| XGBoost |
0.34% |
0.35% |
0.60% |
| 逻辑回归 |
0.27% |
0.64% |
0.52% |
| 神经网络 |
0.30% |
0.63% |
0.60% |
各模型最近一个月超额收益表现
| 模型名称 |
沪深300 |
中证500 |
中证800 |
| 朴素贝叶斯 |
0.69% |
3.18% |
1.20% |
| SVM |
0.35% |
1.78% |
0.99% |
| 随机森林 |
0.35% |
0.35% |
0.69% |
| XGBoost |
0.30% |
0.35% |
0.60% |
| 逻辑回归 |
0.64% |
1.78% |
0.60% |
| 神经网络 |
0.63% |
1.78% |
0.60% |
各模型2018年以来超额收益表现
| 模型名称 |
沪深300 |
中证500 |
中证800 |
| Stacking |
5.44% |
10.39% |
8.34% |
| 朴素贝叶斯 |
7.03% |
7.03% |
7.03% |
| 随机森林 |
4.95% |
5.44% |
8.34% |
| XGBoost |
5.44% |
5.44% |
7.03% |
| 逻辑回归 |
5.44% |
5.44% |
5.44% |
| 神经网络 |
5.44% |
5.44% |
5.44% |
各模型2018年以来RankIC均值
| 模型名称 |
全A选股 |
沪深300 |
中证500 |
中证800 |
| 逻辑回归 |
0.107 |
0.095 |
0.101 |
0.092 |
| 随机森林 |
0.096 |
0.095 |
0.071 |
0.062 |
| SVM |
0.084 |
0.077 |
0.064 |
0.073 |
| 朴素贝叶斯 |
0.106 |
0.090 |
0.101 |
0.092 |
| XGBoost |
0.098 |
0.066 |
0.064 |
0.062 |
| 神经网络 |
0.101 |
0.069 |
0.047 |
0.077 |
各模型2011年以来RankIC均值
| 模型名称 |
全A选股 |
沪深300 |
中证500 |
中证800 |
| 逻辑回归 |
0.122 |
0.093 |
0.100 |
0.106 |
| 随机森林 |
0.134 |
0.090 |
0.085 |
0.103 |
| SVM |
0.119 |
0.090 |
0.075 |
0.092 |
| 朴素贝叶斯 |
0.115 |
0.104 |
0.096 |
0.103 |
| XGBoost |
0.140 |
0.099 |
0.090 |
0.105 |
| 神经网络 |
0.127 |
0.099 |
0.087 |
0.099 |
模型构建与回测条件
- 股票池处理:剔除ST、停牌、上市3个月内的股票。
- 特征提取:使用70个因子,包括估值、成长、财务质量、杠杆、市值、动量翻转、波动率、股价、换手率、情绪等。
- 特征预处理:
- 中位数去极值
- 缺失值填充(行业平均)
- 行业市值中性化
- 标准化处理
- 交易费用:单边千分之二。
- 回测方法:
- 分类问题:正例(收益前30%)与负例(收益后30%)
- 训练集与交叉验证集比例:90%与10%
- 参数选择:以交叉验证集AUC或平均AUC最高为标准。
风险提示
- 人工智能模型构建的选股策略基于历史经验,存在失效风险。
- 模型可解释性较低,使用需谨慎。
模型运用流程
- 数据获取:股票池包括沪深300、中证500、全A股。
- 特征与标签提取:使用70个因子暴露度作为特征,计算下一自然月个股超额收益作为标签。
- 特征预处理:包括中位数去极值、缺失值填充、行业市值中性化、标准化。
- 训练与调参:样本内训练模型,交叉验证集调参。
- 样本外测试:使用最优参数构建组合选股。
因子池详细信息
| 大类因子 |
具体因子 |
因子描述 |
| 估值 |
EP |
净利润(TTM)/总市值 |
| 估值 |
EPcut |
扣除非经常性损益后净利润(TTM)/总市值 |
| 估值 |
BP |
净资产/总市值 |
| 估值 |
SP |
营业收入(TTM)/总市值 |
| 估值 |
NCFP |
净现金流(TTM)/总市值 |
| 估值 |
OCFP |
经营性现金流(TTM)/总市值 |
| 估值 |
DP |
近12个月现金红利(按除息日计)/总市值 |
| 估值 |
G/PE |
净利润(TTM)同比增长率/PE_TTM |
| 成长 |
Sales_G_q |
营业收入(最新财报,YTD)同比增长率 |
| 成长 |
Profit_G_q |
净利润(最新财报,YTD)同比增长率 |
| 成长 |
OCF_G_q |
经营性现金流(最新财报,YTD)同比增长率 |
| 成长 |
ROE_G_q |
ROE(最新财报,YTD)同比增长率 |
| 财务质量 |
ROE_q |
ROE(最新财报,YTD) |
| 财务质量 |
ROE_ttm |
ROE(最新财报,TTM) |
| 财务质量 |
ROA_q |
ROA(最新财报,YTD) |
| 财务质量 |
ROA_ttm |
ROA(最新财报,TTM) |
| 财务质量 |
grossprofitmargin_q |
毛利率(最新财报,YTD) |
| 财务质量 |
grossprofitmargin_ttm |
毛利率(最新财报,TTM) |
| 财务质量 |
profitmargin_q |
扣除非经常性损益后净利润率(最新财报,YTD) |
| 财务质量 |
profitmargin_ttm |
扣除非经常性损益后净利润率(最新财报,TTM) |
| 财务质量 |
assetturnover_q |
资产周转率(最新财报,YTD) |
| 财务质量 |
assetturnover_ttm |
资产周转率(最新财报,TTM) |
| 财务质量 |
operationcashflowratio_q |
经营性现金流/净利润(最新财报,YTD) |
| 财务质量 |
operationcashflowratio_ttm |
经营性现金流/净利润(最新财报,TTM) |
| 杠杆 |
financial_leverage |
总资产/净资产 |
| 杠杆 |
debt equity ratio |
非流动负债/净资产 |
| 杠杆 |
cash ratio |
现金比率 |
| 杠杆 |
current ratio |
流动比率 |
| 市值 |
ln_capital |
总市值取对数 |
| 动量反转 |
HAlpha |
个股60个月收益与上证综指回归的截距项 |
| 动量反转 |
return_Nm |
个股最近N个月内收益率,N=1,3,6,12 |
| 动量反转 |
wgt_return_Nm |
个股最近N个月内用每日换手率乘以每日收益率求算术平均值,N=1,3,6,12 |
| 动量反转 |
exp_wgt_return_Nm |
个股最近N个月内用每日换手率乘以函数exp(-x_i/N/4)再乘以每日收益率求算术平均值,x_i为该日距离截面日的交易日个数,N=1,3,6,12 |
| 波动率 |
std_FF3factor_Nm |
特质波动率——个股最近N个月内用日频收益率对Fama French三因子回归的残差的标准差,N=1,3,6,12 |
| 波动率 |
std_Nm |
个股最近N个月的日收益率序列标准差,N=1,3,6,12 |
| 股价 |
ln_price |
股价取对数 |
| beta |
beta |
个股60个月收益与上证综指回归的beta |
| 换手率 |
turn_Nm |
个股最近N个月内日均换手率(剔除停牌、涨跌停的交易日),N=1,3,6,12 |
| 换手率 |
bias_turn_Nm |
个股最近N个月内日均换手率除以最近2年内日均换手率(剔除停牌、涨跌停的交易日)再减去1,N=1,3,6,12 |
| 情绪 |
rating_average |
wind评级的平均值 |
| 情绪 |
rating_change |
wind评级(上调家数-下调家数)/总数 |
| 情绪 |
rating_targetprice |
wind一致目标价/现价-1 |
附注
- 本报告仅供华泰证券客户使用。
- 报告内容基于公开信息,不保证其准确性与完整性。
- 报告观点及建议仅供参考,不构成投资建议。
- 报告版权归华泰证券所有,未经许可不得使用。