图 2.7 f_rv_sd 分组结果 图 2.8 f_rv_ld 分组结果 模型搭建在上一章中,我们已经总结出来一些规律。但各个因子之间可能存在交互作用,也可能存在一些非线性关系。为了从 lspr 中提取更加有投资指导价值的信息,需要进一步建立量化模型。 算法增强本文构造的因子在已知数据中均展现出与未来收益率的一定联系,且逻辑上能够进行合理解释,故可以将上述六个因子全部加入模型。 在实践中,单个算法的预测虽然对未来的行情走势存在一定指导意义,但比较模糊。根据机器学习的理论,我们使用了多个算法,进行增强(Boosting)训练,达到综合多种算法学习能力,获得更好预测结果的目的。在建模的思路上,可以先使用六个因子以及其对应的因变量,采用线性和非线性的模型进行样本内训练,得到多个弱分类器;再将弱分类器输出的拟合值作为因子,以线性模型进行集成,得到最终的模型,并在测试集中使用。之所以进行集成,是为了减少单个模型不可靠的可能,增强模型的稳定性和在未知数据上的泛化能力。 其中,线性模型分别为 OLS,RidgeCV。前者最为朴素,可以通过观察回归方程给出直观的理解和解释,但分析因子效果时可能会受到因子多重共线性的影响。后者引入了正则项减少多重共线性的影响,交叉验证虽然减少了引入后验知识的可能,但也增加了模型的复杂度。 由于某些因子与收益率的对应关系并非线性,所以我们也决定使用非线性模型决策树与随机森林算法。决策树算法可以抽象出容易理解的规则,适用于特征维度较高,样本量较少的数据集,我们给定单个叶片的最小样本量以环节过拟合。但其输出的预测集中于几个叶片上,所以可以明显看到它输出的预测「挤在一团」。随机森林算法则以 bagging 的方法随机挑选因子和样本训练大量独立的决策树,并且采用各个决策树投票的方式得到最终模型。它可以很好地提取训练样本的信息,但牺牲了解释性,一定程度上可以视为黑箱。 图 3.1 模型表现 上图为各个模型在训练集和测试集上的表现。其中,OLS、Ridge_CV、DecisionTree、RandomForest 分别为四个子模型。第一行展示了模型在训练集中的表现,每幅散点图中,横纵轴分别是子模型的预测值与 BTC 实际的未来三天涨跌幅。在每幅散点图的下方,列出了模型的拟合优度 R^2, 这一数值越高,说明模型预测能力越强,虽然这一数值普遍不大,但作为预测模型,已经极具实践意义。第二行为验证集,这一行展示了各个采用不同算法的模型在未知数据上的泛化能力。非常合理的是,预测效果较训练集中有所衰减,但超过 0.05 的 R^2 表示,各个子模型也都具有一定的预测作用。 (责任编辑:admin) |