(转)惨烈:1个Bug,45分钟损失4亿多美元

news/2024/4/19 19:10:38/

惨烈:1个Bug,45分钟损失4亿多美元

2016-09-29 程序员的那些事
http://mp.weixin.qq.com/s?__biz=MjM5OTA1MDUyMA==&mid=2655436975&idx=1&sn=c42751b73b287ca907b897702f509ae8&chksm=bd730cd88a0485ce5483db1832741d224b7b830d6b72af4bcf214249a0f53bea238bb1d878e6&mpshare=1&scene=5&srcid=0929krZpOTil35AQzKaCVj9s#rd

【导读】:2012年8月1日,一个 bug 一步步让骑士资本在交易中损失了 4.65 亿美金,并且直接导致破产。这个故事涉及的代码库,是一个大型、无人维护、腐烂的代码库,代码本身将近 9 年没用过了,真是一次集合了技术债务所有特点的惨案。

(网络图)

2014 年我参加了一场会议并就 DevOps、代码配置和持续交付等话题进行发言,讲到 DevOps 和持续交付的时候我说了下面这个故事,来阐述自动化、可重复部署的重要性。那次会议之后,有好多人让我在博客上分享这个故事。这是一个真实的故事,下面根据我了解的来进行分享(我并没有亲身经历)。
下面讲的是一个资产 4.6 亿美元的公司在 45 分钟内破产的故事。

背景

Knight Capital Group(骑士资本集团)是美国一家全球性的金融服务公司,主要业务有 做市、电子交易系统和机构交易。2012 年,骑士资本是美国股票市场最大的经纪商,分别占有纽交所和纳斯达克 17% 的市场份额。骑士资本的电子贸易部门管理的平均日交易量超过 33 亿股,交易额高达 210 亿美元。这可不是开玩笑!

到 2012 年 7 月 31 日,骑士资本拥有高达 3 亿 6500 万美元的现金及现金等价物。

2012 年 8 月 1 日,纽交所计划启动零售流动性项目(该项目旨在通过类似骑士资本这样的经济商向普通投资者提供更优惠的股票交易价格),为此,骑士资本对他们自动化且高速的算法程序 SMARS 进行了更新,该程序向交易所发送执行命令。SMARS 程序的核心功能之一是从骑士资本交易平台的其他部分接收订单(“父”订单),然后发出一个或多个“子”订单。换句话说,SMARS 程序从交易平台接收大订单,然后根据买家或卖家的股票交易数量把大订单拆分成合适的小订单。父订单越大,子订单越多。

这次更新主要是为了把过时或没用的功能替换掉,比如说“Power Peg”。这个功能已经 8 年没有用到过了( 8 年都没用到的功能代码仍然存在,这的确很稀奇,但这不是重点)。更新后的代码对以前用来激活 Power Peg 功能的标识符进行了更改。这次更新经全面测试后证明安全可靠,那问题究竟出在哪?

还有哪里可能出问题么?的确是!

从 2012 年 7 月 27 日至 31 日,骑士资本把软件手动部署到公司为数不多的服务器上——总共就 8 台。以下是美国证交会关于这次人工部署过程的档案描述(顺便一提,如果你的操作被记录到证交会档案里可就大事不妙了)。

“在部署过程中,相关技术人员忘记把新代码拷贝到这八台服务器其中的一台上。骑士资本也没有安排另外的技术人员对部署过程进行复查,所以没有人意识到第八台机器上的 Power Peg 代码并没有被删除,新的 RLP 代码也没有被添加。对于复查,骑士资本并没有相关的书面流程。 —— 美国证监会文件 | 发布编号 70694 | 2013-10-16”

东部时间 2012 年 8 月 1 日早上 9:30 股市开盘,骑士资本开始处理来自 RLP 新项目的交易商的订单。其中七台正确部署的服务器开始正确地处理订单。但是发向第八台服务器的订单触发了被更改的标识符,执行的是无效的 Power Peg 代码。

来自「僵尸」代码的攻击

我们得弄清楚这段「僵尸」代码是用来干什么的。这个功能以前是用来对比买/卖股票的父订单和子订单的数额的。父订单数额一旦达标,Power Peg 就会向系统反馈停止订单拆分。总的来说,Power Peg 功能可以持续追踪子订单,而父订单一旦完成,该功能会立即终止子订单活动。然而 2005 年,骑士资本把跟踪计数这一功能转移到稍微靠前一些的代码里(因此 Power Peg 不再具备跟踪计数功能了)。

当第八台机器上的 Power Peg 功能被启动后,由于它无法跟踪对比父订单的股票数,所以子订单不断产生并执行,这就成了无法终止的死循环。

灾难性的 45分钟

你可以设想一下,当一个失去追踪计数功能的系统无限制地、高速地向市场发出订单时情况会有多糟糕。

早上 9:30 开盘后立即有人意识到出了问题。一分钟后,华尔街大部分人都感觉到大事不妙了,股票市场中某些个股涌现出大量不符合常规交易量的订单。又过了一分钟,人们发现交易仍然没有停止——就高速交易系统而言,交易根本停不下来。为什么没人尝试停止出问题的系统呢?事后发现,这个系统根本没有切断开关。在 45 分钟之内,骑士资本执行了超过日均交易额 50% 的订单,导致部分股票市值上升超过 10%,带来的连锁反应是其他股票价格暴跌。

更糟的是,早在上午的 8:01(这时 SMARS 在进行开市前交易),骑士资本的系统就自动发送了有关问题的邮件。这些标记为 SMARS 的邮件提及 Power Peg 功能出现了问题。从 8:01 到 9:30,97 个个人邮箱都收到了这封邮件。估计这些邮件并没有系统警报的作用,所以并没有人马上查看。天呐。

在这灾难性的 45 分钟里,骑士资本想出几个对策来终止错误的交易。由于这个系统没有切断开关(也没有相关情况的文档说明),他们只能在每分钟交易 800 万股的线上环境中诊断问题起因。然而他们没能发现系统问题出在哪里,只能卸载已经部署到几台服务器上的新代码。换句话说,他们把有用的代码删掉反而留下了问题代码。情况恶化了,除了第八台未被正确部署的服务器,另外七台服务器中的父订单也触发了 Power Peg 功能。最后,他们终于想办法终止了交易系统,然而已经过去了 45 分钟。

在开市后的 45 分钟内,骑士资本接收并处理了 212 个父订单,SMARS 发出数百万个子订单,累计对 154 支股票进行了 400 万次交易,交易量超过 3 亿 9700 万股。在内行人看来,骑士资本建立了 80 支个股 35 亿美元的净多头仓位和 74 支个股 31 亿 5000 万美元的净空头仓位。对外行人来说,骑士资本在 45 分钟内亏损了 4 亿 6000 万美元,而上文提到,骑士资本仅有 3 亿 6500 万美元。仅仅 45 分钟,骑士资本从美国股市最大的交易商和纽交所以及纳斯达克的大庄家变得一钱不值。破产后,骑士资本有 48 小时的时间筹集资金弥补损失(骑士资本还有大约六个投资者投资的 4 亿美元)。骑士资本最终被 Getco LLC 收购(2012 年 12 月),合并后新公司更名为 KCG Holdings。

吸取教训

