关灯

量化投资策略探讨——决策树和随机森林

[复制链接]
admin 发表于 2019-1-20 12:02:05 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 

决策树

决策树方法(decision tree)是一种代表因子值和预测值之间的一种映射关系。从决策树的“根部”往“枝叶”方向走,每路过一个节点,都会将预测值通过因子的值分类。决策树的结构如下所示:

1531204111130396357.jpg

如果我们把上图中的绿色想象成比特币下跌,红色为比特币上涨。同时,在每个黄色节点的分类是根据因子值阈值大小选择走左边还是右边,那么走到决策树的末端能够预测出比特币的上涨与下跌。

虽然决策树能够很好的处理数据的异常值,使得极端值不会影响整个模型的构建结果,但是同样的,决策树容易出现过度拟合现象,无法正确处理噪声数值。于是,我们需要随机森林算法来改善。

Tips: 在量化预测中,由于金融市场的数据存在大量噪声,我们必须限制树的高度(即层数)防止过度拟合。当预测正确率在70%~80%之间时,可以设定决策树的最大层数。

随机森林

“森林”即指大量的决策“树”组成了森林。随机森林的想法来自于bootstrap aggregating (缩写为 bagging);即让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成,某个初始训练样本在某轮训练集中可以出现多次或根本不出现,训练之后可得到一个预测函数序列h_1,⋯ ,h_n ,最终的预测函数H对分类问题采用投票方式,对回归问题采用简单平均方法对新示例进行判别。所以,bagging的主要想法是平均许多噪声较多但是相对来说是无偏差性的模型,以此来降低噪声。

B = 建立的树的总棵树, T_1...T_b...T_B = 1~B编号的树,N = 总训练样本数,Z = 抽样数,p = 总因子数,m= 抽取因子数,树的高度 = h。

 

随机森林(Random Forest)的算法:

  1. For b=1 to B;

    (a) 从训练样本总数为N中随机抽取样本 Z个

    (b) 以下列三个标准来建立一棵随机森林的树 T_b,直到树的高度达到h

    i. 从p个因子中随机取出m个因子

    ii. 找出m个因子中最佳的分类因子p*

    iii. 以该因子将一个节点分成两个子节点

  2. 输出树的合集{ T_1...T_b...T_B }

  3. 将测试组的数据放入所有的棵树中得出B个预测结果,求出预测结果的平均值则为我们最后需要的预测值。

1531204120817103789.jpg

 

总结

在量化中实现随机森林算法时,建议在决策树的建立时,可以使用python的sklearn。然而,更加推荐根据上述算法过程为自己的策略量身定做。

回复

使用道具 举报

 
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


1关注

0粉丝

1603帖子

排行榜

关注我们:微信订阅号

官方微信

APP下载

全国服务热线:

4000-018-018

公司地址:上海市嘉定区银翔路655号B区1068室

运营中心:成都市锦江区东华正街42号广电仕百达国际大厦25楼

邮编:610066 Email:3318850993#qq.com

Copyright   ©2015-2016  比特趋势Powered by©Discuz!技术支持:迪恩网络