机器学习算法模型在券商行业的应用实践及发展前景 | 趋势解读
【摘要】本文重点介绍机器学习模型在券商行业的应用和实践。首先分析了当前机器学习的发展和现状,然后从实际应用出发,分析解读机器学习算法在券商行业的场景应用,进一步的阐述了几种机器学习算法在实际场景中的应用,最后讲到机器学习平台的使用以及未来机器学习应用前景。
【作者】流浪猫,就职于某券商,主要负责机器学习模型的开发,在机器学习方面积累了一定的实践经验。
一、机器学习的发展和现状
2017年,谷歌通过深度学习训练的Alphago,战胜了排名世界第一的世界围棋冠军柯洁而名声大噪。这也让人们感到机器学习和人工智能的强大。时至今日,无论是国外巨头谷歌、亚马逊和Facebook还是国内互联网领军者“BAT”,都在大力的研究人工智能,将人工智能作为其重点突破的战略决策。最典型的无人驾驶就是这一领域的研究热点,而各家公司也普遍意识到人工智能在提高效率、减少成本上带来的效益。可以说谁能在这场没有硝烟的战争中取得先机,谁就有可能在未来竞争中取得优势,才有可能避免被历史的浪潮所淘汰。各家公司纷纷投入到研究和发展之中,掀起了一股AI的热潮。
前面说的都是比较前沿的互联网科技企业,那么在传统行业它是怎么应用的呢?机器学习在各个行业都有很多的应用。其实,除了无人驾驶之外,人工智能和机器学习大有可为,目前将在各大领域崭露头角。目前金融行业领域竞争白热化,传统的发展方式已经不适应现在的发展需求,各家金融企业对机器学习的重视程度越来越高,开始加大人工智能和机器学习的投入力度,积极地进行转型,从而提升提升自己的智能化水平,给客户更好的体验。
二、机器学习在券商行业应用的场景分析
2.1 机器学习在券商行业应用的场景解读
说到机器学习和人工智能在金融券商行业的应用,其实对大家来说并不陌生。机器学习在券商行业已经有了很多应用,而且券商行业也具备机器学习应用的土壤,这一点从早些年大家常提到的量化交易就可以看出,它就是机器学习的典型应用。到今日大家在选股方法会设计各种各样的策略,这些策略也是跟机器学习相关。
现在很多券商都在搞智能投顾,智能投研,智能推荐。如果你打开他们的App,其实很多都是通过大数据和机器学习算法计算展示的。比如现在券商都比较热衷推出智能投顾,它会根据你的年龄,资产,以及现在投资的状况,在各类资产和金融工具中进行搜索匹配,为你推荐适合自己的投资组合。再比如如果你喜欢炒股,会有很多问题问客服,也会有很多问题问客户经理,比如想知道最近的行情如何,想知道某某股票表现如何,通过自然语言处理,结合人工智能算法和机器学习算法,让机器慢慢的学会客户所问的问题,能够对一些简单的问题进行回答,并逐渐对复杂问题进行回答。目前对智能问答的研究已经进入新阶段,通过这些智能机器人,可以大大降低客服和客户经理的工作压力,提升工作效率。再比如付款时,现在某宝还有一些银行,通过人脸识别来支付,人脸识别技术其实就是计算机视觉,也是当今很火的研究之一,它用的也是深度学习,卷积神经网络。另外大家在打字时,用的语音转文字,语言识别也是机器学习应用之一。再比如国家越来越重视金融诈骗和反洗钱,通过大数据和机器学习算法对反洗钱和市场违规操作人员进行安全识别,系统能够识别特殊行为或异常行为,并且对其进行标注识别,大大提高了识别的准确率。
还有很多很多,由于篇幅有限,这里只列举了一部分金融行业应用场景,应用包括智能投顾、量化交易、人脸识别、语音识别、金融安全问题等。
2.2人工智能、数据挖掘、机器学习,深度学习四者之间关系
读到这你会发现,上面提到人工智能,又提到机器学习、深度学习。那它们之间到底是一个什么关系呢?人工智能包含机器学习的部分,机器学习包含深度学习。深度学习其实就是神经网络,它是机器学习最核心的部分,深度学习解决了人类很多传统算法不能突破的问题。
三、机器学习算法在券商的应用实践
机器学习算法发展到现在,不是单单一个学科能概括的了,可以说是多领域涵盖面广,涉及概率论、统计学、逼近论、凸分析、算法复杂度等多门学科。这些算法在理论上都已经相当成熟,大多数情况下我们只是在应用,而并没有太多地关注它的来历,它的理论。但作为专门研究机器学习算法的人,这些都是必须了解和掌握的,只有对它的来龙去脉了如指掌,才能在实际中运用自如。
机器学习算法在各行业的机器学习实践中都有很多的应用。前面说了很多金融行业的机器学习的应用,那么在证券行业是怎么应用的呢?券商也在积极的进行转型,对机器学习的重视程度越来越高。
工欲善其事,必先利其器。想要做好机器学习,选好工具很重要。目前做机器学习用的比较多的工具:anaconda(大礼包):集成了很多python包,包含最常用的numpy,scipy,pandas,还包含了机器学习的包stklearn,anaconda 还为我们提供了很多工具包,我经常用来开发的jupyternotebook:以网页的形式打开,在页面上直接编程。可以将大的项目分解成一个个小的模块,一次运行,可以打印中间结果。除此之外,我们在实践中,根据不同的实际项目,往往需要不同的工具,这里提供几个可以参考的(https://github.com/),其实我们在实际项目中遇到的问题,踩过的坑,肯定有很多人已经踩过了,我们如果再重新来一遍必然是浪费时间,还不一定取得好的效果。我们遇到问题首先看一下有没有成熟的解决方案,实际上大部分问题都是已经有了解决方案的,剩下的小部分问题,我们可以再攻坚克难。
对于证券来讲,机器学习算法其实并不需要太复杂,以能够解决实际问题为主。通常我们会主要考虑时间成本和可解释性。那么逻辑回归应该是我们的首选,通常逻辑回归就可以解决分类的很多场景了,只不过它对特征的要求比较高。逻辑回归处理线性问题。要想更好的处理非线性,就需要对特征进行组合,这需要基于一定的经验,并且往往需要多次训练,尽可能地让特征更有效。比如我们在用逻辑回归针对客户的购买行为建模时,通常用到客户的特征、产品的特征以及客户与产品的组合特征,除了这些特征之外,我们往往也会做一些组合,提升它的非线性能力,组合特征好坏直接影响到对客户的个性化推荐。
下来,我们针对具体的算法在实际中的应用进行分析:
1)逻辑回归
我们接触模型用的比较多的易上手的就是逻辑回归了,回归为什么能够解决分类问题,这是因为会有判定边界的概念。熟悉逻辑回归理论的读者都知道,逻辑回归是用sigmod函数,将结果映射到[0,1]上,从而有了可能性(概率)的判断,当我们给定判定边界的时候,我们就可以进行分类了。
很多证券行业的推荐场景上可以用逻辑回归模型。比如现在要给客户推荐理财产品了,实际上要分析客户购买某理财产品的可能性。根据历史数据,正样本为购买过某理财产品的客户,负样本为未购买过该理财产品的客户。构造特征主要有客户的基本特征:性别、年龄、职业、行业,客户的资产特征,交易特征,产品的特征:收益率、投资期限等特征,我们用逻辑回归是会做一些特征的组合,基本特征的组合,基本特征与资产特征的组合,基本特征与交易特征的组合,基本特征与产品特征的组合等等,通常都是数据科学家根据自身的建模经验选择。
特征构造完成后,进行特征选择和特征抽取,特征选择是筛选重要的特征,过滤不重要的特征,往往我们还会对特征降维,降低特征的相关性。特征抽取是对特征的处理,通常包括两种方式,一是连续性的特征,我们可以通过分桶来操作,离散型的特征进行独热编码。这些工作完成后,我们就用正负样本输入到逻辑回归模型中进行训练,通常是做交叉验证,取得一个平均误差。
在建模之前,需要对数据进行各种预处理的操作,比如数据标准化,缺失值填充等,这些都是必要操作。在实际建模的过程中,做任务之前肯定需要检查数据,经常存在样本不均衡的问题。通常我们有几种方法可以解决,一个是下采样,另一个是过采样。样本不均衡通常是我们的正例样本数量较少导致的。通过下采样,随机在数量多的负样本类型中筛选出一定比例的负样本,与正样本组成整体,并且用大部分用来训练,少部分用来测试,通过分成K折做交叉验证,取平均值得到计算结果。例如在实例中,负样本的数量为10万,正样本的数量为1千。我们通过下采样取得负样本2千个,与1千个正样本组合。但是,模型的建立往往不是一蹴而就的,我们会发现,通过下采样得到的模型,可能效果并不满足我们的需要,通常会出现误杀现象,这是因为我们只用了一部分负样本用到模型中。另一个,对于过采样,基于SMOTE算法来进行样本生成,这样正例和负例样本数量就是一致的了,用它来进行训练和测试,交叉验证得到计算结果。我们在建模的过程中,其实是一个不断尝试的过程,通常我们先用简单的模型建立一个基础的模型,然后再用其他的方法做对比,直到达到我们需要的效果。
过拟合问题:过拟合问题是我们在建模过程中经常会出现的情况。什么是过拟合,通常表现为它在训练集上表现很好,在测试集上表现很差。这样的模型泛化能力较差,遇到不认识的样本就无法判断。正则化惩罚力度,用于防止过拟合。
对于建模方法的选择,能用简单的方法解决的尽量不要用复杂的方法,简单的方法一般速度快,效率高,可解释性强。通常分类模型选择的顺序:逻辑回归,决策树与集成算法,神经网络。
2)决策树与集成算法
决策树:决策树的特征选择是有顺序的,各节点的前后选择是有顺序的。越重要的特征越排在前面,能更好的切分数据分类效果更好的特征在根节点。在实际应用中已经很少用单纯的树模型来做了,基本是通过集成算法。
同样是推荐问题,给客户推荐理财产品,我们知道逻辑回归中需要设计大量的组合特征,增加模型的非线性能力。特征往往设计不好,导致分类效果一般。这时候我们往往会考虑树模型,集成算法,比如GBDT、xgboost等。选择这些模型,只需要给模型输入原始的特征,会自动的进行特征组合,一般效果也会比逻辑回归更好。但是相比于逻辑回归,集成算法时间成本较高。
集成算法:
有两类典型的方法:
1)随机森林:训练多个树,各树之间相互独立,最后通过投票方法得到结果。
2)gbdt\xgboost:训练多棵树,后一棵树用到前面树的结果,后一个树对前一个树的误差进行训练,会有一种提升的感觉。最后结果为所有树相加得到。
长久以来,我们都是通过人工的经验知识或者实验来获得有效的组合特征,但是很多时候,使用人工经验知识来组合特征过于耗费人力,造成了机器学习当中一个很奇特的现象:有多少人工就有多少智能。关键是这样通过人工去组合特征并不一定能够提升模型的效果。所以我们的从业者或者学界一直都有一个趋势便是通过算法自动、高效的寻找到有效的特征组合。Facebook在2014年发表的一篇论文便是这种尝试下的产物,利用gbdt去产生有效的特征组合,以便用于逻辑回归的训练,提升模型最终的效果。
3)神经网络
模型能够达到的效果的上限是由数据决定的。在此基础上,选择更好的模型,调参数,从而达到更好的效果。但是神经网络似乎表现的格外突出,它好像是无所不能。其实人工智能很大程度是依赖神经网络的发展。
sigmod函数:神经网络中用到激活函数,然而sigmod函数在距离纵坐标轴的时候会出现梯度消失,接近时出现梯度爆炸的情况,所以导致神经网络很难收敛。relu函数:它的出现完美的解决了sigmod函数中存在的梯度消失和梯度爆炸的情况,从而使神经网络重新火了起来。卷积神经网络:卷积神经网络救活了计算机视觉,图像处理人脸识别,但是它不仅仅可以用于处理图像,其实它的思想在很多问题上都是可以用上的。在输入的样本有时间顺序时,采用递归神经网络。递归神经网络的输入的特征不只是当前特征,还包括上一次神经网络得到的特征。前文中提的比较火的自然语言处理最经典模型LSTM,其实是一种递归神经网络。神经网络是一种智能算法,但它并不复杂,如果你不想去实现其中繁琐的步骤,现在已经有了很多神经网络框架:tensorflow、keras、caffe。这些框架其实就是封装好的神经网络,我们只需要知道输入,以及所需要的参数,就可以训练一个神经网络。利用tensorflow,我们还可以自己定义神经网络。
四、机器学习平台在券商中的应用及未来发展规划
目前,不少金融机构的AI落地是通过为每个有价值的业务购买AI技术解决方案。虽然购买的解决方案给金融机构的诸多业务带来了实际回报,但靠购买使用AI技术终究只能满足一时之需,无法让企业真正构建自主、长久、可持续的AI能力。因此,为了构建自主AI能力,只有通过企业级AI平台使企业拥有自己的AI应用能力,从而实现AI在每个有价值的业务场景的落地。
为了方便数据科学家建模,舍去比较难的底层开发,更加关注数据和模型,现在市场上其实出现了很多机器学习平台,有很多券商等金融也在开发搭建自己的机器学习平台。这些机器学习平台基本能满足企业级的开发需求,通常具有模型开发与发布的功能。一个机器学习平台架构通常包括算力和存储资源,资源管理和任务调度、任务管理机制,机器学习相关服务如模型算法评估及深度学习框架等,下面是我们的机器学习平台框架图:
不同企业的机器学习平台虽然看起来有差别,但就平台的主要架构和所能解决的问题上基本是差不多的。根据IDC发布的首份《IDC MarketScape:中国机器学习开发平台市场评估》结果显示,第四范式先知平台市场份额位列我国第一,作为国内比较领先的机器学习平台,已经能够满足一般企业级客户的需求。第四范式先知平台已经在多家金融机构如银行和券商以及互联网领域都有了自己的实战案例,当然国内市场也有别家机器学习平台。我们之所以选择先知平台,就是因为它的案例在金融企业比较多,而且经过市场的磨合,通过该机器学习平台自定义的sql和pyspark进行数据处理,将常用模型逻辑回归、集成算法、自主研发的模型进行特征抽取后直接接入即可,节省大量开发时间。前面我也提到券商理财产品推荐模型,利用客户基本特征和交易特征,通过在该先知平台上建模,用平台封装好的逻辑回归和集成算法模型训练,取得了比较好的模型效果,此外很多场景也可以利用此机器学习平台实现,比如客户流失模型等等。目前第四范式在泛金融领域有了很成熟的经验,比如金融领域风控反欺诈,对某商业银行海量数据进行分析、挖掘构建并周期性更新反欺诈规则和反欺诈模型,例如为银行信用卡中心识别恶意用户和欺诈行为,并实时预警和处置。个性化推荐、精准营销方面挖掘精准客户,提高工作员工效率和服务精准度上有了很大提高。
其实机器学习平台可以看成是很多开源软件的集成,一般的模式我们在机器学习平台架构中有所提到。企业想要搭建自己的机器学习平台,最便捷的方式就是利用这些开源软件,只需要在这些的基础上做进一步开发就可以,其实这是很多人都能够想到的思路,更复杂的可以在此基础上添加自己个性化的创新模型,使机器学习平台更加实用和方便。不过即便如此,想要开发自己的平台当然不会那么容易,中间必然需要人力和时间成本。除了企业自己搭建机器学习平台,另一种方式我们可以考虑购买市场上已有的机器学习平台,那么如何选择符合企业自身需求的机器学习平台?
首先机器学习平台选择需要考虑的一个因素就是成本问题,如何以最低成本实现最大的需要这可能是企业都需要考虑的问题,如果企业资金和技术实力强,当然是搭建自己的机器学习平台好了,这样易于扩展和维护,还能做成产品服务其他客户,百度和阿里等机器学习平台便是如此。
其次如果企业自身技术薄弱开发周期长成本相对较高,就可以选择市场上已经有的平台,当然这也得在成本控制范围内尽量选择比较成熟的平台,在选择时结合自己的业务需求,比如考虑数据量的大小和增长,随着数据量增加可以提高扩展性,好在市场上的机器学习平台基本都支持分布式的。另外考虑选型机器学习平台需要根据业务场景特点来选择机器学习平台的优越性,比如如果需要快速开发的场景则选择易用性和开发速度快的平台,如果需要在线计算追求实时则选择支持GPU,并且支持实时计算的平台,如果需要企业自身自主开发的比较多,则选择与现有框架和工具兼容性好的,自主开发模块功能强的平台,这些都是结合自身需求在选择平台时需要考虑的。
未来,金融行业,特别是券商的转型,机器学习算法是必不可少的。未来人工智能和机器学习将在智能风控、精准营销、智能投研、数字化方面有着很大应用前景,这些也是我们未来应用的重要领域。
原题:机器学习算法模型在券商行业应用与实践 点击文末阅读原文,可到社区原文下提问交流
资料/文章推荐:
知微见著——商业银行基于机器学习平台的AI风控实践分享
http://www.talkwithtrend.com/Document/detail/tid/428605
AI持续助力金融行业的创新与发展
http://www.talkwithtrend.com/Document/detail/tid/428609
银行大数据的发力点——机器学习,主要应用场景分析
http://www.talkwithtrend.com/Article/245147
欢迎关注社区以下 技术主题 ,将会不断更新优质资料、文章。地址:
机器学习:http://www.talkwithtrend.com/Topic/55745
下载 twt 社区客户端 APP
与更多同行在一起
高手随时解答你的疑难问题
轻松订阅各领域技术主题
浏览下载最新文章资料
长按识别二维码即可下载
或到应用商店搜索“twt”
*本公众号所发布内容仅代表作者观点,不代表社区立场