所有运维团队都应该从骑士资本惨案中吸取教训。不仅要开发优秀的软件并进行全面测试,还需要把软件正确地交付给交易所,这样客户才能获得正确的结果(才能避免公司破产)。这个事件中,我们不能把矛头全部对准部署 SMARS 的技术人员,骑士资本的业务流程根本不足以应付他们所面对的问题。此外,这种流程(或缺陷)本来就很容易出错。是人都会犯错,不论何时,只要你的部署过程依赖于人工指令操作,就有可能出现问题。指令本身、对指令的解读以及指令的执行过程都可能存在隐患。

部署应该是自动化且可重复的,这个过程应该尽量排除人为因素的干扰。假如骑士资本采用的是自动部署系统——配置、部署和测试完全自动化,这场悲剧可能就不会发生了。

持续交付的某些原则也同样适用(即使你执行的不是一个完整的持续交付过程):
软件发布过程应该是可靠且可重复的。
合理的情况下,尽可能实现自动化。

另外:关于补充。。。。。。。。。。。。。。

骑士资本的梦魇:程序化交易就是露骨的投机魔王?
扑克投资家-林辉 · 1 年前
扑克财经旗下品牌:最值得信任的大宗商品产业和金融服务业智库。跨界、深度、专注——汇聚业内最值得分享、最有信息浓度的知识。欢迎移步微信公众平台:puoketrader

原文链接:骑士资本的梦魇:程序化交易就是露骨的投机魔王?

扑克导读

程序化交易是一把双刃剑,可平滑不同市场和关联产品价格,提供市场流动性,提高价格发现效率,也有利于克服交易中人为因素的影响。但是,程序化交易也有加大市场波动、影响市场公平性、增加技术系统压力等消极影响,不单止是国内,境外监管机构对程序化交易的监管力度也在不断加大。对于中国这种不成熟的市场而言,程序化就是悬在市场头上的达摩克利斯之剑,扑克投资家希望用骑士资本这个案例,向读者展示一次失败的程序升级是如何把一个高频交易帝国搞崩溃的。

▌来自 林建_NYSE的博客

下面是个悲催的案例,瞬间秒杀一个著名的公司。

2012年7月27日星期五,一位计算机系统管理人员进入了骑士资本的数据中心,他的任务是要为装载在八台生产服务器上的高频交易系统SMARS进行更新,而且必须在周日,即7月31日完成所有的升级工作,并为更新的SMARS软件系统做好下周一,即8月1日的交易准备。

不幸的是,这位系统管理人员的工作出现了差错,他遗漏了一台服务器,只为7台生产服务器升了级。正是这位系统管理员的胖手指,导致了骑士资本在8月1日纽交所开市之后不到一个小时的交易时间里损失了4.6亿美元。之后的骑士资本陷入经营危机,五个月之后便被GETCO公司兼并。

01

发怒的高频交易系统

12月1日是一个星期三,本应该是一个非常普通的交易日。纽交所的交易系统在开市交易之前就从市场接收报价订单,一切正常,直到9时30敲响开市的钟声。当开市的钟声被敲响之后纽交所立刻发现,这一天注定了是一个极不寻常的交易日。

刚刚开市的纽交所就发现从市场收到了不正常的交易订单流量,数量不但巨大,而且涉及的股票代码范围也很广。开市20分钟之后非正常的交易订单就如同发怒的海潮一样涌向纽交所,直接触发了市场为限制股票价格波动达到10%的断路开关(Circuit Breaker),并自动暂停了多只股票的交易。

9:40分之前纽交所还无法判断交易订单的来源,直到时间再过了10分钟,即9:50分时纽交所才最终确定了这些非正常的交易订单来自于骑士资本集团公司。

而此时公司总部位于新泽西州泽西城的骑士资本集团公司也陷入了前所未有的混乱。当得知公司的交易系统向纽交所发出了超乎寻常数量的交易订单之后,公司的高层管理人员就如同过江之鲫似的赶到公司的交易厅,但是公司的总裁却由于前一天膝盖开刀而并不在其中。直到10:00点钟,纽交所开市交易之后过了30多分钟,在骑士资本集团和纽交所的共同努力之下才停止了骑士资本集团的交易系统向纽交所发送任何的交易订单。

骑士资本的总裁汤姆斯·杰伊斯(ThomasJoyce)在中午时分才著着拐杖赶到交易大厅,并在交易大厅呆了10多分钟,直到确认事件已经平息,且不再出现新的损失才离开。

从市场的反映方面看,当骑士资本集团的交易平台开始向纽交所发出错误的交易订单之后,一些股票开盘后突然出现离奇的涨幅和跌幅。例如,奇才软件公司(WizzardSoftware Corp)的股票从昨天的收盘价 3.50 14.76美元的价位,知名的阿伯克龙比和菲奇服装公司的股票在几分钟之内便攀升了9%,从之前的 33.80 36.84。另一家著名的哈雷戴维森摩托公司的股票突然掉了12%,从 43.23m 37.84美元。

当天收市之后纽交所宣布,查验了140只受到事件影响的非正常股票交易,时间段从9:30到10:15分共45分钟,最终决定仅取消6只股票的交易。取消交易意味着这6只股票当天的所有成交撮合全都是无效交易,不会再进入清算体现。虽然这六家公司的市值和股票交易的规模都不是很大,纽交所还是宣布不接受任何形式的申述。

被撤销交易的6家上市公司分别是:

奇才软件公司(WizzardSoftware Corp., NYSE:WZE)

中国脐带血库(China CordBlood Corp., NYSE:CO)

里夫斯公用收益基金(ReavesUnility Income Fund, NYSE:UTG)

E-住房控股公司(E-House(China) Holdings, NYSE:EJ)

美国摄影制图公司(AmericanReprographics Company, NYSE:ARC)

快银资源公司(QuicksilverResources, NYSE:KWK)。

骑士资本在交易事件之后立刻向美国证监会提出申述,要求取消更多的错误交易,最终没能获得成功。

根据事后的报道,骑士资本集团交易系统的错误是由一个新安装的软件模块所引发,对现有交易系统平台升级的原因是为了配合纽交所为指定做市商的交易系统所做的升级。

骑士资本自查的结果归结到一个软件的模块。这是一个已经被废弃不用了很长时间的软件模块,但是始终存在于交易系统之中没被删除掉。通常,这样的废弃模块在软件行业中被称为“死”模块。骑士资本的技术人员在为系统升级时本应该用新的软件模块替换“死”模块,但是阴错阳差的没有更换。8月1日早上交易系统开始运行的时候,在某一特定条件下触发计算机执行了这个 “死”软件模块,导致了事件的发生。

很显然,这是一起由计算机引发的差错,但是根源却在于编写软件和维护计算机系统的人,是一起人为的严重交易事故。

根据美国证监会公布的调查结果表明,骑士资本的交易交易系统当时共收到了由零售客户发出的212笔小交易订单,交易系统应该执行的是把这212笔交易订单发送到纽交所去成交。然而,骑士资本出了错的交易系统却在不到45分钟的时间里用高频率发送了几百万笔交易订单,致使纽交所在这段时间里成交了超过400万笔的交易订单,平均每秒钟的成交超过了1500笔,涉及的股票代码达到了154个。

就在这短短的45分钟的时间里,骑士资本的交易系统的总交易量就达到了 66.5亿3.97亿80 35亿美元,融券做空了74只股票,价值约 31.5亿 4.6亿美元。

骑士资本的发言人在事件的第二天就声称出错的软件已经被替换,并声明事件并没有对公司的客户和业务产生负面的影响。

