谈起人工智能,科学家霍金和实业家Tesla创始人马斯克都十分警惕:一个没有边界,通过输入数据能够学习成长,又是冰冷没有感情的机器,谁都会心生恐惧。
今年年初上演的人机大战,AlphaGo战胜人类,夺取了最复杂人类智力游戏最后的骄傲——围棋。赛后有一个细节,AlphaGo为什么这么走,程序开发者说这是他们都看不懂的“黑盒”。一旦多层神经网络和学习算法运行起来,结果是无法预知的。
人工智能未来会不会变成“恶魔”,还真不好说。但是脱离制造者的“掌控”,程序就可能演变成灾难。这是已经发生在目前的信息化社会的案例。
Fintech金融科技是近两年开始流行的一个词,金融直接跟国计民生挂钩,而因为高效和自动化,互联网科技对金融的渗透目前是远超其他行业。
2012年8月1日,一个本应该寻常的交易日,当日自纽约证券交易所(NYSE)的开市钟声响起,上百支股票出现剧烈的波动。开市20分钟,异常的交易订单海啸般涌向纽交所,没有人能判断出交易订单的来源,只能任由事态的肆意发展。直到9点50分,异常的交易订单才最终指向其来源— 华尔街上赫赫有名的骑士资本集团(Knight Capital Group)。短短的45分钟,骑士资本的做市部门因技术故障错误地进行超过400万笔交易订单,涉及的股票代码多达154个,进行了美股市场约10%的交易量,损失达4.4亿美元。骑士资本,这个成立于1995年,市场交易份额曾经占据纽交所17.3%,占纳斯达克16.9%,一向以稳健与专业著称的证券大鳄因此陷入经营危机,五个月后被竞争对手GETCO公司兼并。
祸乱始于一个弃用已久的模块,PowerPeg。
SMARS是骑士资本为了维持市场高度流通性而研发的一套智能系统系统,它一方面不间断收集市场信息,通过自带复杂算法对信息进行处理,另一方面将骑士资本的所有自营或来自客户的交易订单用最快的速度分成若干小的交易订单,形成股票组合送到最适合的交易所去交易。这种股票组合而非单独交易可以帮助投资者有效规避风险,而通过软件的快速分析、自动下单则可以在“时间即金钱”的股票市场抢占先机赢得利润。这种根据特定数据模型和算法,根据自动或半自动寻找交易机会、执行交易指令的技术手段就是我们所说的程序化交易。
2012年7月底,骑士资本为SMARS进行常规升级以激活新系统模块。而当那位计算机系统管理人员离开数据中心时,他遗漏了对第八台服务器SMARS软件系统进行升级。恰恰新系统模块的变量运行标志与PowerPeg 一致。PowerPeg是2003年就被废除而未被删掉的废弃模块,在此之前的“检验累计股票数量”功能已经被删除,而“分发订单”的功能仍旧错误地保留。2005年的系统升级,系统管理人员仍旧无视这个bug,违规的将其保留下来。因此当2012年该标志在未升级的旧SMARS软件系统的过程中被设置为“是”时,被执行的不是期望中的新模块而是功能残缺的PowerPeg。简单说来,PowerPeg被启动了,但是他并不清楚自己下单的数量,他只知道不停地交易,像发疯了一样。
PowerPeg并不理会算法策略,他只是重复在卖出价买入,又在买入价卖出,损失着这之间的溢价且不断推高着股价。根据Nanex调查结果显示,这种“烧钱”的交易每秒钟执行40次,每分钟2400次,而每笔交易亏损约15美分。
45分钟,4.4亿美元。一个轻而易举解决掉的bug瞬间击垮了这个证券大鳄。
在资本与互联网科技充分融合的今天,伦敦股票交易所超过50%的交易额来自程序化交易,而美国市场这一比例高达80%。在中国,传统的交易方式已经不能满足投资者的交易需求,计算机技术与资本市场的结合逐渐成为必然。程序化交易的风险,主要是因技术原因导致程序化交易系统未能产生正确交易指令的风险,绝大多数曝光的程序化交易事故最终都归咎于系统故障。
的确,世界上不存在不出错的代码。即便是专业投资机构的程序化交易系统都往往由量化交易研究员直接参与编写,随着系统的复杂化,IT部门全面介入系统构建,程序化交易不再是仅仅启动或关闭系统那么简单。大多数的IT程序都有死代码,他们像僵尸一样挂在代码库中,如果没有日常的结构性的测试与监督,没有人会知道是否有新的活模块去调用这些死代码。然而想要凭借技术人员仔细审核每一行代码是不可能的,并且更加难以做到的是判断一家企业的交易软件在实际使用时是如何与数千个快速进出市场的其他交易程序的互动。
但是,就像复杂的日常世界有一套纠错机制,程序开发还有测试和运维这一环。遗憾的是,许多从事程序化交易的投资人对此并不在意,他们偏执的相信与投资模型自身的盈利能力相比,代码的开发规范,日常运维规则简直不值一提。
这样看来,骑士资本遭遇噩运,更像是必然而非偶然。迟早还有其他类似的公司会摔进这个坑,特别是在快速普及“程序化交易”的中国。
正如骑士资本的竞争对手之一,做市商自动化交易席位公司创始人大卫维特坎普(David Whitcomb)指出“骑士资本无疑犯下了一个明显的可怕错误,在显然没有适当测试的情况下上线了一个新的程序,最终伤害了自己。”
后话
骑士资本的这个案例,并非没有解决方案。骑士资本作为非传统互联网公司的“外行人”,在对待程序开发和代码质量上的态度也是十分“外行”,结果是被贱价收购。
一般来说,开发程序的最后一步是测试,典型的互联网公司里有强大的测试团队。美国互联网巨头像谷歌,开发和测试的比例是4:1,中国互联网公司却是9:1。服务全球几十亿用户的谷歌应用和服务,之所以如此稳定有着超高的质量,跟他们严谨强大的测试团队配比分不开。测试不仅对应用质量负责,在这个移动APP就是脸面的时代,对品牌印象的第一手观感直接关联。
auto.hbhjxszp.cn auto.51yztang.cn auto.haotianshiji.com.cn m.fyypwsfxgc.cn www.fjvnet.cn www.maquew.cn |