大数据与神经网络算法,能否用来分析银行信贷企业的数据,得出关键指标和权重?

这篇文章来自于知乎的回答:AlphaGo 的数据算法,能否用来分析银行信贷企业的各项数据,然后得出关键指标和权重? - 钱粮胡同的回答

当时正是李世石和谷歌Alpha Go的世纪大战,趁热也回答了下这个问题。回答后跟答主的交流中发现答主主要指的是(微)小企业的分析,而这个回答的着重点在于对于一般企业,或者换句话说,主要是针对财务数据正规可信的中大型企业

对于(微)小企业,我还真觉得银行未必有着得天独厚的优势 - 这个优指的是技术方面。阿里巴巴等BAT在这方面其实有着基础架构的优势,可以规模化数据,各种交易往来信息等,对于分析小的企业或个体户是非常有利的;而银行在这个领域有的是专业知识的优势/积累,比如以前我曾拜访过的浙江泰隆商业银行:他们对于小企业的信贷调查方式和产品设计真的是让我开了眼界,以后有时间可以介绍几个,真的是很有中国特色(浙江特色)。

之后有时间我会写个系列文章,介绍国外银行如何做企业分析和行业分析的,把这个文章里涉及到的金融的一些点具体化。

#正文走起

以前做过一些机器学习的东西,主要是经济类的,因为当时不太确定数据背后的结构和内在规律,同时又想数据可视化,所以用了SOM (Self-organizing Map, unsupervised)这些基本的机器学习方法,结果确实很有启发性。部分分析与截图可参考:从事经济、金融工作的人都是通过什么渠道获得数据资源,运用什么软件来分析行业状态和经济走势的? - 钱粮胡同的回答

背景:法兰克福某双塔做Portfolio Management,工作上跟各类经济,行业,企业等数据打交道,再之前做过企业评级和信贷业务,所以时不时就会想把机器学习的一些东西应用到工作上。当然,银行里这些略有创新/ 实践的想法基本都会被上面打回来,图样图森破。

讨论部分:跑题了,直接讨论下可行性:其实这方面国内国外都有一些研究文献(针对中小企业信用评级/违约概率预测),主要是利用比较传统的multi-layer back-propagation neural networks, 用已知结果的样本反复培训,再用另一部分样本做实测,防止overfitting等等,我也做过一些。下图是个基本原理,摘自网络(TeX - LaTeX Stack Exchange):



首先,我们要清楚神经网络(类人工智能) 的分析有很多种,比如你是想做clustering(评级分类,如AAA, AA, BB, CCC等),还是想预测具体违约概率。对于PD,我想比较适合的是预测具体数值吧?长时间这些数值的积累与变化,画成图,就像是企业的生命线。

我们先看一下传统的企业信用评级,方法很多,但是大同小异 (可以参看标普关于评级的网站:Understanding Ratings),基本分财务与非财务
  • 非财务比如1)宏观经济/ 行业等的基本判断,一般包括行业的中长期走势,有无行业特定风险等,这个部分我认为是可以用数据驱动的;2)管理层信息 - 这个部分比较有意思,是否可以量化是个关键点,如果可以量化,那么我们就可以把这块也模型化。一般管理层这块的分析,包括企业战略可持续性,管理层背景和公司治理架构,运营效率与管理能力,公司信息透明度等,我个人的经验是量化是可行的,具体操作比较复杂,可以参考一些学术类文章,研究一下如何设立变量及类似的量化方法,比如如何分析企业高管或政府官员绩效和晋升等文献,我本人也在国外发表过这类量化分析官员绩效与晋升的拙作,如果有兴趣请参看Career Backgrounds of Municipal Party Secretaries in China;定义了整个管理层与企业治理等相关的量化变量后,数据整理干净(这块其实比较关键,不在这里具体讨论了),算出一些对应的权重分数不是问题 - 但是如果放到实际中,数据的收集是个大问题,以我的经验,没有一个银行的RM或者Credit Officer有那个心情按你的要求在系统中输入标准的数据。除此之外,还有一块非财务的就是公司产品,市场地位,供应商与客户依赖度等,这个是可以量化的,找对一些代理变量就好。
  • 财务类量化比较直观(销售,利润,现金流,融资能力,债务水平等),行业的不同等内在结构上导致的指标区别我认为恰恰不用担心,机器学习应该可以逐步适应调整,这也是机器学习的优点。
企业信用评级简要框架:

我个人感觉,企业违约概率/ 信用评级其实一般模型就可以做(相关文献也比较多,如SVM,PCA,甚至最基本传统的数学模型),如果要用机器学习的话,一定要找到突破点。我觉得优势应该是寻找大规模量化的数据中潜在的规律或结构,优化预测结果。如果可以通过如unsupervised的学习方法来获得(或者就是supervise中培训模型的时候,告诉模型结果然后反复培训 - 其实就是在不知不觉中让机器寻找数据背后的结构区别),应该是很有价值的。

泼冷水时间:从银行角度来看,个人信用评级和中小企业信用评级,再到大型企业评级(简单的企业分类可以按照企业的销售额与总资产等指标,如果复杂一些,这方面本身就可以用机器学习:比如用ANN中clustering的方法,如之前提到过的SOM,或者非ANN中传统的K均值),区别还是蛮明显的,尤其企业类评级一般量不大(相比retail),同时数据比较滞后,源少,这个方面我觉得如果想使用机器学习的话需要找到非常好的理由与突破口,否则就有点成心显摆的感觉(就好像有些任务,明明简单的用excel的pivot功能就可以很好的完成,非要用VBA或者R,意义不大)。

冷水泼完来点热水:很多同行说银行内部的评级要独立(假设这么有节操的银行用的是高级评级法),与信贷业务的考虑尽量分开。我认为,在评级过程中,企业信用本身与周边宏观环境确实决定了违约的概率 (forward looking),保持独立性很好,但是如果把信贷业务中交易等环节的动态有时效性的数据也加入到评级分析中(企业与银行之间交易的行为数据),那么很有可能提高评级的时效性与准确性,而这个方面就需要高度的自动化与数据挖掘。所以这个领域前景还是很广阔多变的。

One more thing: 今天工作,突然想到机器学习的一个优势之前没有说到:平常做企业分析,行业内类似企业的对比分析 (peer analysis)很重要,而这一块根据我的经验,很多分析师容易疏忽,或者一些junior因为对行业的理解不到位,导致peer的选择不对,影响最后分析结果的正确性。如果采用机器学习,数据结构的探索本身应该就可以一定程度上解决这个问题。
发布于 2016-04-14

文章被以下专栏收录