【AI编程】我把世界级AI竞赛第三名机器学习时序预测方案用在A股ETF,不搞未来函数,真实回测
因为工作原因,我平时接触算法、大模型比较多。行业发展越来越快,我也不想被时代淘汰,所以就利用业余时间,主动去了解了一些国外知名的机器学习比赛项目。
在这期间,Kaggle 上一个时序预测的比赛项目进入了我的视野。这是全球最顶级的数据科学竞赛平台,
Jane Street Market Prediction。
这是金融时序领域含金量很高的赛事,我参考了其中第三名的开源方案:
第三名方案
我把比赛里第三名的开源代码下载下来,但是直接看源码对我来说还是比较吃力,很难一下子吃透。于是我就用AI辅助学习,让AI每3行、每3行逐段给我讲解,一点点拆解变量含义、特征作用、建模逻辑,慢慢把整套思路弄懂。
但就算看懂了代码,我还是觉得理解不够透彻。我心里一直觉得:只有把这套方案和现实里的数据结合起来,说服力才更强,理解才更透彻。
这时候我自然而然就想到了股票、ETF这类指数数据,它本身就是最典型的时序数据,非常适合用来实践。
在实践过程中,我也无数次去思考、去提问:该怎么做、这样特征对不对、这样划分会不会有问题。我也越来越深刻体会到:学会怎么提问,真的很重要。问得越具体、越严谨,思路才越靠谱、更能落地。
同时我也真实感受到:借助AI(豆包)辅助编程、学习、调试、讲解,我的学习与实现效率至少提升了50倍。很多原本要自己啃很久、查很久的知识点,在AI辅助下可以快速理解、快速落地。
这次我用到的,正是Kaggle 全球机器学习竞赛,时序预测项目第三名的方案。
Jane Street 第三名方案核心思路(真实原文版)
本次参考的第三名方案,思路非常独特,和传统量化策略完全不同:
-
几乎不做手工特征工程
作者没有大量构造统计特征、技术指标,而是让模型自己从原始数据中学习规律。 -
使用 49 层超深度 MLP 神经网络
依靠极深的模型结构捕捉隐藏规律,而不是靠复杂特征。 -
15 个不同随机种子的深度模型集成
用多个模型的平均结果抵消金融数据的高噪声与不稳定性。 -
对数特征扩展 + 残差连接 + 批量归一化
让深度模型训练更稳定、更容易收敛。 -
极简验证方式,严控数据泄露
只使用简单的时间切分,不使用复杂交叉验证,保证泛化能力。
我把这套成熟的时序预测思路,用在恒生科技ETF(513130)上做5分钟级别的学习性回测,并且全程坚守一个最重要的原则:
绝不使用未来函数,完全真实、严谨、可复现。
我本次实现,并没有完全复现原文 49 层深度MLP + 15个模型集成,那套结构过于庞大,更适合竞赛极限提分,不太适合A股个人日常研究与快速迭代。
原版第三名方案使用的是比赛提供的130维原始特征,再通过对数扩展得到总计260维高维输入,并且作者几乎不做额外手工特征工程,完全依靠深度网络去自动挖掘规律。
而我在本次A股ETF实践中,并没有使用这么高维的特征,而是基于基础价量数据,构造了几十维轻量化时序特征,特征维度更低、计算更高效,更适合个人设备与5分钟级中频交易场景。
虽然特征数量和形式不同,但核心思路保持一致:
• 尽量少做过度人工特征
• 多用标准化、非线性变换(对数类)
• 严控特征泄露,只在训练集做变换
一、策略基本设置
• 数据周期:5分钟K线
• 回测时间:2022-12-01 ~ 2026-03-10
• 预测目标:下一根K线收益大于0,记为上涨(1)
• 训练窗口:过去365天数据
• 滚动更新:每30天重新训练一次模型
• 回测标的:恒生科技ETF(513130.XSHG)
为了避免数据泄露,代码里所有去极值、分箱、特征压缩,全都只在训练集上计算,测试集只复用训练集规则,不使用全样本信息,从根源保证无未来函数。
二、真实踩坑过程
最开始我直接让AI生成代码时,AI为了简化、图快,把很多关键特征和严谨的预处理步骤都省略了,结果出现不少问题:
• 关键特征被精简、不完整
• 存在隐性的数据泄露风险
• 回测胜率很低,只有51%左右,和抛硬币差别不大
后来我放弃简化版,严格对照 Kaggle 第三名原版时序预测逻辑,一步步还原、补齐特征、严格按时间顺序切分、逐行检查,彻底消除未来函数,策略效果才明显改善、结果也更加可信。
三、恒生科技ETF 完整回测结果(含回撤对比)
📊 恒生科技ETF | 513130.XSHG
测试区间:2022-12-01 09:35 至 2026-03-10 14:55
总交易次数:37919
【策略表现】
累计收益: 59.18%
年化收益: 20.44%
最大回撤: -10.21%
夏普比率: 2.53
准确率: 67.45%
【基准表现(买入持有)】
累计收益: 20.15%
年化收益: 6.03%
最大回撤: -36.77%
【策略 vs 基准】
超额收益: 39.03%
年化超额: 14.41%
回撤改善: 26.55%
四、结果简单说明
在5分钟K线、高噪音、全样本外滚动回测、无未来函数的前提下,这套策略表现相对稳健:
• 胜率 67.45%,高于随机买卖;
• 回撤控制明显更好,策略回撤 -10.21%,远小于持有不动的 -36.77%;
• 收益和回撤比较均衡,夏普比率 2.53;
• 长期跑赢买入持有,超额收益相对稳定。
整体只是个人学习、练手性质,不构成任何投资建议。
五、个人学习心得
-
行业迭代很快,多学习顶级竞赛思路,能提升自身算法与建模能力。
-
复杂代码可以借助AI分段学习、逐步理解,效率更高。
-
理论结合真实数据实践,是最快的成长方式。
-
做量化模型,严谨、无未来函数、可复现,比高收益更重要。
-
本文纯属个人业余时间学习、技术交流、练手记录,不涉及任何公司业务、不涉及任何未公开信息。
(https://i-blog.csdnimg.cn/direct/1afe86e51f2b4607ad34277f7935c15e.png)
本人水平有限,代码与模型还有很多不足,恳请业内各位前辈、同行多多批评指正,不胜感激!
更多推荐
所有评论(0)