证券研究报告—深度报告
金融工程
数量化投资
[Table_BaseInfo]
相关研究报告:
《金融工程专题研究:机器学习法选股》 —
—2013-10-15
《金融工程专题研究:支持向量机在股票价格
预测方面的应用》 ——2010-5-20
《金融工程专题研究:Adaboost 算法下的多
因子选股》 ——2016-5-26
《金融工程专题研究:机器学习法选股》 —
—2013-10-15
联系人:陈镜竹
电话: 0755-82130833-701336
E- MAIL: chenjz@guosen.com.cn
证券分析师:黄志文
电话: 0755-82133928
E- MAIL: huangzw@guosen.com.cn
证券投资咨询执业资格证书编码:S0980510120059
金融工程研究
Page 1
[Table_Title]
机器学习专题研究
专题报告
2016 年 05 月 31 日
SVM 算法选股以及 Adaboost 增强
支持向量机算法
支持向量机的最大特点是改变了传统的经验风险最小化原则,而是针对结构风
险最小化原则提出的,因此具有很好的泛化能力。同时,支持向量机在处理非
线性问题时,通过将非线性问题转化为高维空间的线性问题,利用核函数替代
高维空间中的内积运算,从而巧妙的解决了复杂计算问题,并且有效的克服了
维数灾难以及局部极小问题。
在不考虑非线性分类的情况下,12 个月的样本数据滚动回测结果显示出较好的
分类效果。强势组合能够显著的跑赢弱势组合。
Adaboost-SVM 组合算法
从 Adaboost 的角度出发,我们认为利用 Adaboost 对于每个月的数据的 SVM
分类算法进行增强,可以有效的提高 SVM 分类的效果。
从线性 SVM 分类结果来看,利用 12 层数据的 Adaboost 组合相比单月 SVM 效
果显著增强,多空组合收益能够明显的区分开。但对比前述的传统 SVM 方法,
其多空策略的净值收益并没有显著增加,传统的 SVM 模型整体优于 Adaboost
算法下的 SVM 分类。
非线性分类
在前一篇报告中我们对于非线性分类的处理主要通过对因子的多档概率统计完
成,也具有显著的效果。为了使 SVM 模型与之更具有可比性,我们考虑 SVM
的非线性模型。
将非线性因素考虑进来之后,模型的超额收益显著高于无 SVM 的 Adaboost 算
法。多空组合的区分度明显,5 年的胜率在 58%的水平。效果的增强,除了证
明我们之前的猜想:弱分类器的选择可能增加 Adaboost 算法的效果之外,也从
侧面反映了多因子模型中,因子与收益间的非线性关系。
从结果上看,Adaboost 的效果仍然不如单独的 SVM 算法效果,理论上考虑,
Adaboost 的增强效果是需要建立在弱分类器的基础上的。SVM 算法本身的显
著分类可能对 Adaboost 算法造成影响。因此,对比概率统计的 Adaboost 分类,
Adaboost-SVM 具有显著的提高,但更优的分类方法是非线性的 SVM 分类。
独立性声明:
作者保证报告所采用的数据均来自合规渠道,
分析逻辑基于本人的职业理解,通过合理判断
并得出结论,力求客观、公正,结论不受任何
第三方的授意、影响,特此声明。
请务必阅读正文之后的免责条款部分 全球视野 本土智慧
内容目录
Page 2
前言............................................................................................................................................. 4
支持向量机(SVM)简介 ........................................................................................................ 4
支持向量机的分类算法 ................................................................................................... 4
支持向量机解决线性分类问题 ....................................................................................... 5
支持向量机解决非线性分类问题 ................................................................................... 5
SVM 算法回测 ........................................................................................................................... 6
初始模型构建 ................................................................................................................... 6
回测结果 ........................................................................................................................... 7
Adaboost 算法增强 ................................................................................................................. 8
Adaboost 算法介绍 ......................................................................................................... 9
Adaboost—SVM 模型构建........................................................................................... 10
回测结果 ..........................................................................................................................11
Adaboost-SVM 分类与传统概率统计 ......................................................................... 12
非线性 SVM 分类........................................................................................................... 12
结论........................................................................................................................................... 14
国信证券投资评级................................................................................................................... 15
分析师承诺............................................................................................................................... 15
风险提示................................................................................................................................... 15
证券投资咨询业务的说明 ...................................................................................................... 15
请务必阅读正文之后的免责条款部分 全球视野 本土智慧
图表目录
Page 3
图 1:线性可分、近似线性可分、线性不可分问题 ............................................................ 4
图 2:线性分类问题 -较小间隔 ............................................................................................... 5
图 3:线性分类问题 -最大间隔 ............................................................................................... 5
图 4:SVM 算法选股净值....................................................................................................... 7
图 5:多空策略净值 ................................................................................................................ 8
图 6:策略多空净值对比 ........................................................................................................ 8
图 7:策略/指数净值对比 ....................................................................................................... 8
图 8:单月数据 SVM................................................................................................................ 9
图 9:Adaboost-SVM 算法..................................................................................................... 11
图 10:策略多空净值对比 ..................................................................................................... 11
图 11:月超额收益 ................................................................................................................. 11
图 12:Adaboost-S VM 算法 ................................................................................................... 12
图 13:多策略净值对比 ......................................................................................................... 12
图 14:多空策略净值对比 ..................................................................................................... 12
图 15:Adaboost-S VM(rfb)净值........................................................................................ 13
图 16:非线性 Adaboost-SVM 对比 Adaboost ............................................................... 13
图 17:月超额收益 ................................................................................................................. 13
图 18:非线性 SVM 净值 ...................................................................................................... 14
图 19:多空策略净值 ............................................................................................................. 14
请务必阅读正文之后的免责条款部分 全球视野 本土智慧
Page 4
前言
在前一篇机器学习系列报告《国信证券-金融工程机器学习专题:Adaboost 算
法下的多因子选股》中,我们尝试利用 Adaboost 的增强算法对多因子的信息
进行挖掘,并取得了较为显著的超额收益。在报告的最后,我们提到了,原模
型的分类算法选择了最为基本的概率统计,而 Adaboost 的加强,对于多种分
类算法都是有效的,因此我们考虑对模型的进一步变化——采用支持向量机
(SVM)这一分类器算法,对 Adaboost 的增强效果进行回测与观察。
支持向量机(SVM)简介
支持向量机(Support Vector Machine,SVM)主要的内容是在 20 世纪 90 年
代形成,近年来其理论研究和算法实现方面都取得了突破性的发展。而 SVM 这
一学习算法,由于其在客服“维数灾难”和“过学习”等传统困难上的有效性
等原因,在统计学习领域深受关注。支持向量机的最大特点是改变了传统的经
验风险最小化原则,而是针对结构风险最小化原则提出的,因此具有很好的泛
化能力。同时,支持向量机在处理非线性问题时,通过将非线性问题转化为高
维空间的线性问题,利用核函数替代高维空间中的内积运算,从而巧妙的解决
了复杂计算问题,并且有效的克服了维数灾难以及局部极小问题。
支持向量机的分类算法
在前文提到的机器学习系列报告中,我们已经对机器学习在股票上的分类应用
进行了定义,对于支持向量机算法而言,同样适用。我们将市场(股票)的走
势看做两种状态:涨和跌,问题即转化为分类问题。
分类问题一般可以表示为,考虑 n 维空间上的分类问题,它包含 n 个指标(即
x∈ )和 l 个样本点。记这 l 个样本点的集合为
T={( , ),… ,( , )}∈( )
其中 ∈ X = 是输入指标向量,或称输入,其分量成为特征,或输入指标;
∈ Y ={-1,1}是输出指标,或称输出,i=1,…,l。这 l 个样本点组成的集合
称为训练集。这时我们的问题是,对任意给定的一个新的模式 x,根本训练集,
推断它所对应的输出 y 是 1 还是-1。
而结合股票的因子特征,实际上就是将每一个因子作为一个维度,找一个把 上
的点分成两部分的规则。确切的说,上述分类是分成两类的问题。与此类似的
还有分成多类的分类问题,不同之处在于输出结果的个数。本篇报告主要研究
利用 SVM 将股票分成两类的分类问题。
分类问题大体有三种类型,对于不同类型的问题,可能采用不同的分类器:
图 1:线性可分、近似线性可分、线性不可分问题
资 料来源 :国信 证券经 济研究 所整理
请务必阅读正文之后的免责条款部分 全球视野 本土智慧
Page 5
支持向量机解决线性分类问题
支持向量机算法是根据训练样本,寻找最优超平面的过程。以二维的坐标点为
例,支持向量机算法是要找个一条直线将两类坐标点分开。而这种分割的直线
是有无数条的,但在这些直线中,如果距离坐标点太近,那么噪声的扰动将对
分类结果产生较大的影响,因此我们可以定义,SVM 算法即是找到其中距离训
练样本最远的那条直线,也称作最优直线。
图 2:线性分类问题-较小间隔
图 3:线性分类问题-最大间隔
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
资料来源:国信证券经济研究所整理
资料来源:国信证券经济研究所整理
从分类的定义出发,假设训练样本集 T={( , ),… ,( , )}∈( )
∈{-1,1},可以被超平面
,
g(x)= < > + = 0
分开,且靠近分类面的向量与分类面的距离达到最大,则 g(x)成为最优分类
超平面。
省去最优化过程的推导,得到的优化问题是:
式中:
; 是输入, 是 对应的输出值; 是样本个数,
是拉格朗日系数; 是正则化参数,实现最大间隔和分类错误的折中。
支持向量机解决非线性分类问题
支持向量机分类的目标是开发计算有效途径,从而能在高维特征空间中学习“好”
的分类超平面。支持向量机的研究最初是针对模式识别中的二类线性可分问题
提出来的。由于股市的数据是非线性的,超平面的分类能力毕竟有限,因而 SVM
对数据进行非线性映射,通过映射
,将数据映射到一个更高维的特
征空间 F 中,从而使数据线性可分,然后再 f 中构造最优超平面。由于优化函
请务必阅读正文之后的免责条款部分 全球视野 本土智慧
1111max()2llljijijijjijyyxx1 0 0 1,...,liiiisubjecttoycil,niixRyRixiyixlc:xf
Page 6
数和分类函数都涉及样本空间的内积运算
,因此在变换后的高维特
征空间 E 中需进行内积运算
,根据满足 Mercer 定理,对应线
性 变 换 空 间 中 的 内 积 ,
。 采 用 适 当 的 核 函 数
,就能代替向高维空间中的非线性映射,实现非线性变换后的线性分
类。据最优化理论,得到的优化问题
式中:
; 是输入, 是 对应的输出值; 是样本个数,
是拉格朗日系数; 是正则化参数,实现最大间隔和分类错误的折中。这里令
, 选 择 使 得
成 立 , 其 中 对 任 意 有
,决策规则由
给出,它等价于解决优化问题的核
隐式定义的特征空间中的超平面,这里松弛变量的定义与几何间隔相关
相应的决策函数为
由优化函数可以看出,SVM 的方法训练复杂度与维数无关。
SVM 算法回测
初始模型构建
根据报告《国信证券-多因子系列研究报告之一:风险(Beta)指标静态测试》
我们根据指标构造的经济含义,以及参考 BARRA 模型的因子分类,将 68 个指
标划分为 11 个因子,包括盈利收益率(Earnings Yield)、盈利波动率(Earnings
请务必阅读正文之后的免责条款部分 全球视野 本土智慧
ijxx()()ijxx()()(,)ijijxxkxx(,)ijkxx111 ()(,)2lliijijijiimaximizewyyKerxx1 0 0 1,...,liiiisubjecttoycil,niixRyRixiyixlc**()=(,)iijfxkxxb*b()1iiyfxi*0icsgn(())fx(,)kxz1**2,((,))ijijijijsvyyKerxx1()(,)liiijigxsignyKerxxb
Page 7
Variability )、成长(Growth)、杠杆( Leverage)、流动性( Liquidity)、动量
(Momentum)、规模(Size)、价值(Value)、波动(Volatility)、股利收益率
(Dividend Yield)以及财务质量(Financial Quality)等。
SVM 算法的样本数据的标准化实际上可以使用均值方差的方式,但为了与前报
告中的 Adaboost 算法结果匹配,我们对于数据的标准化同样采用排序法。因
此,我们计算每个股票按某因子的排序然后除以总股票数,这样因子的值归到
(0,1]。
然后,对下一期收益率从大到小排序,取前 30%作为强势股,后 30%作为弱势
股,强势股划分类标为+1,弱势股划分类标为-1;中间百分之 40%的股票排出
训练集,因为中间百分之 40%的股票收益并不强势也不弱势,相当于噪声数据。
为了充分利用数据,找出相对稳定有效的因子,确保算法的稳定性,我们用过
去 12 个月的因子数据作为输入样本。
从 SVM 理论推导可以知道,在得到最优超平面的解之后,样本被划分为{-1,
+1}两类,而样本距离超平面的距离,则可以代表样本被正确分类的程度。用公
式表达为:
其中 x 为新的样本点,w,b 为 SVM 求解超平面的输出结果。
根据距离结果,同样将股票组合分为 10 档,选择收尾两档分别作为强势组合和
弱势组合,并观察回测结果。
回测结果
在不考虑非线性分类的情况下,12 个月的样本数据滚动回测结果显示出较好的
分类效果。强势组合能够显著的跑赢弱势组合。
图 4:SVM 算法选股净值
2.5
2
1.5
1
0.5
0
第一档
第十档
HS300
1
1
0
2
-
1
-
1
1
1
0
2
-
1
-
3
1
1
0
2
-
1
-
5
1
1
0
2
-
1
-
7
1
1
0
2
-
1
-
9
1
1
0
2
-
1
-
1
1
2
1
0
2
-
1
-
1
2
1
0
2
-
1
-
3
2
1
0
2
-
1
-
5
2
1
0
2
-
1
-
7
2
1
0
2
-
1
-
9
2
1
0
2
-
1
-
1
1
3
1
0
2
-
1
-
1
3
1
0
2
-
1
-
3
3
1
0
2
-
1
-
5
3
1
0
2
-
1
-
7
3
1
0
2
-
1
-
9
3
1
0
2
-
1
-
1
1
4
1
0
2
-
1
-
1
4
1
0
2
-
1
-
3
4
1
0
2
-
1
-
5
4
1
0
2
-
1
-
7
4
1
0
2
-
1
-
9
4
1
0
2
-
1
-
1
1
5
1
0
2
-
1
-
1
5
1
0
2
-
1
-
3
5
1
0
2
-
1
-
5
5
1
0
2
-
1
-
7
5
1
0
2
-
1
-
9
5
1
0
2
-
1
-
1
1
6
1
0
2
-
1
-
1
资 料来源 :天软 , Wind, 国信证 券经济 研究所 整理
多空策略的超额收益同样显著,且观察到 2014 年底的回撤较为明显,与我们
回测过的 Adaboost 算法以及回归方法的特征吻合。
请务必阅读正文之后的免责条款部分 全球视野 本土智慧
图 5:多空策略净值
Page 8
3
2.5
2
1.5
1
0.5
0
HS300
多空策略净值
1
1
0
2
-
1
-
1
1
1
0
2
-
1
-
3
1
1
0
2
-
1
-
5
1
1
0
2
-
1
-
7
1
1
0
2
-
1
-
9
1
1
0
2
-
1
-
1
1
2
1
0
2
-
1
-
1
2
1
0
2
-
1
-
3
2
1
0
2
-
1
-
5
2
1
0
2
-
1
-
7
2
1
0
2
-
1
-
9
2
1
0
2
-
1
-
1
1
3
1
0
2
-
1
-
1
3
1
0
2
-
1
-
3
3
1
0
2
-
1
-
5
3
1
0
2
-
1
-
7
3
1
0
2
-
1
-
9
3
1
0
2
-
1
-
1
1
4
1
0
2
-
1
-
1
4
1
0
2
-
1
-
3
4
1
0
2
-
1
-
5
4
1
0
2
-
1
-
7
4
1
0
2
-
1
-
9
4
1
0
2
-
1
-
1
1
5
1
0
2
-
1
-
1
5
1
0
2
-
1
-
3
5
1
0
2
-
1
-
5
5
1
0
2
-
1
-
7
5
1
0
2
-
1
-
9
5
1
0
2
-
1
-
1
1
6
1
0
2
-
1
-
1
资 料来源 :天软 , Wind, 国信证 券经济 研究所 整理
将三种算法的多空组合净值对比可以看到,最终 SVM 算法的净值最高,净值的
波动程度也小于传统的回归方法。(同样的,三种算法均没有考虑因子的分类以
及各种中性条件约束)
图 6:策略多空净值对比
图 7:策略/指数净值对比
3
2.5
2
1.5
1
0.5
0
Adaboost算法
传统回归法
SVM算法
1
1
0
2
-
1
-
1
1
1
0
2
-
1
-
4
1
1
0
2
-
1
-
7
1
1
0
2
-
1
-
0
1
2
1
0
2
-
1
-
1
2
1
0
2
-
1
-
4
2
1
0
2
-
1
-
7
2
1
0
2
-
1
-
0
1
3
1
0
2
-
1
-
1
3
1
0
2
-
1
-
4
3
1
0
2
-
1
-
7
3
1
0
2
-
1
-
0
1
4
1
0
2
-
1
-
1
4
1
0
2
-
1
-
4
4
1
0
2
-
1
-
7
4
1
0
2
-
1
-
0
1
5
1
0
2
-
1
-
1
5
1
0
2
-
1
-
4
5
1
0
2
-
1
-
7
5
1
0
2
-
1
-
0
1
6
1
0
2
-
1
-
1
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
Adaboost算法
传统回归法
SVM算法
1
1
0
2
-
1
-
1
1
1
0
2
-
1
-
4
1
1
0
2
-
1
-
7
1
1
0
2
-
1
-
0
1
2
1
0
2
-
1
-
1
2
1
0
2
-
1
-
4
2
1
0
2
-
1
-
7
2
1
0
2
-
1
-
0
1
3
1
0
2
-
1
-
1
3
1
0
2
-
1
-
4
3
1
0
2
-
1
-
7
3
1
0
2
-
1
-
0
1
4
1
0
2
-
1
-
1
4
1
0
2
-
1
-
4
4
1
0
2
-
1
-
7
4
1
0
2
-
1
-
0
1
5
1
0
2
-
1
-
1
5
1
0
2
-
1
-
4
5
1
0
2
-
1
-
7
5
1
0
2
-
1
-
0
1
6
1
0
2
-
1
-
1
资料来源:天软,Wind,国信证券经济研究所整理
资料来源:天软,Wind,国信证券经济研究所整理
Adaboost 算法增强
在述的 SVM 算法选择将 12 个月的样本数据作为整体进行学习,在回测的过程
中我们发现单月数据作为输入样本的结果并不理想 :
请务必阅读正文之后的免责条款部分 全球视野 本土智慧