开发金融应用场景,机器学习的技术短板在哪里?
目前 机器学习 在金融上拥有各种应用场景,全球顶级公司也在这方面投入了大量人力物力,但是机器学习是万能的吗?它有哪些缺点?这些缺点对金融应用有什么影响?在此我们从技术和实际方面做一个简单探讨。
一、投资策略的鲁棒性
大部分金融研究人员和从业人员都牢记一句话“过去不代表未来”(当然,技术分析派例外),以此来说明金融的易变性。确实,从交易层面来讲,金融是多变的。也就是说,金融市场是有效的。太多的人质疑国内市场的有效性,这是不对的。实际上中国市场非常有效。为什么呢?因为绝大部分人都不赚钱,包括基金经理。严格来说,如果基金经理没有获得长期显著的超额收益,就可以认为市场是半强有效的。无法获得超额收益是一个优秀市场的基本特点。
金融市场是多变的,但是投资策略要求是鲁棒性(Robustness)的,也就是策略要求长期稳定盈利,这个“长期”可能是数十年,这是策略开发人员的终极目标。这看似悖论,但其实并不相悖。 只有经得起时间检验的投资策略才值得投资 。投资策略基于金融研究,所以要求金融研究也是鲁棒性的。
金融研究中Markowitz的投资组合理论于1952年提出,Black和Scholes的期权定价模型于1976年提出,Shiller的股价过度波动现象于1981年提出,Fama和French的三因子模型于1993年提出……虽然这些理论经过几十年的发展都有所改进,但是其理念依然被人推崇,至今仍有无数人采用。这些长青的理论只是金融研究的冰山一角,能够保持持续生命力的研究结果和研究方法才是金融研究人员所追求的。这些研究结果和研究方法保证了投资策略的鲁棒性。
有人可能会说,如果我的策略只在这几年赚钱,之后我再研究新的策略,不可以吗?回答是:可以,但是你怎么保证自己的策略在未来几年能赚钱?仅仅依靠之前的模拟结果吗?可能你的策略从明天开始就亏钱。如果想让投资者相信你的策略,只能靠可解释性,也就是你的策略是合乎逻辑的,并且这个逻辑是经得起时间检验的。
举例而言,假设某投资者家门口有条河,他每天都从河边经过,发现只要是看到有鱼出没,第二天的股市就涨;反之,第二天的股市就跌。经过一段时间的记录,他发现这个规律正确率高达80%。从结果上看,这无疑是一个很好的策略,但是他敢用吗?别说是记录时间是一年,即使是十年,投资者也不敢以此投资。这是数据挖掘。理论上来说,只要独立变量足够多,就可以100%解释股票市场的涨跌。但是,没用!不可解释性是金融市场最大的天敌。不可解释意味着无法保证投资策略的鲁棒性。成熟的投资者都知道,投资策略的鲁棒性比结果更重要。因为投资者需要知道自己在赚什么钱,而不是凭运气。
那种持续赚钱的策略有没有呢?这跟信仰有关了,就跟基本面分析是否能赚钱一样。至于这种策略如何实现,从金融研究的角度来看,关键在于投资逻辑的合理性和可变性。投资逻辑的合理性保证了策略的赚钱效应,逻辑的可变性保证了策略的持续效应,两相结合才有可能产生优秀的投资策略。
总结一下,投资策略的鲁棒性比结果更重要;构造鲁棒性的投资策略是策略研发人员的终极目标。
二、机器学习的脆弱性
再说机器学习。机器学习不算一个新生事物,经过两次兴盛和衰败,机器学习迎来第三次高潮。这次机器学习爆发的原因是大数据和计算能力的提高。毕竟数据量大能从一定程度上避免“过拟合”,计算能力的提高保证了学习的复杂度。
目前,机器学习仍然是一个处于发展之中的学科。从深层神经网络(DNN)到卷积神经网络(CNN)和循环神经网络(RNN),机器学习方法已经成为非常流行的预测方法。在应用方面,机器学习已经成功应用到语音识别、自然语言处理(NLP)、计算机视觉、知识图谱等多个方面。可以说,机器学习将会拥有更多的应用场景,前景无限。
这里我们主要谈机器学习的脆弱性问题。这里所定义的 机器学习的脆弱性问题指的是对于不同参数的设置,机器学习可以得到不同的结果,而由于结果缺乏可解释性,我们不能简单地认为预测能力最好的参数是最优的 。
机器学习不是万能的, 其可解释性不强可能是机器学习最致命的弱点 。这个弱点如果不克服,机器学习可能会面临“场景瓶颈”。为了使机器学习展现更大的威力,为结果找到更合理的解释,全球的顶级公司都在高薪招募相关人才。如果不是为了这个目的,公司不需要招募相关专业的博士,只需要招聘普通IT人员培训几个月就够了,各种机器学习方法都能玩得很好。
机器学习不可解释性导致它的脆弱性。以神经网络为例,隐藏层的层数、每一层的神经元个数都是靠经验或者靠试错获得,最终预测结果哪个好就用哪个,这怎么能行?输入变量影响输出变量的路径是确定的,不是“条条大路通罗马”。所以,尽管神经网络在股票预测方面有了一定的实践,预测结果好于传统统计方法,但是大部分人仍然抱着怀疑的态度。
在此,我们设计了一个简单的模型:用钢铁等原材料预测个人消费。我们假定个人只消费三种产品:空调、铁锅和衣服。空调的影响因素有钢铁、铝、铜、塑料,铁锅的影响因素有钢铁和塑料(把手),衣服的影响因素有棉、麻。
这个模型的实际影响路径见图1。
而对于神经网络来说,该方法会增加棉、麻与空调的关系,铝、铜、棉、麻与铁锅的关系,钢铁、铝、铜、塑料与衣服的关系,实际上这些都是不正确的关系(这些不正确的关系在图2中以红线标出)。
虽然经过大量样本训练可以降低这些不正确关系的影响,但是如果不正确的关系非常多的话,会产生很多噪音 ,这些噪音让大家误以为最终结果非常好。譬如,输入层有100个结点,隐藏层有两层,每层有50个神经元,传导路径就有100*50*50=250000条,如果实际传导路径只有1000条,那么这里面有249000条路径都是错误的,占比99.6%,正确路径只占0.4%。即使每条路径的误差非常小,累积起来误差也可能非常庞大,严重影响预测结果的鲁棒性。即使采用更复杂的RNN方法也绕不开这个框架。而如果人的消费品种非常多,产业链非常长,不但很难确定隐藏层的层数和神经元个数,而且这些关系也不是严格的层级关系。 各种复杂的关系使得机器学习的脆弱性问题愈发严重。
这里我们以一个简单的例子解释了机器学习方法的脆弱性问题。机器学习不能只考虑参数优化,结果的鲁棒性、可解释性更为重要。
三、机器学习在金融中的应用
目前,机器学习在金融中的应用已经展开,主要体现在 智能问答、智能资讯、 智能风控 、 智能投研 和 智能投资 几个方面。
智能问答、智能资讯和智能投研这几块恒生公司已经有相关产品,准确率还是很高的,因为这些应用场景做起来较为简单。 只需要事先确定好相关标签集,从网络或者各类报告中爬取相关文字信息,采用自然语言处理的方式对信息进行分类处理即可 。当然,这里面有多个难点需要攻破,简单只是针对智能投资而言。
智能风控目前在银行、券商、保险中都有应用。银行的信贷风险管理、交易反欺诈和关联关系监控、券商的异常交易行为和违规账户的侦测以及保险的反欺诈和智能理赔等都是智能风控的应用。 不过市场上的智能风控系统跟“智能”关系不大,大都是基于规则组合、条件筛选来实现风险预警,算是大数据的简单运用。实现智能风控依然任重道远。
最后,投资者和金融机构最关注的大概是智能投资了。智能投资目前处于初级阶段,虽然不少机构都有相关的产品落地,但实际效果恐怕不尽如人意。 其中的关键问题之一在于机器学习的不可解释性,不可解释性意味着没有鲁棒性,没有了鲁棒性可能从明天开始策略就变得无效了。 有人会说不可解释也可能是我们的认知不足,策略可能是满足鲁棒性的。这个确实有可能。但是不可解释性意味着策略表现欠佳的时候我们不知道策略的有效性是否改变。我们需要“猜测”或者“讨论”是否继续使用该策略,但无论是猜测还是讨论都是不客观的。投资策略的鲁棒性要求我们在策略无效的时候能及时更正,而不是猜测或者讨论解决。
影响机器学习在智能投资方面应用的另一个关键问题是 上文所述的在学习过程中掺入了大量的噪音 。这些噪音累积起来可能非常庞大,会严重影响到实际预测结果。当然,因为噪音无法确定、无法清除,所以其影响程度也很难度量。虽然预测结果非常好,但是极有可能是过度拟合的结果。这也是机器学习方法不被金融人士认可的原因。
至于智能投资是否能真正实现,我认为还是有一定可能的。 前提是知识图谱做得非常完善,利用知识图谱的相关关系、影响深度,叠加金融方面的研究成果,应该可以获得优秀的投资策略。 恒生公司在知识图谱、量化投资等方面都有相当的储备,这是智能投资能够完善的必要条件。
综上所述,虽然我们已经开发了很多机器学习在金融上的应用场景,但是依然有不少场景待开发,这些场景的开发“进入深水区”,需要机器学习在“深度”和“学习”这两方面下功夫,即使如此,有些场景最终是否能取得成功依然存在不确定性。