然而,这一事件所产生的后果却远离了这位发言人乐观的估计。虽然只是计算机软件中出现的一个小小的错误,但是对骑士资本业务的打击却是巨大的。随着时间的推移,事件对骑士资本的损害和影响便逐渐的显现出来。

02

2无法承受的代价

事发之后,骑士资本面临的首要问题是如何稳定庞大的客户群体对公司业务的信心。要看清楚这一问题,首先让我们了解骑士资本的业务范围、市场规模、服务的项目和客户状况。

骑士资本业务简介

成立于1995年的骑士资本是华尔街上名声显赫的重量级证券公司,被行业称之为市场的支柱公司之一,并以其稳健的行业风格和专业的服务领域而著名。不但规模庞大,吸引了许多重量级的客户,而且业务范围遍及美国、欧洲和亚洲。其市场的交易份额占到纽交所交易总量的17.3%,纳斯达克证券市场(Nasdaq Stock market,简称纳斯达克)的16.9%,自2011年到2012年间的日交易总量达到全美金融证券市场的10%。服务的客户对象既包括了买方客户,也包括了卖方客户,同时还有大量的零售客户。涉及的金融产品涵盖了全球金融市场的股票、固定收益产品、外汇,期货和期权等。除了为客户提供全方位的经纪业务服务之外,还通过公司的交易平台为客户提供高频交易服务。

骑士资本主要的业务涉及三大块,即做市商业务、电子交易执行服务业务、以及机构销售和交易业务。

做市商业务是骑士资本最大、也是最重要的业务,范围涉及全球的金融市场,涵盖的产品几乎包括了所有的资产类型。除了美国证券市场的电子做市商业务之外,还包括现金做市商业务、纽交所的指定做市商业务,欧洲市场的股票做市商业务,美国市场的股指期货做市商业务等。骑士资本是纽交所和纽交所市场交易所(New York Stock Exchange Market,简称NYSE MKT)前生是美国证券交易所 )最大的做市商业务公司,所涉及的股票数量达到了675只,年交易量近$200亿美元。

纽交所交易大厅中正在执行指定做市商业务的骑士资本的员工

电子交易服务业务属于典型的经纪商业务之一。通过一系列自主开发的电子交易产品,骑士资本搭建了一个高频交易平台,为客户提供高效和快速的市场信息和交易服务业务。骑士资本的电子做市商平台采用嵌入式量化模型驱动的电子交易平台,会根据市场的数据和相关信息向市场发送交易订单,帮助客户在高度分割的市场环境中高速高效的完成最终的交易业务。公司的电子交易服务业务所涉及的产品类型包括证券、期货、期权和外汇等。

机构销售和交易业务是典型的卖方市场业务,通过提供全方位的经纪业务服务以换取买方市场机构投资者的交易业务,在通过公司的高频交易平台完成客户的交易。骑士资本为客户提供的产品对象包括全球的股票、债权、ETF、股指和期货、外汇、借贷资本市场、资产证券化、和资产管理,等等。主要对象机构客户为开放式基金、保险公司、养老基金、慈善机构,等等。

骑士资本的交易系统可以交易美国证券市场上的19000多只证券产品,并与100多个交易所、电子交易中心、暗池和其他做市商的交易中心相连接。除此之外,骑士资本还是美国证券市场上最大的流动性提供商之一。

一些在美国证券市场上著名和重量级的证券公司都是骑士资本的客户,通过骑士资本的电子交易平台向交易所和其他交易中心发送交易订单。一些重要的经纪业务客户包括卖方市场上著名的网上折扣经纪公司E-Trade证券经纪公司(简称ET证券)、TD Ameritrade证券经纪公司(简称TDA证券)和史考特证券经纪公司(Scottrade,简称S证券证券),在买方市场上的巨无霸公司先锋基金和富达基金,等等。其中,TDA证券是美国最大的网上经纪商公司,客户账户的数量接近600万,拥有的客户资产达到 5000亿 2万亿美元。富达基金更是美国最大的共同基金管理公司,根据2013年2月28日的评估结果,总共管理超过500只不同类型的基金和近$6万亿美元的资产。

骑士资本的高频交易平台可以把来自于不同机构客户和零售客户的交易订单组合起来,形成一个巨大的撮合池。当市场的流动性不够充分的时候,其做市商业务还必须投放公司的自有资金进入市场,为市场提供需要的流动性。这也是为什么骑士资本的做市业务需要大量流动资金支撑的原因。

面临的破产风险

源于IT系统的错误导致了骑士资本 4.6亿 4.6亿美元。

基于美国证券市场上T+3的清算机制,骑士资本应该在交易的第三天与清算机构完成清算和交割业务。由于交易事件发生的8月1日是星期三,T+3的清算和交割日应该是8月4日星期六。因此,最后的交款日期自动顺延至下周一,即8月6日。

由于多了一个周末,原本三天的清算和交割期变成了五天,这就给了骑士资本很大的运作空间。但是骑士资本所面临的退市风险依然很高,因为美国的证券市场不讲任何情面,要么交款,交不出就必须清盘。如果骑士资本在清算交割日违约,即无法补齐应缴的交易款,所面临的就是宣布破产。

虽然骑士资本可以申请动用破产法的第11章保护公司的业务和延期还贷,但是申请破产保护之后公司的业务规模将无可避免的被迫缩减,并必将导致客户的流失。

如果宣布破产,对骑士资本的市场信誉和客户信心的打击将主要体现在两个方面。首先是在纽交所的做市商业务将受到极大的打击。原因有二,一是上市公司将无法放心的把股票交付给一家破产的公司经营,二是流动资金的短缺必将影响到需要庞大流动资金做支撑的做市商业务。

其次,由于业务的萎缩,那些体量庞大的机构客户会选择把交易订单转移给竞争对手,不但会严重影响到骑士资本卖方市场的业务量,而且会传导至公司的做市商业务,影响到向纽交所输送的市场流动性。

如果所有的这些都会发生,或是部分发生,骑士资本也许不得不被迫拍卖其在纽交所的指定做市商席位,以减少对现金流的需求。或是选择出售部分经纪业务,换取急需的流动资金。

事实上在接下来的几天里,原本在美国证券市场上如日中天的骑士资本的经营状况立刻掉头南下,竟然面临资金枯竭,股价崩盘和业务难以为继的局面。

根据华人街的知情人士透露,拐着腿的骑士资本CEO在事件的当晚睡在了办公室的沙发上。第二天公司十多个高层主管基本上就是电话不离手,不断的与客户进行沟通和安抚,同时积极寻找能够维持公司继续正常运行的资金。

8月2日,骑士资本向市场发出了一个简短的公告,说明公司正在寻找战略和资金方面的备选方案。

美国证券市场的自律监管机构FINRA(FianacialIndustry Regulatory Authority)的发言人说,Finra已经在事件发生之后的第一时间派出人员进入了骑士资本的总部,与政府监管部门的人员共同展开了对事件真相的调查,并且将紧密地监控骑士资本的资金运行状况。FINRA发言人还声称,到8月2日下午,骑士资本的资金的状况满足合规的需求。而在此时,骑士资本必须面对的$4.6亿美元的清算和交割期还没有到来。

自2008年进入衰退期以来,美国的金融市场已经听到了太多关于证券公司的负面新闻,看到了太多证券公司的清盘和倒闭。这次,骑士资本能够渡过难关,能够获救吗

03

崩盘的股价

