- train_DL Transformer模型,输入因子或股票截面信息,输出股票截面
- gp_set.py 遗传编程函数和终端节点设置
- gp_evo.py 遗传编程算法
- gp_llm.py LLM辅助模块(调用Deepseek API)
- train_stock_factor.py 因子挖掘模块
- train.ipynb 回测框架,包含多元线性回归和Transformer模型用于选股,多元线性回归使用等权买入策略,Transformer模型使用输出作为资产配置权重
(仅公开了部分代码用以展示项目,非最新代码)
效果分别为
其中,多元线性回归达到2.13夏普率,Transformer模型达到2.47夏普率
16年初-23年末训练,24年末测试:
10年初-20年末训练,21年初-25年末测试:
(本项目为自动因子挖掘,考虑到市场变化,本项目更期望使用短期时间训练测试,并持续迭代)
-
LLM模型辅助的因子挖掘:使用Deepseek API;
-
多种平滑处理的前瞻收益:买入后分四天卖出;持续持有四天;
-
多种适应度评估:因子IC,IC符号统一率,IC自相关度相关的评估方法;
-
防过拟合选择策略:分层策略选择。
未使用分层策略+(μ, λ):在gp中,大多算法使用(μ, λ)来防止(μ + λ)带来的过拟合,其效果如下
使用分层策略+(μ, λ)选择:
使用分层策略+(μ + λ)选择:考虑到分层策略选择已经有效降低了过拟合,可以将(μ, λ)换成训练集效果更好但是过拟合差的(μ + λ)策略:
(使用了持有四天的前瞻收益,IR相对不高,但利于看到较明显的区别)














