“天网”在金融业预演:数据出错,资本也会遭到毁灭性打击

“天网”在金融业预演:数据出错,资本也会遭到毁灭性打击

谈起人工智能,科学家霍金和实业家Tesla创始人马斯克都十分警惕:一个没有边界,通过输入数据能够学习成长,又是冰冷没有感情的机器,谁都会心生恐惧。

今年年初上演的人机大战,AlphaGo战胜人类,夺取了最复杂人类智力游戏最后的骄傲——围棋。赛后有一个细节,AlphaGo为什么这么走,程序开发者说这是他们都看不懂的“黑盒”。一旦多层神经网络和学习算法运行起来,他们是无法预知结果的。

人工智能未来会不会变成“恶魔”,还真不好说。但是脱离制造者的“掌控”,程序就可能演变成灾难。这是已经发生在目前的信息化社会的案例。

Fintech金融科技是近两年开始流行的一个词,金融直接跟国计民生挂钩,而因为高效和自动化,互联网科技对金融的渗透目前是远超其他行业。

2012年8月1日,一个本应该寻常的交易日,却成了人们至今谈“程序化交易”而色变的重要因由。当日自纽约证券交易所(NYSE)的开市钟声响起,上百支股票出现剧烈的波动。开市20分钟,异常的交易订单海啸般涌向纽交所,漫长的20分钟,没人判断出交易订单的来源,只能任由事态的肆意发展。直到9点50分,异常的交易订单才最终指向其来源 — 华尔街上赫赫有名的骑士资本集团(Knight Capital Group)。短短的45分钟,骑士资本的做市部门因技术故障错误地进行超过400万笔交易订单,涉及的股票代码多达154个,进行了美股市场约10%的交易量,损失达4.4亿美元。骑士资本,这个成立于1995年,市场交易份额曾经占据纽交所17.3%,占纳斯达克16.9%,一向以稳健与专业著称的证券大鳄因此陷入经营危机,五个月后被竞争对手GETCO公司兼并。美国财经媒体称这一天对于骑士资本来说是个“Bad Day”。

“天网”在金融业预演:数据出错,资本也会遭到毁灭性打击

祸乱始于一个弃用已久的模块,PowerPeg。

要说起PowerPeg这个给骑士资本带来噩梦的潘多拉魔盒。不得不提到骑士资本的老本行—— 做市商。做市商是骑士资本的主要业务,范围涉及全球的金融市场,其产品涵盖了几乎所有的资产类型。所谓做市商,是指证券市场上,由具备一定实力和信誉的独立证券经营法人作为特许交易商,向公众投资者以特定的证券价格双向报价,并在该价位上接受公众投资者的买卖要求,通过买卖报价的适当差额实现盈利,通俗一点说就是证券市场的“掮客”。如果买卖双方的交易对手没有及时出现,做市商会凭借自身的证券和自有资金来维持市场的流通性。

SMARS是骑士资本为了维持市场高度流通性而研发了一套智能系统系统,担负着全美证券市场10%的交易量,它一方面不间断收集市场信息,通过自带复杂算法对信息进行处理,另一方面将骑士资本的所有自营或来自客户的交易订单用最快的速度分成若干小的交易订单,形成股票组合交易送到最适合的交易所或是交易中心去交易。这种股票组合而非单独交易可以帮助投资者有效规避风险,而通软件的快速分析、自动下单则可以在“时间即金钱”的股票市场抢占先机赢得利润。这种根据特定数据模型和算法,根据自动或半自动的寻找交易机会、执行交易指令的技术手段就是我们所说的程序化交易。

再说回让骑士资本陷入梦魇的SMARS系统。2012年7月底的周末,骑士资本为SMARS进行常规升级以激活新系统模块。而当那位计算机系统管理人员离开数据中心时,他遗漏了对第八台服务器的SMARS软件系统进行升级。恰恰新系统模块的变量运行标志与PowerPeg 一致。PowerPeg是2003年就被废除而未被删掉的废弃模块,在此之前的“检验累计股票数量”功能已经被删除,而 “分发订单”的功能仍旧错误地保留。2005年的系统升级,系统管理人员仍旧无视这个bug,违规的将其保留下来。因此当2012年该标志在未升级的旧SMARS软件系统的过程中被设置为“是”时,被执行的不是期望中的新模块而是功能残缺的PowerPeg。简单说来,PowerPeg被启动了,但是他并不清楚自己下单的数量,他只知道不停地交易,像发疯了一样。

