20180705-安信证券-机器学习与量化投资_前沿研究之深度森林(gcForest)_21页_1mb
报告摘要
机器学习与量化投资:深度森林(gcForest)算法研究总结
核心内容概述
gcForest(multi-Grained Cascade Forest)是由周志华教授于2017年提出的一种基于树的深度模型,旨在作为深度神经网络的替代方案。该模型在训练过程中具有较好的鲁棒性和稳定性,尤其在小样本数据集上表现优异。在量化投资领域,该算法被用于预测市场走势并进行仓位决策,通过多粒度扫描和级联森林两个阶段实现对数据的深度挖掘。
主要观点
- gcForest的优势:相比深度神经网络,gcForest不需要大量调参,具有更好的泛化能力,适用于不同数据集,并且在小样本上表现更稳定。
- 回测表现:将神经网络替换为gcForest后,按月收益回撤比可达15.959,表现优于随机森林。
- 参数敏感性低:gcForest的参数对模型表现影响较小,说明模型具有较强的鲁棒性。
- 风险提示:基于历史数据构建的模型在市场剧烈变化时可能失效,需谨慎对待。
算法结构
2.1 决策树(Decision Tree)
- 决策树通过将特征空间划分为多个不相交的区域块,并在每个块中用常数拟合。
- 叶节点样本数过少可能导致过拟合,因此叶节点最小样本数是关键参数之一。
2.2 随机森林(Random Forest)
- 随机森林通过bagging方法将多个决策树组合,提高模型的泛化能力。
- 每个决策树在随机选择特征后进行分割,增加多样性并降低相关性。
- 树的数量并非越多越好,树木数增加可能导致相关性增大,因此需合理控制。
3.1 多粒度扫描(Multi Grain Scanning)阶段
- 将原始特征通过不同窗口切分,得到大量新特征。
- 使用这些新特征训练多个随机森林,并将袋外决定函数作为下一阶段输入。
- 该阶段增加了特征维度,有助于模型识别更有效的特征。
3.2 级联森林(Cascade Forest Structure)阶段
- 训练集被分为两部分:训练集和验证集。
- 通过迭代训练随机森林,若准确率提升低于容忍度则停止生长。
- 模拟深度神经网络的深度概念,同时保持模型自适应性。
3.3 算法整体步骤
- 训练阶段:
- 切分输入数据,训练多粒度扫描阶段的随机森林。
- 获取袋外决定函数,作为下一阶段的输入。
- 通过级联森林阶段训练多个层级的随机森林,直到满足准确率提升条件。
- 预测阶段:
- 对预测集进行多粒度扫描,得到分类概率分布。
- 依次输入到级联森林各层级,最终取最大概率分类作为预测结果。
gcForest在量化投资中的应用
4.1 方法
- 使用gcForest预测中证500指数未来半小时的收盘价变化。
- 根据预测结果设置仓位:若增幅大于2‰则仓位为1,若小于-2‰则仓位为-1,否则保持原仓位。
- 使用的参数包括:
n_mgsRFtree=100、window=3、n_cascadeRF=2、n_cascadeRFtree=101、min_samples_mgs=0.1、min_samples_cascade=0.1、cascade_layer=np.inf、tolerance=0.0、n_jobs=1。
4.2 参数敏感性分析
-
n_mgsRFtree=100 vs. 150:
- 收益回撤比分别为15.959和14.386。
- 盈亏比分别为1.326和1.219。
- 平均持仓时间分别为149.441和151.361。
- 单笔平均收益分别为0.00165和0.00157。
- 单笔最大收益分别为0.110和0.126。
- 单笔最大损失分别为-0.120和-0.120。
-
window=3 vs. 2:
- 收益回撤比分别为15.959和19.723。
- 盈亏比分别为1.326和1.294。
- 平均持仓时间分别为149.441和159.792。
- 单笔平均收益分别为0.00165和0.00169。
- 单笔最大收益分别为0.110和0.106。
- 单笔最大损失分别为-0.120和-0.120。
-
n_cascadeRF=2 vs. 1:
- 收益回撤比分别为15.959和26.651。
- 盈亏比分别为1.326和1.293。
- 平均持仓时间分别为149.441和151.279。
- 单笔平均收益分别为0.00165和0.00189。
- 单笔最大收益分别为0.110和0.145。
- 单笔最大损失分别为-0.120和-0.0985。
-
n_cascadeRFtree=101 vs. 150:
- 收益回撤比分别为15.959和19.131。
- 盈亏比分别为1.326和1.249。
- 平均持仓时间分别为149.441和150.825。
- 单笔平均收益分别为0.00165和0.00157。
- 单笔最大收益分别为0.110和0.152。
- 单笔最大损失分别为-0.120和-0.120。
-
min_samples_mgs=0.1 vs. 0.15:
- 收益回撤比分别为15.959和20.799。
- 盈亏比分别为1.326和1.327。
- 平均持仓时间分别为149.441和148.959。
- 单笔平均收益分别为0.00165和0.00175。
- 单笔最大收益分别为0.110和0.112。
- 单笔最大损失分别为-0.120和-0.100。
-
min_samples_cascade=0.1 vs. 0.15:
- 收益回撤比分别为15.959和18.741。
- 盈亏比分别为1.326和1.299。
- 平均持仓时间分别为149.441和162.703。
- 单笔平均收益分别为0.00165和0.00183。
- 单笔最大收益分别为0.110和0.155。
- 单笔最大损失分别为-0.120和-0.123。
-
增幅临界值设定为2‰ vs. 2.5‰:
- 收益回撤比分别为15.959和15.149。
- 盈亏比分别为1.326和1.216。
- 平均持仓时间分别为149.441和221.561。
- 单笔平均收益分别为0.00165和0.00177。
- 单笔最大收益分别为0.110和0.181。
- 单笔最大损失分别为-0.120和-0.196。
关键信息
- 模型表现:gcForest在量化投资回测中表现优于随机森林,具有更好的收益回撤比和盈亏比。
- 参数影响:大部分参数对模型表现影响较小,只有增幅临界值设定对模型结果有显著影响。
- 模型风险:模型基于历史数据构建,可能在市场剧烈变化时失效,需注意风险控制。
总结
gcForest作为一种基于树的深度模型,具有较好的鲁棒性和稳定性,尤其适用于金融数据。其在量化投资中的应用表现出优于随机森林的性能,尤其是在收益回撤比和盈亏比方面。参数对模型表现影响较小,使得模型更容易应用和部署。然而,模型在市场剧烈波动时可能失效,因此在实际应用中需结合其他风险控制手段。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载