# 部署到 8 台伺服器中的 7 台，損失了 4.6 億美元。45 分鐘。

Published: 2026-09-11

美國東部時間 2012 年 8 月 1 日上午 9:30：騎士資本 (Knight Capital) 是美國股票交易約十分之一的做市商，剛剛將新的訂單路由代碼部署到其八台 SMARS 伺服器中的七台。第八台仍然運行著 2003 年退役的「Power Peg」代碼，位於新功能重複使用的旗標後面。在 45 分鐘內，它發送了永不停止的子訂單：400 萬次執行、3.97 億股、約 70 億美元的倉位，造成 4.6 億美元的損失。開盤前已收到 97 封警告電子郵件。事後分析，來自 SEC 自己的命令：無人審查的手動部署、具有兩種含義的旗標、2005 年移動但從未重新測試的停止計數器、不存在的終止開關，以及在實時市場中使情況惡化的「修復」。對修復的判決：REVERT。

Canonical: https://thedailydiff.dev/zh-TW/video/2026-09-11-knight-capital/

## 本影片重點

- 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 月：1200 萬美元 SEC 罰款，首例市場准入規則案件

## 翻譯文字稿

譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。

0:00 一家交易公司將新代碼部署到八台伺服器中的七台， 第八台在 四十五分鐘內買賣了近七十億美元的股票，這即使對星期三來說，也很多。 2012 年 8 月 1 日。 Knight Capital，佔美國所有 股票交易的十分之一，報告損失 4.4 億美元。 SEC 後來統計超過 4.6 億，罰款 Knight 一千兩百萬， 並自行撰寫事後報告：十頁，零形容詞。

0:25 它是如何發生的，為什麼可能，以及誰應該真正受到指責。 這裡是 The Daily Diff，事後報告。 7 月 27 日。紐約證券交易所將於 8 月 1 日啟動零售流動性計劃，因此 Knight 手動將新代碼複製到其訂單路由器 SMARS 上， 每天複製幾台伺服器。 一名技術人員，八台伺服器，七份副本。 沒有人檢查；沒有規定說任何人必須檢查。 上午 8:01。內部系統開始向員工發送一封錯誤電子郵件，內容是：Power

0:51 Peg 已禁用。開盤前共發送了九十七封電子郵件。 它們並非設計為警報，所以沒有人閱讀它們， 這是一個代價不菲的設計決策。 9:30，市場開盤。 七台伺服器運行新代碼。 第八台看到相同的旗標，卻運行 Power Peg：這是 Knight 在 2003 年退役但從未刪除的代碼。 它為 212 個客戶訂單發送子訂單，並且永不停止。

1:13 四百萬次執行。 三億九千七百萬股。 一個持有帳戶膨脹超過其兩百萬美元的限額， 而該帳戶沒有連接到任何東西。 工程師們在實時市場中，從七台正常的伺服器中卸載新代碼， 這導致 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。 Knight 從未撰寫自己的事後報告；監管機構在 十四個月後撰寫，而解決方案是罰款和合併。 星期一：新功能，新旗標；刪除死代碼， 而不是禁用；任何發送訂單的東西都有一個關閉開關。 在評論中，或在 the daily diff dot dev 上，向我發送您仍然不允許談論的事件。 在評論中，或在 the daily diff dot dev 上，向我發送您仍然不允許談論的事件。 這就是今天的差異。

2:48 我是 Axrisi 的 Niko。 負責任地合併。

## 來源

- [SEC Administrative Order, Release No. 34-70694 (Oct 16, 2013), In the Matter of Knight Capital Americas LLC](https://www.sec.gov/litigation/admin/2013/34-70694.pdf) — www.sec.gov
- [SEC press release 2013-222, "SEC Charges Knight Capital With Violations of Market Access Rule"](https://www.sec.gov/newsroom/press-releases/2013-222) — www.sec.gov
- [Knight Capital Group 8-K, Aug 2, 2012 (the $440M statement)](https://www.sec.gov/Archives/edgar/data/1060749/000119312512332176/d391111dex991.htm) — www.sec.gov
- [Knight Capital Group 8-K, Aug 6, 2012 (the $400M convertible preferred)](https://www.sec.gov/Archives/edgar/data/1060749/000119312512336167/d392288d8k.htm) — www.sec.gov
- [Knight / GETCO merger announcement, Dec 19, 2012](https://www.sec.gov/Archives/edgar/data/1060749/000089882212000673/ex991.htm) — www.sec.gov
- [NYT DealBook, "Knight Capital Says Trading Glitch Cost It $440 Million" (Aug 2, 2012)](https://archive.nytimes.com/dealbook.nytimes.com/2012/08/02/knight-capital-says-trading-mishap-cost-it-440-million/) — archive.nytimes.com
- [Hacker News, Aug 2, 2012 (73 points)](https://news.ycombinator.com/item?id=4329101) — news.ycombinator.com
- [Hacker News, "The $440M software error at Knight Capital" (294 points)](https://news.ycombinator.com/item?id=31239033) — news.ycombinator.com
