471. Optiver Realized Volatility Prediction | optiver-realized-volatility-prediction
感谢 Kaggle 和 Optiver 举办了这场比赛,也感谢大量的公开分享,让我学到了很多。最后感谢我的队友在比赛期间的付出。
由于 Public/Private LB(排行榜)代表未来的市场,最好的方法是进行基于时间的验证划分。然而,由于声明指出不同的 time_id 之间不存在实际的序列关系,因此进行验证的最佳方法是基于 time_id 的 Group K-Fold 验证。
验证的经验法则变为:
其核心思想是,我们创建/调整的特征/模型至少应该能够泛化到不同的时间桶中。此外,我们将 LB 视为一个额外的验证折,它应该能更好地代表 Private 测试集。
stock_id 在每个 time_id 下的簿记/交易特征
问题:训练太慢
解决方案:用手工特征替换 RNN 部分
- 训练速度快得多
- 性能几乎没有差异
表现:CV: 0.211, LB: ~0.200
问题:正如顶尖队伍所提示的,我们没有考虑 time_id 之间的关系。
解决方案:使用最近邻算法找到前 N 个最接近的 time_id,并从这些时间邻居中平均每个股票的特征作为新特征。
表现:CV: ~0.198, LB: ~0.189
Transformer + Tabnet + 拥有不同特征集的神经网络。