工作流示例
为方便大家使用,我们提供了以下模版,供大家学习参考,新建一个工作流,直接拖对应的json到窗口中即可(json可找小助理领取),可以自己尝试修改参数和模型。
直接收益率预测排序
🌟 核心思路
利用 XGBoost 模型直接预测股票未来的收益率,并根据预测值进行排序和分组。
📌 实施流程
- 输入因子矩阵
- 使用 XGBoost 模型进行回归训练,输出预测值:
- 对预测收益率
进行排序,构建分组或选股策略。
✅ 特点
- 模型结构清晰,预测目标明确;
- 无需额外构因子,操作直接;
- 适合用于回测与实盘打分排序。
参见:因子示例-XGBOOST.json
重要性矩阵经 PCA 降维构因子
🌟 核心思路
将每个因子的多个重要性指标(weight
, gain
, cover
)组成矩阵,使用主成分分析降维提取方向作为因子权重,构造组合因子。
📌 实施流程
- 构建因子重要性矩阵(n为因子个数):
$
- 对矩阵 I 进行 PCA 降维:
- 取第一主成分
作为因子
的权重;
- 构建组合因子:
- 对 F_i排序选股分组。
✅ 特点
- 自动学习加权方向;
- 降维压缩信息;
- 可结合多个模型权重生成组合因子。
参见:因子示例-XGBOOST+PCA.json
逐因子 XGBoost 建模,预测 IC 作为因子权重
🌟 核心思路
对每个量价因子 $ x_j $ 构建一个 XGBoost 模型,预测该因子未来横截面上的信息系数(IC),以 IC 为权重构建组合因子用于选股排序。
📌 实施流程
- 对每个因子 $ x_j $ 构建训练样本集:
- 输入特征:因子在不同时间截面上的值;
- 标签目标:该因子在下期与收益的横截面 IC 值:
- 单独训练每个因子的 XGBoost 模型:
- 获取当前时点 $ t_0 $ 的预测 IC:
- 将每个预测的 $ \hat{IC}_j $ 作为因子权重,合成组合因子:
- 对 $ F_i $ 排序选股分组。
✅ 特点
优点 | 说明 |
---|---|
模型粒度细 | 每个因子分别建模,避免特征间干扰 |
权重有金融意义 | IC 预测值本身就是因子“预测有效性” |
动态可更新 | 每期都可根据模型输出调整因子贡献度 |
易做扩展 | 可纳入特征工程(历史 IC、行业信息等)增强预测能力 |
参见:因子示例-特征IC多因子构建-XGBOOST
基于面板数据的多任务神经网络预测因子 IC 构建组合因子
🌟 核心思路
将多个量价因子的历史表现构造成面板数据,使用多任务神经网络(MTL)统一预测未来所有因子的横截面 IC 值,作为因子权重。
📌 实施流程
-
构建面板数据结构(以因子 × 时间为基础):
- 每一行为某个因子在某期的表现;
- 输入特征:该因子在不同截面上的量价因子值;
- 标签为该期在下一期的横截面 IC 值。
-
用多任务神经网络建模:
- 所有因子共享一组隐藏层以提取公共特征;
- 每个因子设置单独输出头,预测自己的未来 IC 值:
-
**在当前时点预测每个因子的未来 IC 值
-
用预测 IC 值作为因子权重,构造组合因子:
-
对 $ F_i $ 排序构建选股组合。