骑士资本的交易系统平台错误所引发的担心很快就传导到来自于客户的市场流动性,一些主要的客户在事发当天就转移了交易订单。事件后第二天8月2日,骑士资本重量级的客户TDA证券、先锋基金和富国基金同时宣布已经停止向骑士资本发送交易订单。

与此同时,骑士资本竟然也要求一些客户停止向自己发送交易订单。这事引起了市场的疑惑,因为交易订单意味着流动性,而流动性就代表着业务量和现金流。为什么面临经验困境的的骑士资本要自断生路?

当事实真相被披露之后人们才发现,骑士资本被要求为每一笔交易承担更多的保证金,因此,接收的交易订单越多,需要的保证金就越多。此时骑士资本的资金已然是捉襟见肘,只能够把现金流保持在维持正常业务的最低水平。

根据路透社的报道,苹果公司的股票是市场上交易量最大的股票之一,骑士资本一直占据着苹果公司20%的市场交易量,但是到了周五,也就是事发之后第三天8月3日的中午,骑士资本的做市业务只报告了2%的市场交易量。

从骑士资本网站披露的月交易统计信息中可以看出,到2012年7月12日公布的前7个月的月平均交易额为 211.23亿812 124.73亿美元,下降的幅度达到了41%。

自从证券交易的最小价差降到1美分之后,美国证券市场上流动性,即交易订单的流量就是王,高频交易模式所基于的逐利本源就是海量的流动性。如果算上8月1日,到8月11日也只有7个交易日。完全可以这样说,骑士资本在这7个交易日内流失了惊人的客户订单量。

骑士资本业务的三大支柱中的任何一个都离不开市场的流动性。作为纽交所的指定做市商,最重要的业务功能之一就是要向纽交所输送所需要的流动性。为骑士资本的做市商业务提供流动性的是她的卖方业务。作为卖方业务的电子交易服务业务及机构销售和交易业务这两大支柱业务都需要通过向客户提供与交易相关的服务换取来自于客户的交易订单,即流动性。而卖方服务业务中最重要的交易系统平台出现了差错,失去了信心的大型机构客户开始转移旗下的交易订单。如此,失去了客户交易订单的卖方业务也就无法有效的向做市商业务输送需要的流动性。

交易事件引起的连锁反映立刻在骑士资本的股票价格上得以体现,图9-3显示了骑士资本交易系统出错之后2天的股票价格走势。从图中可以看出,其股票价格从8月1日的开盘价格 10.3382 2.58美元,2天之内的降幅竟然高达令人震颤的63%。

当时华尔街的分析家普遍认为骑士资本的现状很难再熬过3个交易日。一家私募对冲基金的CEO,戴维(David Simon)如是说,“如果在48小时到72小时之内无法获得投资者,我想骑士资本将面临生存的麻烦。”骑士资本的交易系统平台错误所引发的担心很快就传导到来自于客户的市场流动性,一些主要的客户在事发当天就转移了交易订单。事件后第二天8月2日,骑士资本重量级的客户TDA证券、先锋基金和富国基金同时宣布已经停止向骑士资本发送交易订单。

与此同时,骑士资本竟然也要求一些客户停止向自己发送交易订单。这事引起了市场的疑惑,因为交易订单意味着流动性,而流动性就代表着业务量和现金流。为什么面临经验困境的的骑士资本要自断生路?

当事实真相被披露之后人们才发现,骑士资本被要求为每一笔交易承担更多的保证金,因此,接收的交易订单越多,需要的保证金就越多。此时骑士资本的资金已然是捉襟见肘,只能够把现金流保持在维持正常业务的最低水平。

根据路透社的报道,苹果公司的股票是市场上交易量最大的股票之一,骑士资本一直占据着苹果公司20%的市场交易量,但是到了周五,也就是事发之后第三天8月3日的中午,骑士资本的做市业务只报告了2%的市场交易量。

从骑士资本网站披露的月交易统计信息中可以看出,到2012年7月12日公布的前7个月的月平均交易额为 211.23亿812 124.73亿美元,下降的幅度达到了41%。

自从证券交易的最小价差降到1美分之后,美国证券市场上流动性,即交易订单的流量就是王,高频交易模式所基于的逐利本源就是海量的流动性。如果算上8月1日,到8月11日也只有7个交易日。完全可以这样说,骑士资本在这7个交易日内流失了惊人的客户订单量。

骑士资本业务的三大支柱中的任何一个都离不开市场的流动性。作为纽交所的指定做市商,最重要的业务功能之一就是要向纽交所输送所需要的流动性。为骑士资本的做市商业务提供流动性的是她的卖方业务。作为卖方业务的电子交易服务业务及机构销售和交易业务这两大支柱业务都需要通过向客户提供与交易相关的服务换取来自于客户的交易订单,即流动性。而卖方服务业务中最重要的交易系统平台出现了差错,失去了信心的大型机构客户开始转移旗下的交易订单。如此,失去了客户交易订单的卖方业务也就无法有效的向做市商业务输送需要的流动性。

交易事件引起的连锁反映立刻在骑士资本的股票价格上得以体现,图9-3显示了骑士资本交易系统出错之后2天的股票价格走势。从图中可以看出,其股票价格从8月1日的开盘价格 10.3382 2.58美元,2天之内的降幅竟然高达令人震颤的63%。

当时华尔街的分析家普遍认为骑士资本的现状很难再熬过3个交易日。一家私募对冲基金的CEO,戴维(David Simon)如是说,“如果在48小时到72小时之内无法获得投资者,我想骑士资本将面临生存的麻烦。”

04

接踵而至的破产阴霾与抗争

面临快速流失的客户订单,崩盘的股票价格,现金流的压力,所有的这一切都指向骑士资本在经历了IT系统错误之后出现了严重的失血,经营陷入了十分窘迫的境地。

华尔街援助之手

华尔街这次向骑士资本伸出了援助的手。

如果骑士资本最终不幸倒闭,对美国的证券市场将产生巨大的影响。从骑士资本网站公布的统计信息中可以看出,骑士资本在美国证券市场享有举足轻重的市场地位。2012年其做市业务的交易总量在纽交所和纳斯达克的排名都是第一,在所有美国证券市场上市的股票和ETF的交易中排名第二,在美国OTC市场上股票交易的排名也是第一。

对骑士资本来讲既是最大也是最重要的客户TD Ameritrade证券经纪公司而言,如果骑士资本倒闭,对其业务所产生的影响将会是灾难性的。

基于庞大的客户群体,TDA证券每个交易日都会向市场提供巨大的流动性,而且所有的客户订单都会通过骑士资本的交易平台转发到各个交易所和交易中心。除此之外,TDA证券的其他业务也都基本上依附在骑士资本提供的业务平台之上。例如,客户期货和外汇交易的清算和交割,所有的债券交易等。如果骑士资本轰然倒下,带给TDA证券的麻烦自是不言而喻。比较现实的讲,TDA证券就像带上了刻有骑士资本名字的手铐一样被捆绑在了骑士资本的战车上。

公司总部位于华尔街金融区的施蒂费尔·尼古拉斯金融集团(Stifel Nicolaus Financial Group,简称尼古拉斯金融)的总裁理查德(Richard Handler)在8月1日首先表示愿意向仍然处于混乱之中的骑士资本伸出援助之手。另一家知名的高频交易业务公司和纽交所指定做市商公司的古董金融股份有限责任公司(Virtu Financial LLC,简称古董资本)也传出与骑士资本谈判的消息。