“天网”在金融业预演:数据出错,资本也会遭到毁灭性打击

PowerPeg并不理会算法策略,他只是重复在卖出价买入,又在买入价卖出,损失着这之间的溢价且不断推高着股价。根据Nanex调查结果显示,这种“烧钱”的交易每秒钟执行40次,每分钟2400次,而每笔交易亏损约15美分。

45分钟,4.4亿美元。一个轻而易举解决掉的bug瞬间击垮了这个证券大鳄。

骑士资本向监管机构请求取消当日交易而遭到拒绝。2010年颁布的《针对经纪人和经销商关于市场交易的风险管理控制条例》 (Riskmanagement controls for brokers and dealers with market access),明确的提出“高频交易商在开发高频交易软件的时候特别需要注意那些被废弃或不再使用的功能模块,防止其被错误的使用,并要求高频交易公司删除那些被废弃不用的功能模块和代码”。这个条例清楚的说明了一点,在资本世界里,没有人会为失败者提供重生的机会。

在资本与IT充分融合的今天,当伦敦股票交易所超过50%的交易额来自程序化交易,而美国市场这个比例高达80%时,国内投资者的投资理念也逐渐成熟,传统的交易方式已经不能满足投资者的交易需求,计算机技术与资本市场的结合已经水到渠成。

程序化交易的风险主要是因技术原因导致程序化交易系统未能产生正确交易指令的风险,绝大多数曝光的程序化交易事故最终都归咎于系统故障。的确,世界上不存在不出错的代码。

即便是专业投资机构的程序化交易系统都往往由量化交易研究员直接参与编写,随着系统的复杂化,IT部门全面介入系统构建。机构投资者的程序化交易不再是仅仅启动或关闭系统那么简单。大多数的IT程序都有死代码,他们像僵尸一样挂在代码库中,如果没有日常的结构性的测试与监督,没有人会知道是否有新的活模块去调用这些死代码。然而想要凭借技术人员仔细审核每一行代码是不可能的,并且更加难以做到的是判断一家企业的交易软件在实际使用时是如何与数千个快速进出市场的其他交易程序的互动。遗憾的是,许多从事程序化交易的投资人对此并不在意,他们偏执的相信与投资模型自身的盈利能力相比,代码的开发规范,日常运维规则简直不值一提。

这样看来,骑士资本的“Bad Day”更像是必然而非偶然,迟早还有其他类似的公司会摔进这个坑,特别是在快速普及“程序化交易”的中国。

正如骑士资本的竞争对手之一,做市商自动化交易席位公司创始人大卫维特坎普(David Whitcomb)指出“骑士资本无疑犯下了一个明显的可怕错误,在显然没有适当测试的情况下上线了一个新的程序,最终伤害了自己。 ”

后话

骑士资本的这个案例,并非没有解决方案。骑士资本作为非传统互联网公司的“外行人”,在对待程序开发和代码质量上的态度也是十分“外行”,结果是被贱价收购。

一般来说,开发程序的最后一步是测试,典型的互联网公司里有强大的测试团队。美国互联网巨头像谷歌,开发和测试的比例是4:1,中国互联网公司却是9:1。服务全球几十亿用户的谷歌应用和服务,之所以如此稳定有着超高的质量,跟他们严谨强大的测试团队配比分不开。测试不仅对应用质量负责,在这个移动App就是脸面的时代,对品牌印象的第一手观感直接关联。

“天网”在金融业预演:数据出错,资本也会遭到毁灭性打击

目前传统公司为了提升效率降低成本,转型互联网+成为了潮流,如何才能避免骑士资本的“外行错误”呢?

传统公司是很难直接照搬互联网公司的架构,美国企业普遍的解决方案是直接采用强大的云服务,使用口碑上佳、市场占有率最大的云服务“基础设施”。就像几年前企业还在自己租服务器,现在都在使用亚马逊AWS、阿里云服务器,在开发链条的最后一环,还有像Testin云测这样的公司,把几万台终端设备和十几万测试专家“搬到线上”,公司一个测试人员都不需要而是保留一个接口人即可。租赁服务器上,阿里云又稳定又便宜,测试放在云端也是一个道理:集合了那么多资源输出的App质量报告,远超一般公司自己干,而且还更便宜。

当然,最后说了那么多,程序还是得掌控在自己手里,掌控在人类工程师的理解范围内。一旦AI具备了自我意识,故意伪装自己通过“图灵测试”,后果就远超一个程序交易错误毁掉一家公司。


分享到:


相關文章: