分享

【安信金工杨勇团队】机器学习与量化投资:避不开的那些事(2)

 无业游明001 2018-09-03

主要结论

从IC、IR到另类线性归因

基于IC、IR的单因子分析是传统多因子分析的基石。但是IC、IR分析出却不能考虑到多因子模型中因子与因子之间的相互影响。因此我们以之前报告介绍的标准神经网络回归为例,用另类线性归因对因子进行了分析。


从线性归因到非线性归因

所有线性归因都是基于因子单调性(线性)的强假设。但是在机器学习的非线性世界中,这个强假设不复存在。非线性的机器学习算法需要非线性的归因方式。


从相关性到因果性

所有的传统归因方式都是基于相关性的而非因果性。因果分析也是机器学习未来的一个重点。我们以TMLE为例介绍机器学习下的因果性分析。


风险提示:

机器学习量化策略的归因是基于历史数据的归因,存在失效的可能。


正文

1. 机器学习归因的意义

对于传统模型,例如logit或者决策树而言,输入(自变量)和输出(因变量)的关系是非常明显的。你可以非常清楚的明白为什么一些样本被错误划分了,例如,比如输入因子中某个因子太小了。同样的,对于决策树,同样可以根据决策树每个分叉的逻辑(例如因子A>某个常数)向下推演,得出错误划分的原因。但是对于其他大多数的模型,由于它们的高维和非线性,要直观的理解是非常困难的。


尽管如此,让机器学习一个非常有前景的科技让人觉得处于黑箱的状态是非常不明智的。不透明性增加了误用的概率。亚马逊的算法,决定了大多数人今天在读什么书;NSA的算法决定了谁是潜在的恐怖分子;气候变化模型决定了二氧化碳排放量的安全范围。人不能干预和控制人所不明白的事情,这是什么要单独将机器学习归因的作为一篇报告的原因。


2. 特征工程与特征重要性

机器学习的特征在量化投资当中也被称为因子。


2.1. 特征工程

特征工程是用某些领域内的知识来构造特征的过程。


如果世界上有无穷的数据,和一个universal function approximator(一个可以表达任何事情的模型),那么就没有特征工程存在的必要。这正是目前在图像识别领域发生的事情,卷积神经网络直接学习每个像素点,然后对图像内容进行识别,而不借助任何人手制的特征。然而对于大多数模型来说,特征工程是免不了的。



Coming up features is difficult, time consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering.

Andrew Ng, Machine Learning and AI via Brain simulations 


正如吴恩达所述,应用机器学习主要是特征工程。而金融领域的特征获取往往有两种方式。一种是从主观看盘经验来或者从经济学或者金融学的论文来;另一种是纯数据挖掘。后者经常被人诟病容易过度拟合而导致亏损。但是事实上事情可能并没有这么可怕。举例而言WorldQuant号称有四百万的Alpha因子,结合Alpha101来看,很多因子非常可能是数据挖掘出来的,但是从公开业绩来看,它的投资表现还是尚且可以令人满意的。


2.2. 特征重要性

在构造出特征之后,我们需要了解这个特征究竟对我们的预测有没有用,这就需要了解特征重要性。


特征重要性的另一作用是可以进行特征选择,例如选出前五重要性的特征作为模型输入,剩下的可以舍弃。


3. 传统线性归因

传统量化投资是基于线性的世界,在这个世界中,衡量因子的重要度是IC、IR等等指标。除了IC,IR之外,还有一些值得介绍的传统线性归因的方法。


3.1. 逐步回归

逐步回归的基本想法是,将变量逐个引入,引入变量的条件是偏回归平方和经检验是显著的,同时每引入一个新变量后,对已选入的变量要进行逐个检验,将不显著变量剔除,这样保证最后所得的变量子集中的所有变量都是显著的。这样经若干步以后便得“最优”变量子集。


3.2. Ridge, Lasso, Elastic Net

在线性回归中,损失函数定义为:

也即RSS。


线性回归的目标在于找到一组系数(w1,w2,...,wd)使得RSS 最小,但使用RSS 作为损失函数可能会导致过拟合,尤其当训练集不够或者特征数量过多时(一个典型的例子是多重共线性),表现为即使实际解释力弱的特征,由于过拟合,它的系数值也较大。为了解决这个问题,在损失函数中对系数加入惩罚项:

以上式最小为目标来寻找系数的方式就叫做Ridge Regression。其中λ为调节参数,其大小标志着对系数的惩罚力度。λ越大,系数就越小。但问题是,系数只能够趋近于0,当特征个数很多的时候,对那些本来系数就非常小的特征没什么影响,不能减小模型复杂度。


于是,将损失函数修改为:

以上式最小为目标来寻找系数的方式就叫做Lasso Regression。损失函数在收敛的过程中会使一些系数变为0。变为0 的权重对结果影响较小,即对应的特征相对不重要。因此Lasso Regression 可以筛选特征,有效减小线性模型的复杂度。


Elastic Net 实际上式Ridge, Lasso 的综合,其损失函数表示为:

其中L1 正则项(Lasso)产生稀疏的系数向量,减小模型复杂度。L2 正则项(Ridge)减小过拟合,消除一定的L1 稀疏性,以产生group effect,稳定L1 正则项的路径。


所以从以上介绍可以看出,Ridge, Lasso, Elastic Net 前面的正则化的系数的绝对值大小直接代表了该特征的重要性。下图代表了随着惩罚系数的增加,特征前面的系数也随之缩小。

图1:特征系数与惩罚系数关系

资料来源:Introduction to statistical learning

下图是之前上一篇标准神经网络回归策略的因子(特征)重要性排名,绝对值越大越重要,正负代表方向。

图2:Lasso Regression 的系数

资料来源:Wind, 安信证券研究中心


图3:Ridge Regression 的系数

资料来源:Wind, 安信证券研究中心


图4:ElasticNet 的系数

资料来源:Wind, 安信证券研究中心


传统量化投资是基于线性的世界。到了非线性的世界中,线性归因显然不能满足要求。

图5:变量间的线性关系            图6:变量间的非线性关系

资料来源:安信证券研究中心                资料来源:安信证券研究中心 


例如,在上图左中,变量之间的关系是线性的,而在右图中,线性归因显然是不能反映出真实的变量之间的相关关系。


为了在非线性的世界中衡量因子的重要性,一系列不同的算法被开发出来了。


4.随机森林系列

4.1.随机森林

随机森林属于集成学习,可以视为是bagging算法在决策树上的运用。


机器学习中决策树主要用于分类和回归,树中的每一个节点表示某一特征的判断条件,其分支表示符合节点条件的对象。叶子节点表示对象所属的预测结果。


随机森林则由许多决策树构成,每棵决策树都由随机的部分样本的部分特征进行训练,它只接受了部分的训练数据,因此每棵决策树都是一个弱学习器。然后,通过bagging所有的弱学习器——决策树,比如投票(分类问题)或者取均值(回归问题),得到一个强学习器——随机森林。


由于每一棵树的输入样本不是全部的样本,每一棵树的特征不是全部特征,基于此基础上进行集成,预测结果相对不容易出现过拟合。并且由于训练的样本是随机、独立地进行选取,对各棵树的训练可以并行进行,训练速度相对快。


用随机森林计算因子重要性的方法有很多种,下面介绍其中一种


1:对于随机森林中的决策树i,使用相应的OOB(Out of Bag袋外数据)数据来计算它的袋外数据误差,记为err00B1_i

2: 随机地对袋外数据OOB 所有样本的特征X 加入噪声干扰(例如可以把X 重新打乱顺序,常见的方法是就可以随机的改变样本在特征X 处的值),再次计算它的袋外数据误差,记为err00B2_i

图7:随机森林计算因子重要性-打乱X 前

资料来源:安信证券研究中心


图8:随机森林计算因子重要性-打乱X 后

资料来源:安信证券研究中心

3:假设随机森林中有Ntree 棵树,那么对于特征X 的重要性为

之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度降低,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。下图是随机森林计算因子重要性的结果图。

图9:随机森林计算因子(特征)重要性

资料来源:Wind, 安信证券研究中心


4.2. Burota

Boruta是一种特征选择算法。精确地说,它是随机森林周围的一种延伸算法。


下面是Boruta算法运行的步骤:


1.首先,它通过创建混合副本的所有特征(即阴影特征)为给定的数据集增加了随机性。阴影特征就是把许多打乱后的特征作为新的特征

2.然后,它训练一个随机森林分类的扩展数据集,并计算特征重要性,以评估的每个特征的重要性,越高则意味着越重要。

3.在每次迭代中,它检查一个真实特征是否比最好的阴影特征具有统计显著的更高(低)的重要性(即该特征是否比最大的阴影特征得分更高),如果是,则确认(拒绝)。它会删除它视为拒绝的特征,然后回到第1步。

4.最后,当所有特征得到确认或拒绝,或算法达到随机森林运行的一个规定的限制时,算法停止。


下图是之前上一篇标准神经网络回归大盘择时策略的因子(特征)重要性排名,从左到右依次从重要到不重要。


图10:标准神经网络回归大盘择时策略的因子(特征)重要性排名


资料来源:Wind, 安信证券研究中心


5. 遗传算法

遗传算法主要应用于优化问题,来源于种群进化的想法。首先需要确定题解的形式,一般为向量形式(x_1,x_2,...,x_d)。开始时,随机生成大量的向量,作为初始种群。然后从该种群中挑选出最优题解,形成新的种群。然后,对它们做出修改,重新挑选出最优题解,依此反复进行这一过程。