也就是在同一天,高盛集团同意以折扣价收购让骑士资本无法接受的部分持仓。之后还有多家潜在投资者表示了对骑士资本的兴趣,其中包括一些私募股权基金和投资银行。还有一些投资者只对部分业务感兴趣,例如一些网上外汇交易公司看上了骑士资本的外汇交易部门。

根据美国新闻网的消息,向骑士资本伸出援助之手的投资问询总数在90起左右。华尔街所表示出的巨大热情大大超出了骑士资本的预料。

分析家认为骑士集团之所以能够获得如此待遇,主要有以下几点:

一是因为其业务的基本面没有出现问题,客户流失将只是短暂的现象

二是因为其在市场的地位和业务前景始终被看好

三是因为所面临的现金流问题应该是短期和可控的

四是因为事件是孤立的,对整体的市场基本没有形成影响

最后,也是最重要的。维持一个正常和稳定运转的骑士资本对一些伸出援助之手的华尔街公司十分关键,因为这些公司使用骑士资本作为交易订单的中转站,已经把大量的业务交付给骑士资本。

市场普遍认为除了看到的损失之外骑士资本还将承受更多隐性的债务。例如,美国证监会正在调查骑士资本是否违反2011年实施的“市场使用条例”。条例的目的就是为了保护市场,特别是防止那些使用流氓算法的计算机交易程序,并要求证券公司在做高频交易时特别要加强对交易风险的防范和控制,以防止错误的交易订单越过事先设定的信用或是资本阀值。如果违规坐实,骑士资本将被处罚未知数量的罚款。如果被裁定必须对企业内部的管理、风险控制和计算机系统进行整改,未知的管理成本或将会更加的巨大。

虽然这些潜在的未知因素影响到不少投资者的决策,但最终仍然有6家投资机构联手向骑士资本抛出了救命的绳索,以可转换优先股的形式注入 $4亿美元的资金。这6家骑士资本的新投资者分别是:

TDA证券、黑石集团(Blackstone Group)、GETCO、尼古拉斯金融、杰弗里斯投资银行集团(Jefferies Group)、斯蒂芬斯证券公司(Stephens Inc.)。

其中,杰弗里斯投资银行集团买去了$1.25亿美元、超过三成的份额。根据路透社的披露,黑石集团曾经非常积极地尝试收购骑士资本的全部股份,但是却被以尼古拉斯金融为首的投资联合体告知,要么加入,要么走人。

骑士资本在8月6日星期一,即法定的清算交割日早晨宣布,接受总金额高达$4亿美元的救助,同时还在向美国证监会递交的公告文件中说明了可转换优先股的总数为2.67亿股,将占变更后股本的73%。很显然,在这次交易之后损失最为惨重的是骑士资本原有股东。然而,维持骑士资本正常经营所需要的资金压力得到了缓解,并暂时避免了客户对其业务前景不确定性的疑虑。

华尔街的分析家是这样评论的,骑士资本又可以活着看见另一天早上的太阳了。

同日,骑士资本通知客户,可以正常地向公司发送交易订单,所有的业务恢复常态。TDA证券和史考特证券也宣布将重新把交易订单交给骑士资本执行。而其他的重要客户如先锋基金和富达基金并没有表态急于恢复与骑士资本的业务。

为了防止骑士资本股权交易过程中出现不测风险,纽交所在8月6日开市之前宣布暂停骑士资本的指定做市商资格,并把600多只由骑士资本负责做市的股票转到另一家拥有数量颇多的指定做市商席位的公司GETCO名下。一周之后,关于骑士资本的股权交易顺利完成,纽交所也随之在8月13日开市交易之前把转出的股票转回到了骑士资本的名下。

“这次软件的错误是架构方面的问题,”根据彭博咨询电视的消息披露,“这一事件与我们的量化模型和做市业务模型毫无关联,而且是独立且有别于交易业务的。” 骑士资本CEO汤姆斯在获得救助资金之后如此说,“我们做错了一件事,但付出了惊人的代价。”

一个计算机软件的错误很容易就可以改正过来,骑士资本在8月2日就宣布错误的软件就已经被正确的软件所覆盖,但是在市场上形成的冲击波却经久不息。

骑士资本很幸运,能够在短时间内就获得 4亿 4亿美元的援助资金根本就无法阻止骑士资本滑向破产的黑洞。

最佳的结局

2012年11月23日,市场上传出消息称骑士集团正在寻找买家。据知情人士披露,骑士资本与潜在的收购对象的谈判自挽救骑士的行动完成之后就已经开始了,骑士资本有可能会被肢解,或是申请破产保护。

2012年12月19日星期三骑士资本宣布,其最大的市场竞争者GETCO证券将按照前一天的市场收盘价13%的溢价价格收购公司的股票。2012年12月18日星期二,骑士资本股票的收盘价为 3.33GETCO 3.75美元,收购项目的总价值约为$18亿美元。

根据FT交易室(FT Trading Room)网站的透露,有两家公司参与竞价,都是涉及高频交易的公司,同时也是骑士资本的市场竞争者。一家是已经在$4 亿美元的前期挽救资金中拥有15%份额的GETCO,另一家是开始就参与并购谈判的古董金融。

这两家知名的高频交易公司有着相近的业务模式。GETCO是除骑士资本之外纽交所的第二大做市商业务公司,获得骑士资本的制定做市商席位之后将成为纽交所最大的做市商业务公司。古董金融在2011年收购了科汉资本集团有限责任公司(Cohan Capital Group LLC,简称科汉资本)的做市业务,成为了纽交所MKT的指定做市商公司。很显然,古董金融有强烈的愿望和动力把做市商业务延伸到纽交所的交易大厅里去,而资金实力十分强大的银色湖泊合伙人私募公司是古董金融背后的支持者。

这两家高频交易对并购骑士资本的争夺都势在必得。然而,为什么会有两家高频交易公司不约而同的对骑士资本发生了兴趣?

分析家认为,经过高速发展期的高频交易业务在进入了二十一世纪的第二个十年之后增长速度放缓,一些有远见和实力的高频交易公司开始考虑扩充业务的范围,骑士资本巨大的卖方业务市场才是吸引两家高频交易公司眼球的重要因素。

根据一家叫做罗森布拉特证券公司(Rosenblatt Securities)的统计,高频交易的发展在2008到2011年间达到了顶峰,约占到全美交易市场2/3的交易量。到了2012年,高频交易只占到市场交易量的60%左右。高频交易在2009年全年的盈利为 50亿2012 10亿美元。相比较,JP摩根大通银行的在2013年头一季度的盈利都比高频交易在2012全年的利润高上6倍。

骑士资本高层管理对两家公司提出的并购方案进行了激烈的讨论,最终GETCO提供的方案胜出。除了复杂的股票交换和现金交易之外,GETCO同意成立控股公司,仍然保持骑士资本和GETCO分开独立经营的模式。而且,GETCO同意由现任骑士公司首席执行官汤姆斯·杰伊斯担任新公司的执行主席(executive president),新公司的首席执行官则由现任GETCO的首席执行官担任。

GETCO公司的首席执行官丹尼尔·科尔曼(Daniel Coleman)在与FT交易室的访谈中透露,骑士资本在谈判中坚持了自己的立场,谈判的过程十分艰难。丹尼尔如是说,“从全球战略的角度上讲,这一方案维护了骑士资本在过去的发展历程中所坚持的价值观,新公司还将会成为市场上最大的流动性提供商和最大的做市商业务公司。”

