511. JPX Tokyo Stock Exchange Prediction | jpx-tokyo-stock-exchange-prediction
我们在以下notebook中发布了代码:
https://www.kaggle.com/code/flat831/4th-place-model/notebook?scriptVersionId=100052889
感谢JPX分享数据并主办这场有趣的比赛。感谢Kaggle。感谢Kagglers分享许多有帮助的讨论和notebook。感谢我的队友,K-azu 和 hayato03!
我们的模型非常简单。老实说,这个结果主要靠运气。
模型1 (私有分数: -0.196)
按 return_1day 升序排列。
如果 ExpectedDividend 大于 0,将其排在最后(最低)。
模型2 (私有分数: 0.347 <- 这个模型获得了第4名!)
按 return_1day 降序排列。
如果 ExpectedDividend 大于 0,将其排在最后(最低)。
return_1day 基于此 notebook 中的代码。
return_1day = feats["AdjustedClose"].pct_change(1)
以下是采用此方法的简要原因说明。
https://www.kaggle.com/competitions/jpx-tokyo-stock-exchange-prediction/discussion/320323
正如上面的讨论所指出的,随机模型的分数可以近似为 μ = 0 和 σ = 0.13785 的正态分布。因此,即使我们创建了一个分数为 -0.3~0.3 的模型,我们也无法假设它是一个好模型。此外,如果我们创建许多模型,偶然获得好分数的概率就会增加。(就像统计学中的多重比较问题)
最后,我们放弃了创建机器学习(ML)模型,决定提交一个简单的方法以避免错误。
我们采用这个变量是因为我们确信它会有效。
ExpectedDividend 列的定义如下。
除权日的预期股息值。该值记录在除息日前2个交易日。
而且,target 列的定义如下。
t+2 和 t+1 之间调整后收盘价的变化比率,其中 t+0 是交易日期。
因此,由于 t+2 是除息日,t+1 是股权登记日,target 很可能为负。
(然而,由于 ExpectedDividend 几乎都是空值,仅靠这一点无法获得高分……)
https://www.kaggle.com/competitions/jpx-tokyo-stock-exchange-prediction/discussion/356038
正如上面的讨论所指出的,翻转排名,我们得到的分数乘以 -1。在比赛中,我们可以选择两个模型,所以采用这种策略将确保分数 > 0。