量化百问
AI因子回测

机器学习能预测股价吗?

机器学习可以从历史特征中预测涨跌、未来收益或相对排名,但输出是统计估计,不是确定答案。能否使用,要看时间切分、样本外结果、成本和交易约束。

要点

展开依据

## 它可以预测什么

机器学习不是把一堆因子丢进程序,就自动发现永远有效的答案。先要写清楚预测目标:可以是下一交易日涨跌这样的分类,也可以是未来一周收益这样的回归,还可以预测截面里的相对收益排名。输入 X 只能使用决策时点已经可见的信息,答案 Y 要等未来真正发生后才能评价。

例如,今天收盘后可见的技术特征和基本面特征,可以用来预测下一交易日上涨与否;但第二天才公布的财报数据不能提前放进今天的输入。用未来数据会得到漂亮分数,却是在偷看答案。

## 为什么高分仍不够

训练集用于学习参数,验证集用于选择超参数和早停,测试集只在最后做独立评估。时间序列应按先后切分,也可以用滚动方式:例如用过去 120 个交易日训练、预测下一日,每 20 个交易日重训一次,并保存窗口、模型版本和逐日预测。

准确率和 AUC 只说明模型在某种标签上的分类或排序能力,不等于投资结果。课程示例里某只股票测试 AUC 约 0.487,接近没有有效排序信息;即使指标略高,最终组合还会受到收益幅度、持有方式、费用、滑点和交易规则影响。分类预测对了很多次,也可能因为少数错误损失更大而亏损。

所以更准确的说法是:机器学习能做可检验的概率或排序预测,但不能承诺股价。先做离线或模拟预测,检查泄漏、样本外结果、成本和回撤,再讨论是否具备部署条件。想动手试一试,可以学《机器学习基础》和《机器学习选股实战》。