骑士资本的CEO汤姆斯告诉CNBC时强调说,对骑士资本而言与GETCO合并是最佳的方案。在经历了毁灭性的事件之后,已经没有任何其他的方式能够把公司从破产的边缘上拉回来。

2013年7月1日,骑士资本和GETCO同时宣布两家公司已经完成了合并,新控股公司的名称是KCG控股公司。完成收购之后,骑士资本和GETCO公司成为了KCG控股公司的子公司,并各自保持独立运行的模式。

2013年7月5日,KCG控股公司的股票在纽交所开市交易,代码为KCG,开盘价为 12.14 11.16美元。KCG旗下GETCO和骑士资本的指定做市商将共同为纽交所和纽交所MKT上市的1551只股票做市。KCG也因此而成为纽交所最大的指定做市商公司。

同日,汤姆斯·杰伊斯,这位把骑士资本从破产边缘拯救出来的CEO宣布辞职。

05

被唤醒的IT魔鬼

高速发展的高频交易市场引起了美国监管部门的警觉和担忧。美国证监会于2010年11月3日颁布了全名为“针对经纪人和经销商关于市场交易的风险管理控制 ( Riskmanagement controls for brokers and dealers with market access)”条例,简称市场交易条例,或条例15c3-5,并于2011年11月30日正式生效。该条例现在已经被编入了美国的《证券交易法》。

“市场交易条例”特别提出、并要求高频交易商在开发高频交易软件的时候特别需要注意那些被废弃或不再使用的功能模块,防止其被错误的使用,并要求高频交易公司删除那些被废弃不用的功能模块和代码。而骑士资本的高频软件的错误恰恰就是源于一个被废弃不用的软件模块。让我们来看看骑士资本的计算机系统的错误到底出在了哪里。

2012年7月底的那个周末,当骑士资本的那位计算机系统管理人员离开数据中心的时候,当他遗漏了对第八台服务器的SMARS软件系统进行升级的时候,就为骑士资本埋下了必将破产的种子。

事件的起因是骑士资本需要对公司交易系统平台进行升级而引发的。升级的原因是为了让零售客户能够参与纽交所于2012年8月1日上线运行的新交易功能,名称是客户流动性应用系统(Retail Liquidity Program,简称RLP)。为此骑士资本的技术人员对交易系统平台中包括SMARS在内的软件应用系统进行了开发和修改。

SMARS应用软件是骑士资本自主开发的一款智能型的高频交易软件系统,是骑士资本交易系统通向市场的大门,其重要性不言而喻。骑士资本所有的交易订单、自营的或是来自于客户,都会在投放市场前首先发送给SMARS系统,再由SMARS投放到证券市场。

由于身处多层次和条块分割的美国证券交易市场,骑士资本所面对的市场交易环境十分复杂,需要连接的交易所和其他交易中心就多达100多家,可交易的证券产品甚至达到了1万多只。从公司的层面上讲,骑士资本需要一款专门面对市场的交易系统,一方面能够不间断地收集市场信息,另一方面还可以通过自带的复杂算法策略对这些信息进行高速的处理,同时还能够用最快的速度把客户交易订单送到最适合的交易所或是交易中心去交易。SMARS就是为此而生的一款高频交易系统。

骑士资本从一些机构客户哪里获得的交易订单的资金数额十分巨大,牵涉到买卖股票的数量也很大,SMARS系统中自带的算法策略可以根据市场信息把一个大交易订单分成若干或是许多小交易订单,再根据市场的实际的状况把分割之后的子交易订单以最快的速度分发到适合交易的交易所和其他交易中心去成交。由于每天担负着全美证券市场上10%交易量,可想而知SMARS不但是一款十分繁忙的交易系统,而且还容不得任何的错误或闪失。

由于担负着分割大额交易订单的任务,SMARS在执行分单的过程中还需要做一个检验功能,即需要累计每个子交易订单的股票数量,当累计的股票数量达到原交易订单股票数量总值的时候就停止再向市场投放子订单。分单和检验这两个功能原来是由SMARS中一个叫做Power Peg的软件模块执行的。2003年之后Power Peg模块被弃用,到了2005年其中的检验功能被后来的软件开发人员从Power Peg模块中删除,并移植到其他的软件模块中继续使用。

按照软件开发流程的常规处理习惯,骑士资本的软件技术人员应该在第一时间就应该将被废弃的Power Peg模块从SMARS系统中删除。即使第一次没有删除,在2005年对 Power Peg进行了部分功能简化之后更是应该立即删除。不幸的是,Power Peg模块失去了两次被删除的机会,被骑士资本的软件开发人员封装在SMARS系统中沉睡了10年,从未被唤醒过。

当Power Peg软件模块中检验累计股票数量的功能被删除的那一刻开始,实际上就已经被埋下了魔鬼的种子。虽然成为了一个功能残缺的软件模块,但是Power Peg仍然保留了分发子交易订单的功能,如果有朝一日被唤醒,必然会酿成重大事故。最终,这一概率极小的事件还就发生了。

骑士资本的那位系统管理员自7月27日开始,在接下来的3天里应该对八台安装有旧SMARS软件系统的生产服务器进行更新。当他在周日离开数据中心的时候,这八台服务上的SMARS软件系统无论是从理论上还是从实践上讲都算是全部完成了需要的更新工作。问题是,这位粗心的系统管理员忘记更新第八台服务器上的SMARS软件,而未被更新的SMARS软件中就残留了沉睡的Power Peg软件模块。

为了匹配纽交所为零售客户提供的新RLP交易功能,骑士资本的软件工程师对SMARS软件系统进行了新一轮的开发,用新的软件代码完全取代了旧的Power Peg模块。因此,Power Peg模块也就算是正式的从SMARS交易系统中被删除了。

骑士资本的技术人员还在修改SMARS的过程中重新加进了一个标示,这个标示与之前使用Power Peg的标示完全相同。如果该标示在运行新的SMARS软件系统的过程中被设置成“是”,则被执行的将是与RLP相关的新软件模块。但是,由于第八台服务器上安装的是没有被更新的SMARS系统,当这一标识在运行中被设置成“是”时,被执行的却不是期望中的新RLP软件模块,而是功能残缺的Power Peg软件模块。换句话说就是,一个沉睡了近10年的魔鬼有了被重新唤醒的机会。

如果骑士资本的技术部门能够对这位系统管理人员的升级工作进行二次验证检查,或是安排两位技术人员执行如此重要的升级工作,应该可以发现或是避免如此简单的一个粗心错误。但是,骑士资本的技术部门在风险管理控制和合规监控的治理流程中并没有制定任何对系统管理人员的工作进行二次验证检查的规章和制度,也没有任何技术人员被临时赋予二次验证和检查这八台服务器的更新和升级工作。骑士资本把公司的命运完全压在了这位技术人员的经验、细心的程度和专业技巧上了。

而此时,打开潘多拉魔盒子盖子的条件已经具备,静静地等待着魔鬼的苏醒。也就是说,第八台服务器上没有更新的SMARS软件系统正静静的等待着即将到来的周一,即8月1日早上的股票交易业务。应该说,骑士资本的命运在2012年7月的最后一个周末就已经被决定了。

2013年8月1日早上9:30分,随着纽交所开市的钟声被敲响,骑士资本的高频交易软件系统SMARS中那个压抑着IT魔鬼的封盖被开启,市场又一次体验到了发怒的高频交易系统那狰狞可怕的面目。

