每天开盘后猜 SPY 收盘涨跌,看似只要把历史行情交给模型就行。问题在于,回测若不慎让模型“看到未来”,成绩很容易虚高。Alex Chen 用 1993 年至 2024 年的 7,837 个交易日重做这道题:模型只能读取当天开盘价和此前两个交易日的目标价格,判断当天收盘价会高于还是低于前一日收盘价。
检验采用扩展窗口走前验证——每次只用预测日之前的数据训练,预测一天,再把新结果加入训练集继续向前滚动。在最后 800 个交易日中,作者报告 Logistic Regression(直接预测涨跌的简单统计模型)准确率最高,为 71.09%;Random Forest 为 61.20%,XGBoost 为 58.45%。这提醒人们,复杂模型并不天然更会择时。
XGBoost 的另一项结果更值得警惕:只看其预测波动超过 1% 的日子,方向准确率从 58.4% 升至 72.7%,但可用样本也从 799 个骤减至 154 个。换句话说,更漂亮的数字来自更少的机会。论文只建立统计预测基准,未纳入成交执行等细节,因此不能直接视作可交易收益。