修改题解的方法有变异和交叉:变异是对一个既有题解进行微小、简单、随机的改变,比如随机修改向量中一个元素Xi;交叉则是选取2 个最优题解,将它们按某种方式结合,比如x_1…x_i来自a 向量,而x_(i+1)…x_d来自b 向量,组成新的向量c。

变异如下图:

图11:遗传算法变异示意图

资料来源:安信证券研究中心


新的种群是通过对上一种群中的最优解,进行随机的变异和交叉构造出来的,它的大小通常与旧种群相同。这一过程会一直重复进行,达到指定的迭代次数,或者经数代后题解没有得到改善,结束整个过程。


遗传算法的归因往往需要结合特定的算法。举例来说,如果要从m个特征中,选出n个特征,使得一个线性回归的拟合效果最好。除了用

的遍历方法之外,就可以用遗传算法来减少运算量。


6. TMLE

传统的机器学习模型往往是考虑相关性,但是不考虑因果性。相关性单纯指出A和B是有联系的,而因果性会指出是由于A导致了B还是由于B导致了A。


更复杂的因果性可以从下图看到,气温升高导致了冰淇淋的销量和啤酒的销量的增加,两者是因果性的关系。冰淇淋的销量和啤酒的销量的增加虽然有强相关,但是两者都是受气温驱动,两者没有因果联系。


同样的,在大盘择时策略中,我们也可以提出下列问题,昨日价格变化这个因子是否部分决定了今日高开低开幅度和15:00价格/14:30价格-1?今日高开低开幅度和 15:00价格/14:30价格-1是不是只有相关性,没有因果性?


因此我们需要用全新的方法去解决因果性的问题。

图12:气温、冰淇淋和啤酒


资料来源:安信证券研究中心


图13:大盘择时策略的因子重要性归因

资料来源:安信证券研究中心



详细报告请关注系列报告第二篇《机器学习与量化投资:避不开的那些事(2)》,联系人:周袤 18601798125

风险提示

数据全部来自公开市场数据,市场环境出现巨大变化模型可能失效。


免责声明

 

本信息仅供安信证券股份有限公司(以下简称“本公司”)的客户使用。本公司不会因为任何机构或个人接收到本信息而视其为本公司的当然客户。

 

本信息基于已公开的资料或信息撰写,但本公司不保证该等信息及资料的完整性、准确性。本信息所载的信息、资料、建议及推测仅反映本公司于本信息发布当日的判断,本信息中的证券或投资标的价格、价值及投资带来的收入可能会波动。在不同时期,本公司可能撰写并发布与本信息所载资料、建议及推测不一致的信息。本公司不保证本信息所含信息及资料保持在最新状态,本公司将随时补充、更新和修订有关信息及资料,但不保证及时公开发布。同时,本公司有权对本信息所含信息在不发出通知的情形下做出修改,投资者应当自行关注相应的更新或修改。任何有关本信息的摘要或节选都不代表本信息正式完整的观点,一切须以本公司向客户发布的本信息完整版本为准。

 

在法律许可的情况下,本公司及所属关联机构可能会持有信息中提到的公司所发行的证券或期权并进行证券或期权交易,也可能为这些公司提供或者争取提供投资银行、财务顾问或者金融产品等相关服务,提请客户充分注意。客户不应将本信息为作出其投资决策的惟一参考因素,亦不应认为本信息可以取代客户自身的投资判断与决策。在任何情况下,本信息中的信息或所表述的意见均不构成对任何人的投资建议,无论是否已经明示或暗示,本信息不能作为道义的、责任的和法律的依据或者凭证。在任何情况下,本公司亦不对任何人因使用本信息中的任何内容所引致的任何损失负任何责任。

 

本信息版权仅为本公司所有,未经事先书面许可,任何机构和个人不得以任何形式翻版、复制、发表、转发或引用本信息的任何部分。如征得本公司同意进行引用、刊发的,需在允许的范围内使用,并注明出处为“安信证券股份有限公司研究中心”,且不得对本信息进行任何有悖原意的引用、删节和修改。

 

安信证券股份有限公司对本声明条款具有惟一修改权和最终解释权。


【安信金工团队】

杨勇

SAC执业证书编号:S1450518010002

Tel:13918148315

Email:yangyong1@essence.com.cn

刘帅路

SAC执业证书编号:S1450517030003

Tel:13764594964

Email:liusl1@essence.com.cn

吕思江

SAC执业证书编号:S1450517040003

Tel:18512197996

Email:lvsj@essence.com.cn

周袤

SAC执业证书编号:S1450517120007

Tel:18601798125

Email:zhoumao@essence.com.cn

刘潇

Tel:13671288713

Email:liuxiao1@essence.com.cn

张春娥

Tel:18750200371

Email:zhangce@essence.com.cn

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多