返回列表

17th Place Solution, 1000+ on public lb

500. Ubiquant Market Prediction | ubiquant-market-prediction

开始: 2022-01-18 结束: 2022-07-19 量化投资 数据算法赛
第17名方案,公共LB得分1000+

第17名方案,公共LB得分1000+

作者:Kyle Peters
比赛排名:第17名

模型设计

  • 使用了除 ['f_170','f_272','f_182','f_124','f_200','f_175','f_102','f_153','f_108','f_8','f_145', 'f_225', 'f_241', 'f_63', 'f_229', 'f_246', 'f_41', 'f_66', 'f_142', 'f_150', 'f_99', 'f_74', 'f_62', 'f_271'] 以外的所有特征,这些被排除的特征是通过排列重要性移除的。
  • 中国股票 infamous 的一点是经常出现交易停牌。因此,我设计了一个名为 missing 的特征,用于检查股票在前一个时间步是否存在。使用了该特征的模型得分为 0.117721,而不使用时得分为 0.115486(我的第二次提交非常相似,但没有这个变量)。虽然差异很小,但如果没有这个特征,我的排名会跌至第84名。
  • 仅使用了第850个时间间隔之后的股票数据,并对较新的时间步赋予更高的权重。
  • 在每个时间步内独立于其他时间步,使用均值和标准差对目标值进行了缩放。
  • 对除 missing 以外的所有特征应用了批归一化,并将特征输入到一个具有两个隐藏层(1000, 512)的网络中。
  • 我训练了21个 Epoch。每个 Epoch 对训练集进行两次遍历。第一次遍历使用 L2 损失,批量大小为 128;第二次遍历使用 L1 损失和方差,批量大小较大,为 1000。这两次遍历的学习率也不同。第一次使用衰减的学习率,第二次使用不衰减的小学习率(0.00002 vs 0.0000006)。我获取了第11、16和21个 Epoch 的预测结果并取平均值作为最终结果。

心得体会

  • 我希望我当时能训练一个 LightGBM 模型与我的神经网络(NN)进行融合。我曾尝试这种策略并在公共 LB 上看到了不错的提升,但没有时间去调试 LightGBM 模型以解决其导致的内存问题。
  • 我也从 G-Research 竞赛中学到了教训:由于金融市场的信噪比很低,不要运行太多实验来寻找模型超参数和其他设计决策的最佳值。我认为这帮助我没有过度思考模型的设计,避免了做大量工作却收效甚微的情况。
  • 我也很高兴我信任了我的模型,因为这个 Notebook 在公共 LB 上的得分是 0.1487,而当时大多数人的得分至少都在 0.150 以上。
同比赛其他方案