机器学习在量化里:能做什么、不能做什么
机器学习在很多领域大获成功,但在量化里的表现一直毁誉参半。原因不在于算法不行,而在于金融数据的性质,恰恰是机器学习擅长场景的反面。
它擅长什么
机器学习的核心能力是拟合复杂的非线性关系:变量之间的交互、高阶项、条件依赖,这些人工很难写清楚的东西,它能从数据里学出来。它还能处理高维特征,以及自动做特征选择和组合。
理论上这正合量化的需要——股价与各种因素之间的关系,几乎肯定不是简单的线性关系。
但金融数据有三个致命特点
其一,样本少,而且不独立。日频数据看起来有几百万条,但真正独立的信息远没那么多:同一天的几千只股票,共享同一个市场波动,它们之间高度相关。真正独立的样本,大致等于独立的时间段数量,可能只有几百个。这对机器学习来说是极小的样本。
其二,噪声极高。金融数据的信噪比非常低,真正的信号可能只占百分之一量级。模型在拟合时,绝大部分努力会花在拟合噪声上。
其三,分布不稳定。市场结构、参与者、规则都在变。训练期学到的关系,到预测期未必还成立。而机器学习通常假设训练分布和预测分布一致,这个假设在金融里很难成立。
这三个特点加在一起,正好是机器学习最不擅长的场景:它需要大量独立样本、低噪声、分布稳定。
那么怎么用才合理
优先用在横截面上,而不是时间序列预测上。横截面上有上千个标的可比,样本量相对充足;而预测大盘明天涨跌,样本量小得多,噪声占比更高。
用它做特征工程和降维,而不是端到端预测收益。比如用模型学习哪些特征组合更有用,或者用它降维后再交给传统因子框架。
控制模型复杂度。在这类数据上,简单的线性模型加正则化,常常不输给复杂模型,而且稳健得多。如果一定要用复杂模型,正则化要重,树的数量和深度要克制。
必须做滚动的样本外检验。固定一次的样本外不够,要模拟真实:用截至某时点的数据训练,预测下一段时间,然后向前滚动。这才能反映分布漂移的影响。
要求可解释性。至少要知道模型主要依赖了哪些特征。如果完全黑箱,你无法判断它在未来会不会继续有效,也无法在它失效时诊断原因。
常见的失败模式
最常见的一种是:用复杂模型跑出非常漂亮的回测,上线后迅速失效。原因几乎总是两个——过拟合(拟合了噪声),加上分布漂移(未来和过去不一样)。
还有一种是用未来信息训练而不自知。比如在特征里混入了只有事后才知道的标签,或者在预处理时用了全局标准化。这类错误会让模型表现好得不真实。
一句人话:机器学习是个强大的拟合器,但金融数据恰恰是最容易拟合错的素材。它能不能用,取决于你能不能给它足够的独立样本和足够的约束。
写完最后
讲完工具,回到更基础的问题:因子之间的相关性怎么处理。下一篇讲正交化与降维。
本文为投研学习参考资料,仅供研究参考,不作为投资决策依据。市场有风险,投资需谨慎。
← 返回智远教投