高频交易巨头GETCO收购骑士资本Knight Capital,源于一次45分钟的线上事故

admin 2025-09-08 阅读:4 评论:0
骑士交易集团(Knight Trading Group),曾经是世界最大做市商之一,因为45分钟事故,被另一高频交易巨头Getco收购。 2012年,因为一次失败的部署,Knight Capital Group 在仅仅 45 分钟内就造成...

骑士交易集团(Knight Trading Group),曾经是世界最大做市商之一,因为45分钟事故,被另一高频交易巨头Getco收购。

2012年,因为一次失败的部署,Knight Capital Group 在仅仅 45 分钟内就造成了 4.6 亿美元的亏损。

最终,高频交易Getco公司花费18亿美元收购骑士资本(Knight Capital)

此次交易将创造出华尔街最大的美国电子交易和做市活动公司之一。

这是一个真实的故事。

尽管 Doug Seven 并不是事件的参与者,但他在后来的会议中不断提及 DevOps、代码配置和持续交付的主题,希望让开发人员意识到部署的重要性。

故事背景

这个故事的主角是一家名为 Knight Capital Group 的美国全球金融服务公司,它从事做市、电子执行、机构销售和交易。

2012 年,Knight 是美国最大的股票交易商,在纽约证交所和纳斯达克的市场份额约为 17%。Knight 电子交易集团(ETG)平均每日交易量超过 33 亿笔,每日交易额超过 210 亿美元。

种种数据表明,当时公司的运营和财务状况非常优秀。

2012 年 7 月 31 日,Knight 拥有约 3.65 亿美元的资产。

当时,纽约证交所正计划于 2012 年 8 月 1 日推出一项新的零售流动性计划。

为了准备这次活动,Knight 更新了他们的路由器 SMARS。这个路由器负责将订单发送到市场上执行。SMARS 的核心功能之一是接收 Knight 交易平台其他组件的订单(父订单),然后发送一个或多个子订单执行。换言之,SMARS 将从交易平台收到大量订单,并将它们分成多个较小的订单,以便找到股票数量相匹配的买家或者卖家。父订单越大,生成的子订单越多。

在 SMARS 中,有一段老旧的代码,名为「Power Peg」,它已经 8 年没被用到过了,而此次更新的目的正是要换掉这段代码。更新的代码重新调整了用于激活 Power Peg 功能的旧标志的功能。

代码经过了彻底的测试,并且还进行了一系列的验证。所有的一切都看起来很完美,找不到出错的理由。

死灰复燃的旧代码

2012 年 7 月 27 日至 2012 年 7 月 31 日期间,Knight 的开发人员每天手动将新的软件部署到公司的 8 台服务器上。这就是 SEC 文件中关于手动部署过程的内容。如果 SEC 文件中有关于部署的内容,那么就可能出现了严重的错误。

然而,在新代码的部署过程中,Knight 的一名技术人员忘记将新代码复制到所有 8 台 SMARS 计算机服务器中——他漏掉了其中一台服务器。

没有第二个技术人员来审查这个部署。

Knight 的所有人都没有意识到,Power Peg 代码并没有从第 8 个服务器上删除,也没有添加新的 RLP 代码。Knight 没有书面流程要求这样的审查。

2012 年 8 月 1 日,在美国东部时间上午 9:30,市场开盘。Knight 开始代表客户处理订单。

具有正确 SMARS 部署的 7 台服务器开始正确处理这些订单。然而,发送到第 8 台服务器的命令触发了可支持的重新利用标志,并从死地中恢复了旧的 Power Peg 代码。

杀手代码如僵尸般的攻击

Power Peg 代码用于在执行子订单时,根据父订单计算购买或者出售的股份。Power Peg 将指示系统在完成父订单后停止传送子订单。

也就是说,Power Peg 会跟踪子订单,并在父订单完成后停止它们。

2005 年,Knight 将这种累计跟踪功能移到了代码执行的早期阶段,从而从 Power Peg 中删除了计数跟踪。

当激活第 8 台服务器上的 Power Peg 标志时,Power Peg 功能开始路由子订单以供执行。但由于没有根据父订单跟踪共享量,造成了一个永无止境的循环。

地狱 45 分钟

想象一下,如果你有一个系统,它能够向市场发送自动化的、高速的订单,且没有任何跟踪程序来检查是否执行了足够的订单,会发生什么?没有比这更糟糕的事了。

上午 9:30 开市时,人们很快就知道出了问题。到上午 9 点 31 分,华尔街的许多人都清楚发生了一些严重的事情。市场上充斥着非正常交易量的股票订单。

到上午 9 点 32 分,华尔街的人们都在想,为什么订单还没有停下来,为什么没有人按下任何系统的关闭开关?结果他们发现,并没有关闭开关。在交易的前 45 分钟里,Knight 的交易量占了总交易量的 50% 以上,这使得某些股票的市值上涨了 10% 以上。因此,其他股票因错误的交易而贬值。

更糟糕的是,Knight 的系统在当天早些时候开始自动发送电子邮件。早在上午 8:01,SMAR 已经处理了符合上市前交易条件的订单。邮件消息引用 SMARS,并将错误识别为「Power Peg disabled」。

