Workflow
KD-Ensemble:基于知识蒸馏的alpha因子挖掘模型
东方证券·2024-08-19 00:00

量化模型与构建方式 1. 模型名称:KD-Ensemble模型 - 模型构建思路:基于知识蒸馏的思想,将树模型和神经网络进行集成,利用教师模型过滤信息后传递给学生模型,从而捕捉alpha因子与未来收益率之间的线性和非线性函数依赖关系[6][16][76] - 模型具体构建过程: 1. 教师模型(树模型)先进行训练,学习并过滤信息,识别“有用”成分和噪声成分 2. 将教师模型学习到的有效信息传递给学生模型(神经网络) 3. 学生模型通过结合教师模型的知识和原始数据进行训练,最终生成综合得分 4. 损失函数公式: ftree=argminfgMSE(f(x),ylabel) f_{tree}=argmin_{f\in g}MSE(f(x),y_{label}) fnn=argminfgl(f(x)Itree,ylabel,λ) f_{nn}=argmin_{f\in g}l(f(x)|I_{tree},y_{label},\lambda) ypred=fnn(xItree,ylabel,λ) y_{pred}=f_{nn}(x|I_{tree},y_{label},\lambda) 其中,ItreeI_{tree}表示教师模型传递的信息,λ\lambda为超参数[78][79] - 模型评价:通过集成树模型和神经网络的优点,显著提升了模型的表达能力和样本外预测能力[16][76] 2. 模型名称:风险中性模型 - 模型构建思路:在alpha因子生成阶段加入风险因子生成部分,并使alpha因子与风险因子相互正交,以抑制可能带来较大回撤的风格轮动成分[6][81][83] - 模型具体构建过程: 1. 共享输入数据和RNN单元的网络参数 2. 损失函数公式: Loss=MSE(FK,yneu)+Resquare(FK,y)+λcorr(F,F) Loss=MSE(F_{K},y_{neu})+Resquare(F_{K},y)+\lambda\left\|corr(F,F)\right\| 其中,FKF_{K}为alpha因子,yneuy_{neu}为中性化收益率标签,yy为原始收益率标签,λ\lambda为超参数[83] 3. 通过上述方法生成具有更低风险暴露的alpha因子,降低风格轮动成分的影响[83] - 模型评价:显著降低了模型的最大回撤,提高了模型的稳定性[83][94] --- 模型的回测效果 1. KD-Ensemble模型 - 中证全指:RankIC均值16.69%,年化ICIR为8.00,Top组年化超额收益率为51.73%,最大回撤为-23.05%[87][94] - 沪深300:RankIC均值12.22%,年化ICIR为0.75,Top组年化超额收益率为34.16%,最大回撤为-6.92%[95] - 中证500:RankIC均值12.39%,年化ICIR为0.93,Top组年化超额收益率为31.38%,最大回撤为-12.53%[96] - 中证1000:RankIC均值15.35%,年化ICIR为1.26,Top组年化超额收益率为41.81%,最大回撤为-10.65%[97] 2. 风险中性模型 - 中证全指:RankIC均值15.83%,年化ICIR为8.15,Top组年化超额收益率为47.96%,最大回撤为-7.48%[87][94] - 沪深300:RankIC均值10.98%,年化ICIR为0.73,Top组年化超额收益率为31.35%,最大回撤为-6.30%[95] - 中证500:RankIC均值11.45%,年化ICIR为0.91,Top组年化超额收益率为25.69%,最大回撤为-10.81%[96] - 中证1000:RankIC均值14.60%,年化ICIR为1.29,Top组年化超额收益率为36.07%,最大回撤为-8.99%[97] --- 量化因子与构建方式 1. 因子名称:小单早盘占比因子 - 因子构建思路:通过小单成交额占比捕捉市场短期风险信息[6][20] - 因子具体构建过程: 1. 定义公式: 小单早盘占比因子=9:30至10:00小单成交额全天小单成交额 \text{小单早盘占比因子} = \frac{\text{9:30至10:00小单成交额}}{\text{全天小单成交额}} 2. 数据处理:剔除撤单数据、盘前和尾盘集合竞价数据[18][20] - 因子评价:对未来收益有较好的解释能力,但预测方向波动较大,可视作短期风险因子[50][127] 2. 因子名称:小单收益率因子 - 因子构建思路:通过小单收益率捕捉市场短期收益信息[6][42] - 因子具体构建过程: 1. 定义公式: 0TI{order为小单}dP(t)P(t) \int_{0}^{T}I_{\{\text{order为小单}\}}\frac{dP(t)}{P(t)} 其中,II为示性函数,[0,T][0,T]为交易时间区间[42][43] 2. 数据处理:剔除无效数据,统一调成正向[53] - 因子评价:在中证全指上表现较好,具有较强的选股能力[50][127] 3. 因子名称:挂单价格分歧度因子 - 因子构建思路:通过盘口挂单价格分歧度捕捉市场供需关系[6][51] - 因子具体构建过程: 1. 定义公式: 0Tzscore(i=110PtA(i)PtB(i)PtA(i)+PtB(i)wi)dt \int_{0}^{T}zscore\left(\sum_{i=1}^{10}\frac{P_{t}^{A}(i)-P_{t}^{B}(i)}{P_{t}^{A}(i)+P_{t}^{B}(i)}w_{i}\right)dt 其中,PtA(i)P_{t}^{A}(i)PtB(i)P_{t}^{B}(i)分别为买卖盘挂单价格,wiw_{i}为权重参数[51][52] 2. 数据处理:滚动求平均并调成正向[53] - 因子评价:在中证全指和中证1000表现较强,但在2019~2020年出现短暂失效[62][127] --- 因子的回测效果 1. 小单早盘占比因子 - 中证全指:RankIC均值6.36%,年化收益率21.64%,最大回撤-27.15%[21] - 沪深300:RankIC均值7.11%,年化收益率20.76%,最大回撤-32.50%[21] 2. 小单收益率因子 - 中证全指:RankIC均值6.55%,年化收益率40.37%,最大回撤-13.98%[44] - 沪深300:RankIC均值2.61%,年化收益率9.69%,最大回撤-30.77%[44] 3. 挂单价格分歧度因子 - 中证全指:RankIC均值5.36%,年化收益率19.32%,最大回撤-35.25%[54] - 沪深300:RankIC均值2.41%,年化收益率13.52%,最大回撤-61.45%[54]