向8台服务器中的7台部署导致4.6亿美元损失。45分钟。
美国东部时间2012年8月1日上午9:30:骑士资本(Knight Capital),作为美国股票交易量约十分之一的市场做市商,刚刚向其八台SMARS服务器中的七台部署了新的订单路由代码。
美国东部时间2012年8月1日上午9:30:骑士资本(Knight Capital),作为美国股票交易量约十分之一的市场做市商,刚刚向其八台SMARS服务器中的七台部署了新的订单路由代码。第八台服务器仍然运行2003年退役的“Power Peg”代码,新功能重用了这个代码背后的标志。在45分钟内,它发送了永不停歇的子订单:400万次执行,3.97亿股,约70亿美元的头寸,造成4.6亿美元的损失。开盘前已经收到97封警告邮件。事后分析,根据美国证券交易委员会(SEC)的命令:未经审核的手动部署,具有双重含义的标志,2005年被移动且从未重新测试的停止计数器,不存在的紧急停止开关,以及在实时市场中使情况更糟的“修复”。关于修复的裁决:REVERT。
本视频涵盖的内容
- 2012年7月27日至31日:RLP代码手动复制到8台SMARS服务器中的7台;无第二位审核人,无书面程序
- 8月1日上午8:01:开盘前收到97封“Power Peg已禁用”电子邮件;未设计为警报,未被阅读
- 8月1日9:30–10:15:212个订单在154只股票中产生400万次执行;35亿美元做多,31.5亿美元做空;损失4.6亿美元;卸载新代码使情况更糟
- 8月2日至12月19日:股价下跌63%至2.58美元,以每股1.50美元获得4亿美元救助,与GETCO合并;2013年10月:SEC罚款1200万美元,首例市场准入规则案件
翻译的文字记录
译自英文原版旁白。可用音频和字幕由 YouTube 控制。
0:00 一家交易公司向八台服务器中的七台部署了新代码, 而第八台在 四十五分钟内买卖了近七十亿美元的股票,即使是周三,这也非常多。 2012年8月1日。 骑士资本,占美国 所有股票交易的十分之一,报告损失4.4亿美元。 美国证券交易委员会后来计算出超过4.6亿美元,罚款骑士1200万美元, 并亲自撰写了事后分析报告:十页,零形容词。
0:25 它是如何发生的,为什么会发生,以及谁应该真正承担责任。 这里是The Daily Diff,事后分析。 7月27日。纽约证券交易所于 8月1日启动零售流动性计划,因此骑士将其订单路由器SMARS的新代码 每天手动复制到几台服务器上。 一名技术员,八台服务器,七份复制。 没有人检查;没有规定说有人必须检查。 上午8:01。内部系统开始向员工发送一封错误邮件,内容为:Power
0:51 Peg已禁用。开盘前有97封邮件。 它们并非设计为警报,因此没有人阅读它们, 这是一个有代价的设计决策。 9:30,市场开盘。 七台服务器运行新代码。 第八台服务器看到相同的标志,但运行的是Power Peg:骑士在 2003年退役但从未删除的代码。 它为212个客户订单发送子订单,并且永不停止。
1:13 四百万次执行。 3.97亿股。 一个持有账户膨胀超过了其两百万美元的限制, 而这个限制没有连接到任何东西。 工程师在实时市场中,从七台正常的服务器上卸载了新代码, 这导致Power Peg在所有地方都启动了。 大约10:15它停止了:做多三十五亿美元, 做空三十一点五亿美元。
1:31 第一:Power Peg的停止条件,即表示父订单已 完成的计数器,在2005年被移动且从未重新测试,因此退役代码 永远循环。第二:新功能重用了Power Peg的旧标志, 因此在两台服务器上,相同的“是”表示两件事情。 第三:没有紧急停止开关。 没有任何东西比较订单出与订单入;没有任何东西能停止SMARS。 风险监控器是一个由人观看的屏幕;它不显示限制。 git blame:重用标志而不是新标志,死代码可被调用九
2:00 年,以及没有第二双眼睛检查的手动部署。 不是技术员的错。 SEC的命令从未提及他,我也不会。 影响范围:4.6亿美元,大约每分钟一千万美元。 股价下跌63%至2.58美元,以每股1.50美元获得4亿美元救助, 圣诞节前与Getco合并。 Hacker News,周四:它是如何在没有人干预的情况下运行45分钟的? 它没有。是人让情况变得更糟。
2:25 裁决,事后分析:REVERT。 骑士从未撰写自己的事后分析;监管机构做到了, 十四个月后,修复措施是罚款和合并。 周一:新功能,新标志;死代码被删除, 而不是禁用;任何发送订单的东西都会有一个关闭开关。 将你仍然不能谈论的事件发送给我, 在评论中,或者发送到thedailydiff.dev。 这就是今天的差异。
2:48 我是Axrisi的Niko。 负责任地合并。
来源
- SEC Administrative Order, Release No. 34-70694 (Oct 16, 2013), In the Matter of Knight Capital Americas LLCwww.sec.gov
- SEC press release 2013-222, "SEC Charges Knight Capital With Violations of Market Access Rule"www.sec.gov
- Knight Capital Group 8-K, Aug 2, 2012 (the $440M statement)www.sec.gov
- Knight Capital Group 8-K, Aug 6, 2012 (the $400M convertible preferred)www.sec.gov
- Knight / GETCO merger announcement, Dec 19, 2012www.sec.gov
- NYT DealBook, "Knight Capital Says Trading Glitch Cost It $440 Million" (Aug 2, 2012)archive.nytimes.com
- Hacker News, Aug 2, 2012 (73 points)news.ycombinator.com
- Hacker News, "The $440M software error at Knight Capital" (294 points)news.ycombinator.com