06

美国证监会的处罚

2013年10月16日星期三,美国证监会发布公告称将按照“市场交易条例”对骑士资本2012年8月1日的交易违规事件罚款金额为$1200万美元。

美国证监会执行部门的付主管安德鲁(Andrew Ceresney)在谈到骑士资本交易事件时如是说,“市场交易条例”的目的就是保护市场,而违规的骑士资本把公司和市场同时置于了风险之下。

美国证监会执行部门的另一官员丹尼尔(Daniel Hawke)指出,交易商必须仔细检查交易系统中的每一个模块,并且问自己这样一个问题,如果这个模块出错会产生什么样的后果,以及如果真的出错,什么样的保护网可以用来减轻可能的伤害。丹尼尔说,骑士资本的失败是未曾向自己提出这样的问题,从而引发了灾难性的后果。

骑士资本的违规行为

美国证监会颁布“市场交易条例”针对市场的电子交易行为制定出了十分详细的风险管控和合规监督细则,管辖和规范对象是那些在美国的证券市场上与交易所和其他交易中心存在直接的通信连接,并有交易业务的会员公司,骑士资本就在其中。

美国证监会在处罚公告中列举了骑士资本大面积违规的事实,以及与条例15c3-5中相适应的处罚条款。

骑士资本的噩梦自2012年7月27日就开始了,直到8月1日早上9:30分开市之前,骑士资本没有人知道残缺的Power Peg软件模块依旧沉睡在交易系统的平台之中,也没有人发现了第八台服务器上的旧SMART应用软件没有被替换掉,直到9:30分纽交所开市的钟声响过。

很显然,骑士资本在对软件开发和管理的治理过程中缺失了对软件系统升级的验证和监控流程。在美国证监会开出的罚单中列指出骑士资本违反了条例15c3-5(b)中要求设立防范激活已经被废除的软件代码的技术治理控制流程和监督机制,以及条例15c3-5(b)和《证券法》17a-4(e)(7) 中规定的必须具备书面的风险管理控制和合规监控的要求,和对技术人员进行有效的技术合规方面的教育。

当骑士资本收到客户交易订单,八个交易服务器中的七个都能够按照要求激活了RLP功能模块。但是,第八台服务器上没有被置换的SMSRS系统中那个已经失去了检验累计股票数量功能的Power Peg软件模块,开始了用高频率、不间断的向纽交所发出巨量的子交易订单。

虽然向SMSRS系统发送交易订单其他订单执行系统已经收到了客户交易订单完成执行的信号,但是由于不存在把完成交易的信息反馈给SMARS的机制,因此也无法促使第八台服务器上的SMARS停止向市场发送新的子交易订单。

一个残缺和被废弃的旧软件模块Power Peg,令SMARS丧失了对累计交易金额阀值检验的功能,美国证监会指控骑士资本严重违反了条例15c3-5(c)(1)(i)中要求合理设置防止累计交易金额溢出资金阀值限额的机制,以及违反了条例15c3-5(c)(1)(ii)中要求需具备停止错误的交易订单发往市场的机制。

骑士资本违规的成本令人震惊的、。客户发出了总共212笔的交易订单, SMARS通过错误的软件模块却向市场发出了数百万笔的子交易订单,最后成交了超过400万笔的交易,涉及总共154只股票及3.97亿股股票,总成交金额高达 66.5亿 4.6亿美元,折合每一分钟失血的速度为$1022万美元的真金白银。

在那个令人惊心动魄的45分钟里,有75只股票的价格变化大于5%,市场成交量的20%来自于骑士资本。其中的37股票价格的波动超过了10%,市场成交量的50%来自于骑士资本,并引发了为市场设置的波动幅度达到10%的断路开关。这些股票价格的波动令一些客户未能够获得应该获得的成交价格,而另一些客户则获得了意想不到的好成交价格,严重的影响了正常的交易次序。

其实,幽灵Power Peg并不是完全没有露出蛛丝马迹,而被人为的忽视了。根据美国证监会的调查披露,骑士资本在开市之前就已经收到了与RLP相关的客户交易订单,SMARS系统在早上8:01分就已经开始处理这些订单。9:30分开始之前,公司内部有一批人收到了SMARS系统通过电邮的方式向相关人员发出邮件,显示了“Power Peg 被禁用了(Power Peg disabled)”的信息。由此可见,虽然骑士资本的技术人员当年没有删除被废弃的Power Peg软件模块,但是还是留下了禁用的告知信息。

根据美国证监会事后的调查发现,这些电邮是在软件代码执行失败之后实时发出的信息,总数达到了97个,但并没有以报警的形式出现。这些错误通知没有引起收到信息人员的警惕,以至于如此重要的风险线索被不同阶层的技术人员和管理人员全部忽略。骑士资本错过了纠正潜在交易风险的时机。

美国证监会也因此而认定骑士资本违反了条例15c3-5(e)(1),没有充分地检查与公司交易业务相关的风险管理控制和监督流程的有效性,以及确保相关的监督人员能够实时收取每笔交易完成之后的交易后合规报告。

美国证监会在调查中还发现骑士资本的CEO对2012年公司的风险管理控制和监督年报的背书存在缺陷。违反了条例15c3-5(e)(2)。

除此之外,美国证监会还发现骑士资本在2012年8月1日的融券做空交易中严重的违反了条例SHO中条例200(g)和200(b)制定的规定,没有遵守为防范融券做空时 的“裸卖空”法规,即没有在卖空之前确认是否存在真实的融券后才实施做空交易。

监管部门的整改建议

美国证监会在处罚公告中向骑士资本提出了以下的补救建议:

必须接受独立顾问对骑士资本软件开发生命周期的调查,以条例15c3-5为蓝本,重点检查风险管理的控制和合规监控流程,所需的费用将由骑士资本承担。

独立顾问必须在30天内完成所有的调查和报告工作。骑士资本必须完全配合独立顾问的调查,不得刁难和延误。

独立顾问在调查结束之后必须向监管部门和骑士资本提交独立的调查报告,报告必须包括建议骑士资本必须实施的整改内容。

骑士资本必须在报告提交30天内向证监会和独立顾问提交整改时间表,必须包括但是不限于调查报告中提出的整改建议,并在完成整改工作之后向证监会和独立顾问提交完成报告。

独立顾问必须以书面形式为骑士资本的整改工作报告背书,证明骑士资本已经完成了所有需要整改的工作。

独立顾问必须在其为骑士资本的整改工作背书之后的180天内,对骑士资本的整改工作进行监督性的检查,并向证监会和骑士资本提交最终版本的整改完成报告。

骑士资本不得擅自中止由证监会认可的独立顾问的调查工作和资格,同时必须向独立顾问支付合理的服务费用。

独立顾问在开始工作前,必须签署一个保证书,保证在2年之内不以任何方式和形式加入骑士资本,或是成为骑士资本的服务商或供应商,或是以任何方式存在业务联系。如果独立顾问是以公司的形式,则其现任或是前任的雇员、管理人员或是相关的业务公司和人员不得加入骑士资本,或是存在任何业务上的往来。

最后,当骑士资本完成所有的以上建议和整改工作之后,必须在60天内以书面报告的形式向证监会确认所有的工作都得到了到完全的落实。

