前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【机器学习课程】经典算法之——AdaBoost在量化投资中的应用(附代码和很多论文资料)

【机器学习课程】经典算法之——AdaBoost在量化投资中的应用(附代码和很多论文资料)

作者头像
量化投资与机器学习微信公众号
发布2018-01-29 14:27:35
1.1K0
发布2018-01-29 14:27:35
举报

1算法简介

AdaBoost是由Yoav Freund和Robert Schapire提出自适应增强的一种机器学习方法。AdaBoost算法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。

AdaBoost是一种迭代算法,在每一轮中加入一个新的弱分类器(新的因子),直到达到某个预定的足够小的错误率。在训练样本时,每一个样本都被赋予一个权重,表明它被某个分类器选入训练集的概率。第一次分类后,如果某个样本已经被正确地分类,那么它的权重就会降低,因为它被下一个分类器选中的概率被降低;反之,如果样本被分类错误,它的权重就会增加。通过这样的方式,AdaBoost算法能"针对"那些难以分离的样本上。因此,在量化分析预测股票的走势上,AadaBoost常能比其它算法更加胜任。

2数据处理

在将此算法搬运到预测股票涨跌之前,我们需要做一些调整避免AdaBoost算法的"水土不服"。

1)由于AdaBoost算法对于噪声数据和异常数据极其敏感,简答地将训练样本分类涨与跌为(+1,-1)可能会对结果造成极大影响。所以,处理时可以去除样本中不明显的涨跌(如<1%)保留噪声较少部分。

2)在弱分类器的选择上,大家可以加上任何有相关性的因子。但是,值得注意的是,需要将因子的值划在同一区间内,这样可以极大减少极端值的影响。

3算法应用

为了方便解释,这里选择了三层(L层)弱分类器,分为两组(G组)。

1)首先,我们有训练样本D={xi = (Xi1,Xi2,Xi3),Yi}, 这里i表示第i个样本,xi表示每个样本对应的三个因子, Y代表每个样本对应的需要学习的值——涨(+)或跌(-)。

2)起初,如图一,我们赋予每个样本同样的权重 wi = 1/n,图中显示每一个圆圈大小一致。然后,我们尽可能使得错误分类得将样本一分为二,分成两组。

并记录该训练误差。

3)计算判决分数 :

4)更新权重,如图二、三,将分类正确地权重降低(圈圈变小),分类正确地权重降低(圈圈变大)。

5)得到最后的分类器:

6)现在可以通过得到的分类器的值来预测涨跌幅,分数越高则走涨的可能性却高,分数越低则走跌的可能性越大。

4参考文献

参考文献:

http://blog.csdn.net/dark_scope/article/details/14103983

代码推荐:

https://github.com/justdark/dml/tree/master/dml/ADAB

5论文资料获取

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档