在上午 8:01 到 9:30 之间,Knight 工作人员也收到了 97 封邮件。可惜的是,这些电子邮件不是作为系统警报设计的,因此没有人立即查看它们。

在 Knight 经历的 45 分钟内,他们尝试了几种反制措施,试图阻止错误的交易。由于没有终止开关,所以他们只能在实时交易环境中尝试诊断问题。

每分钟,系统上约有 800 万股股票被交易。他们无法确定是什么导致了错误的命令,所以他们从正确部署的服务器上卸载了新代码。

换句话说,他们删除了工作代码,留下了损坏的代码。

这更加放大了问题。最开始,仅在部署不正确的服务器上,额外的父命令激活了 Power Peg 代码。现在,问题蔓延到了所有服务器上。最后,他们终于停止了系统,但此时已经进行了 45 分钟的交易。

在开盘的前 45 分钟,市场收到并处理了 212 份父订单。因此,SMARS 向市场发送了数以百万计的子订单,产生了 400 万笔交易,而其中 154 只股票的交易量超过了 3.97 亿股。这意味着,Knight 资本集团在 45 分钟内造成了 4.6 亿美元的亏损。

然而,Knight 只有 3.65 亿美元的资产。

45 分钟后,美国股市最大的交易商、纽约证交所和纳斯达克的主要做市商 Knight 破产,4 个月后被 Getco LLC 收购。

如今,GECTO已经是美国的顶级做市商,目前为美股提供超过20%的流动性,也就是说在美国市场中每十笔交易就有两笔是由GECTO提供。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

热门文章
  • BIAS指标解析:如何利用乖离率预测股价反转

    BIAS指标解析:如何利用乖离率预测股价反转
    乖离率(BIAS)是技术分析中一个重要的指标,用于衡量股价与其移动平均线之间的偏离程度。通过计算股价与均线的差值占均线的百分比,投资者可以判断当前股价是否处于超买或超卖状态。BIAS的计算公式为: BIAS = (当前股价 – 移动平均线) / 移动平均线 × 100% 当BIAS值大于10%时,通常认为股价处于超买状态,市场可能面临回调风险;而当BIAS值小于-10%时,则认为股价处于超卖状态,市场可能迎来反弹机会。 乖离率的基本原理 乖离率的核心思想是股价会围...
  • MACD指标解析:如何通过DIFF和DEA线捕捉市场趋势

    MACD指标解析:如何通过DIFF和DEA线捕捉市场趋势
    MACD(平滑异同移动平均线)是技术分析中常用的趋势跟踪指标,由DIFF线、DEA线和柱状线组成。它通过计算两条指数移动平均线(EMA)的差值,帮助投资者识别市场趋势的强弱和转折点。本文将深入解析MACD的构成、计算方法及其在捕捉趋势转折与背离信号中的应用。 MACD的构成与计算方法 MACD由三个主要部分组成:DIFF线、DEA线和柱状线。DIFF线是短期EMA(通常为12日)与长期EMA(通常为26日)的差值,反映了短期和长期趋势的差异。DEA线则是DIFF线的9...
  • CCI指标揭秘:如何利用CCI>100和CCI<-100捕捉买卖信号

    CCI指标揭秘:如何利用CCI>100和CCI<-100捕捉买卖信号
    顺势指标(Commodity Channel Index,简称CCI)是一种广泛应用于股票、期货和外汇市场的技术分析工具。它由唐纳德·兰伯特(Donald Lambert)于1980年提出,主要用于衡量价格相对于其统计平均值的偏离程度。CCI的核心思想是通过计算当前价格与历史平均价格的差异,来判断市场是否处于超买或超卖状态。 CCI的计算公式较为复杂,但其核心逻辑是通过比较当前价格与一定周期内的平均价格,来衡量价格的波动性。具体来说,CCI的计算公式为:CCI = (当...
  • 威廉指标突破80?别急,还需这些指标验证!

    威廉指标突破80?别急,还需这些指标验证!
    威廉指标(Williams %R,简称WMSR)是一种常用的技术分析工具,主要用于判断市场的超买和超卖状态。它由拉里·威廉姆斯(Larry Williams)在20世纪70年代提出,通过测量当前价格相对于一定周期内最高价和最低价的位置,来反映市场的短期动能。本文将深入探讨威廉指标的基本原理、如何利用它判断短期超买状态(80以上),以及为什么需要结合其他指标进行验证。 威廉指标的基本原理 威廉指标的计算公式为: WMSR = (最高价 – 收盘价) / (最高价 –...
  • 能量潮(OBV)揭秘:如何通过成交量预测股价趋势

    能量潮(OBV)揭秘:如何通过成交量预测股价趋势
    能量潮(On-Balance Volume,简称OBV)是一种技术分析工具,由乔·格兰维尔(Joe Granville)在1963年提出。OBV通过累计成交量的变化来预测股票价格趋势,是一种非常有效的量价分析工具。OBV的核心思想是成交量是价格变动的先行指标,成交量的变化可以预示价格的未来走势。 OBV的计算方法相对简单。当某一天的收盘价高于前一天的收盘价时,当天的成交量被加到前一天的OBV值上;当某一天的收盘价低于前一天的收盘价时,当天的成交量从前一天的OBV值中减去...