收到美国证监会处罚之后,KCG控股公司发言索菲(Sophie Sohn)在同一天的发言中说,接受美国证监会对其在2012年8月1日的IT软件错误事件的处罚,同时很高兴这一事件得以终结,KCG控股公司保证会采用最高等级的风险管理和合规监控流程,并按照处罚的要求完成所有的整改工作。

扑克财经旗下品牌:最值得信任的大宗商品产业和金融服务业智库。跨界、深度、专注——汇聚业内最值得分享、最有信息浓度的知识。欢迎移步微信公众平台:puoketrader


http://www.ppmy.cn/news/743172.html

相关文章

人民币美元兑换程序python简单_纯代码实现人民币兑换美元

// // ViewController.m // 01-exchangeRate // // Created by 王军波 on 16/4/10. // Copyright © 2016年 王军波. All rights reserved. // #define kScreenW [UIScreen mainScreen].bounds.size.width #define kScreenH [UIScreen mainScreen].bounds.size.height …

程序员在 45 分钟里搞垮了一家上市公司,损失4.6 亿美元,真实事件!

【文章来源微信公众号:每天学编程】 如果有人告诉你,45 分钟就能搞垮一家大公司,你可能会觉得有点荒谬。但工程师 Doug Seven 却真的亲历过这样的事情。 8 年前,因为一次失败的部署,Knight Capital Group 在仅仅 45 …

怎么用计算机美元和人民币怎么换算,美金换算人民币计算器(人民币和美元换算)...

您可以登录我行主页,点击右侧“实时金融信息”下“外汇实时汇率”查看。(该页左侧可以点击外汇兑换计算器) 按1美元=6.6895元人民币 100.00 USD=611.460 CNY美元?中国人民币1 USD = 6.11460 CNY1 CNY = 0.163543 USD再次转换查看图表中间市场汇率: 2014-10-28 07:00 UTC 按当…

GitHub重大更新即将加入免费软件包管理服务;钉钉社区因出现违规内容将停更整改一个月;Uber上市,定价为45美元……...

关注并标星星CSDN云计算 极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快、更全了解泛云圈精彩news go go go 永安行共享电动汽车&…

45美金在Fiverr上能够找设计师做3个(海外风格)的LOGO

如果你是一个跨境电商独立站卖家,想要给自己的产品做一个品牌升级,那么设计一个有外国设计感风格的LOGO是非常重要的。 国内设计师做出来的LOGO往往少那么一些感觉,所以在fiverr上花费45美元找到海外专业设计师帮你做一个专业的LOGO。 看看…

2023年的无线蓝牙耳机哪些牌子好,真无线蓝牙耳机品牌排名

本文将为您详细介绍每款蓝牙耳机的设计特点、音质表现、续航能力和智能功能等关键信息。我们将提供客观、全面的分析,帮助您更好地了解每款产品的优势和适用场景;无论您是追求高保真音质的音乐发烧友,还是需要轻便舒适的耳机进行运动&#xf…

AIGC - Stable Diffusion 的 AWPortrait 1.1 模型与 Prompts 设置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131565908 AWPortrait 1.1 网址:https://www.liblibai.com/modelinfo/721fa2d298b262d7c08f0337ebfe58f8 介绍:AWPortrai…

为什么用户名为中文地平线四会闪退而英文不会

为什么用户名为中文地平线四会闪退而英文不会

地平线X3开发板 使用说明

烧写Linux镜像文件 通过SSH与serial连接开发板的工具别用SecureCRT,建议使用MobaXterm 1.网口登陆开发板 1.1 网线两端连接 开发板网口 和 PC网口 1.2 配置主机以太网 网络和Internet 设置→ 更改适配器选项→ 以太网→右键 属性→ 选中 Internet协议版本4(TCP…

地平线 旭日X3 PI (二) 开发机WSL Docker配置

link 文章目录 更新时间准备环境开发机配置参考 由于之前的是X3 SDB 也是2020年的版本,之前是ubuntu原生安装编译工具等,有需要的参考之前的文章😕 更新时间 最近更新: 2022-06-29 开发板:地平线 旭日 X3 PI 准备环境…

地平线有多远

地平线的远近和你的高度(自己的身高以及你站的位置)有关。如果你站在完全平坦的地方,你身高1.7米多一点(眼睛离地1.7米),则地平线在离你4628米处。 我告诉你算法。 假设地球是标准的球体,你站在…

地平线4卡在转圈界面_上海4日旅行攻略|吃住行玩 都是干货建议收藏

毕业以后和朋友们聚在一起的时间越来越少,小长假只希望能回家陪父母。上两周闺蜜突然说要来上海找我玩了几天,幸福的不得了,马上和领导请了2天年假,凑上周六日,正好四天。我在上海已经漂了三年,基本上经典的…

飞桨部署到地平线

现在还没有什么官贴~~ 我先贴俩个链接吧 以后在改 地平线论坛- 地平线开发者社区-机器人社区-地平线 1. b站出 飞桨模型在地平线开发板的部署_哔哩哔哩_bilibili 2.飞桨出(搬运一下 飞桨团长的-- 勿怪啊) 随着人工智能技术的发展,深度学…

【docker x3】配置地平线提供的docker开发环境

文章目录 1 需要的东西2 docker准备3 加载镜像4 操作容器5 启动进入容器6 验证容器中的内容 本文以horizon_xj3_open_explorer_v1.8.5_20211224开发包和docker_cpu_openexplorer_centos_7_v1.11.6.tar镜像包为例。 1 需要的东西 带有ubuntu18.04的电脑(学名:开发机…

微软 地平线5 无法加入线上模式处理办法

1.右键我的电脑--管理--服务--开启IP-helper 2.关闭Q盾!!! 2.进入Windows设置,进行xbox网络诊断 如果显示服务器连接已阻止,点击修复。如果修复后还是不行,就查看详细信息获取帮助(防火墙如果是…

卸载地平线5所有文件。本人亲测。

首先你要了解的是,你下载的游戏文件都会保存在windowsapps文件里面,但是删除这个文件我们需要获得权限。下面是讲如何删除这个文件。 1.winr,输入“C:\Program Files\WindowsApps” 2.在“WindowsApps属性”选项卡中,点选“安全…

地平线X3pi基于YOLOv5-5.0版本程序上板运行推理

地平线X3pi 基于YOLOv5-5.0版本进行模型转换 注意:首先确保本地环境支持YOLOv5能够正常运行。 1. 官方模型转换onnx模型(pt->onnx) 1.1、从官方网站github上下载5.0版本源码 链接直达 1.2、转换指令: python export.py -…

地平线Horizon模型转换和PC端仿真测试

特别说明:参考地平线的官方文档,如有侵权告知删,谢谢。 完整转换代码参见github。代码 1 工具链 地平线工具链支持使用Docker和手工安装两种方式,“地平线强烈建议使用 Docker 方式,以避免在安装过程中出现问题”。 …

地平线X3开发版初体验之Hello World

在某位大佬的知道下,开始进入嵌入式AI的坑。以此为背景,最近入手了一块地平线X3开发板,包括一块核心板、一个摄像头、一块充电器,若干连接线。 开发板开发需要交叉编译,为尽快上手,写一个Hello World熟悉一…

微软商店(Xbox APP)版 地平线4 无法连接到地平线生活的解决方案

问题描述 跟好友联机打地平线4真的很头疼,动不动就连不上,还不知道是什么问题。情况好的时候什么都不同挂就能连上,情况不好的时候挂什么加速器都不行。 解决方案 最后看到有人说可以用Xbox 控制台小帮手检测网络状态,于是我就…