การปรับใช้กับเซิร์ฟเวอร์ 7 ใน 8 เครื่องทำให้สูญเสีย 460 ล้านดอลลาร์ใน 45 นาที
1 สิงหาคม 2012, 9:30 น.
1 สิงหาคม 2012, 9:30 น. ET: Knight Capital ผู้ดูแลสภาพคล่องตลาดซึ่งอยู่เบื้องหลังการซื้อขายหุ้นทั้งหมดในสหรัฐฯ ประมาณหนึ่งในสิบ ได้ปรับใช้รหัสการกำหนดเส้นทางการสั่งซื้อใหม่กับเซิร์ฟเวอร์ SMARS เจ็ดในแปดเครื่องของตน เซิร์ฟเวอร์เครื่องที่แปดยังคงรัน "Power Peg" ซึ่งเป็นรหัสที่เลิกใช้แล้วในปี 2003 โดยอยู่เบื้องหลังแฟล็กเดียวกันที่ฟีเจอร์ใหม่นำกลับมาใช้ใหม่ เป็นเวลา 45 นาทีที่ส่งคำสั่งซื้อย่อยที่ไม่เคยหยุด: มีการดำเนินการ 4 ล้านรายการ, หุ้น 397 ล้านหุ้น, ประมาณ 7 พันล้านดอลลาร์ของตำแหน่ง, ขาดทุน 460 ล้านดอลลาร์ มีอีเมลเตือน 97 ฉบับมาถึงก่อนเปิดตลาด จากการวิเคราะห์หลังเกิดเหตุ จากคำสั่งของ ก.ล.ต. เอง: การปรับใช้ด้วยตนเองที่ไม่มีใครตรวจสอบ, แฟล็กที่มีสองความหมาย, ตัวนับการหยุดที่ย้ายในปี 2005 และไม่เคยทดสอบใหม่, สวิตช์ปิดที่ไม่มีอยู่จริง, และ "การแก้ไข" ในตลาดจริงที่ทำให้แย่ลง คำตัดสินเกี่ยวกับการแก้ไข: REVERT
อ่านฉบับลายลักษณ์อักษร (ภาษาอังกฤษ) ↗
วิดีโอนี้ครอบคลุมอะไรบ้าง
- 27-31 ก.ค. 2012: รหัส RLP ถูกคัดลอกด้วยมือไปยังเซิร์ฟเวอร์ SMARS 7 ใน 8 เครื่อง; ไม่มีผู้ตรวจสอบคนที่สอง, ไม่มีขั้นตอนเป็นลายลักษณ์อักษร
- 1 ส.ค., 8:01 น.: อีเมล "Power Peg disabled" 97 ฉบับก่อนเปิดตลาด; ไม่ได้ออกแบบให้เป็นการแจ้งเตือน, ไม่ได้อ่าน
- 1 ส.ค., 9:30–10:15 น.: คำสั่งซื้อ 212 รายการกลายเป็นการดำเนินการ 4 ล้านรายการในหุ้น 154 ตัว; ถือยาว 3.5 พันล้านดอลลาร์, ถือชอร์ต 3.15 พันล้านดอลลาร์; ขาดทุน 460 ล้านดอลลาร์; การถอนการติดตั้งรหัสใหม่ทำให้แย่ลง
- 2 ส.ค. – 19 ธ.ค.: หุ้นลดลง 63% เหลือ 2.58 ดอลลาร์, ได้รับการช่วยเหลือ 400 ล้านดอลลาร์ที่ 1.50 ดอลลาร์/หุ้น, ควบรวมกิจการกับ GETCO; ต.ค. 2013: ค่าปรับ ก.ล.ต. 12 ล้านดอลลาร์, กรณีแรกของกฎ Market Access Rule
บทถอดเสียงที่แปลแล้ว
แปลจากการบรรยายภาษาอังกฤษต้นฉบับ เสียงและคำบรรยายที่มีให้จะควบคุมโดย YouTube
0:00 บริษัทซื้อขายปรับใช้รหัสใหม่กับเซิร์ฟเวอร์เจ็ดในแปดเครื่อง และเครื่องที่แปดซื้อและขายหุ้นเกือบเจ็ดพันล้านดอลลาร์ใน สี่สิบห้านาที ซึ่งเป็นจำนวนมาก แม้แต่วันพุธก็ตาม 1 สิงหาคม 2012 Knight Capital, หนึ่งในสิบของการซื้อขายหุ้นทั้งหมดในสหรัฐอเมริกา รายงานการขาดทุน 440 ล้านดอลลาร์ ก.ล.ต. นับได้ในภายหลังมากกว่า 460 ล้านดอลลาร์ ปรับ Knight สิบสองล้านดอลลาร์ และเขียนการวิเคราะห์หลังเกิดเหตุเอง: สิบหน้า ไม่มีคำคุณศัพท์
0:25 มันเกิดขึ้นได้อย่างไร ทำไมเป็นไปได้ และใครเป็นผู้รับผิดชอบจริงๆ นี่คือ The Daily Diff, การวิเคราะห์หลังเกิดเหตุ 27 กรกฎาคม ตลาดหลักทรัพย์นิวยอร์กเปิดตัวโครงการสภาพคล่องสำหรับรายย่อยใน 1 สิงหาคม ดังนั้น Knight จึงคัดลอกรหัสใหม่ลงใน SMARS เราเตอร์คำสั่งซื้อของตน ทีละไม่กี่เซิร์ฟเวอร์ต่อวัน ด้วยมือ ช่างเทคนิคหนึ่งคน, แปดเซิร์ฟเวอร์, เจ็ดสำเนา ไม่มีใครตรวจสอบ; ไม่มีกฎใดบอกว่าใครต้องทำ 8:01 น. ระบบภายในเริ่มส่งอีเมลถึงพนักงานแจ้งข้อผิดพลาดว่า: Power
0:51 Peg ถูกปิดใช้งาน อีเมลเก้าสิบเจ็ดฉบับก่อนเปิดตลาด ไม่ได้ออกแบบมาเป็นการแจ้งเตือน ดังนั้นไม่มีใครอ่าน ซึ่งเป็นการตัดสินใจออกแบบที่มีราคา 9:30 น. ตลาดเปิด เซิร์ฟเวอร์เจ็ดเครื่องรันรหัสใหม่ เครื่องที่แปดเห็นแฟล็กเดียวกันและรัน Power Peg แทน: รหัสที่ Knight เลิกใช้ในปี 2003 และไม่เคยลบ มันส่งคำสั่งซื้อย่อยสำหรับคำสั่งซื้อของลูกค้า 212 รายการ และไม่เคยหยุด
1:13 การดำเนินการสี่ล้านรายการ หุ้น 397 ล้านหุ้น บัญชีหลักทรัพย์เพิ่มขึ้นเกินวงเงินสองล้านดอลลาร์ ซึ่งไม่มีการเชื่อมต่อกับอะไร วิศวกร ในตลาดจริง ถอนการติดตั้งรหัสใหม่จากเซิร์ฟเวอร์เจ็ดเครื่องที่ดี ซึ่งเปิดใช้งาน Power Peg ทุกที่ ประมาณ 10:15 น. มันหยุด: ถือยาวสามพันห้าร้อยล้าน ถือชอร์ตสามพันหนึ่งร้อยห้าสิบล้าน
1:31 หนึ่ง: เงื่อนไขการหยุดของ Power Peg, ตัวนับที่บอกว่าคำสั่งหลัก ถูกเติมเต็ม, ถูกย้ายในปี 2005 และไม่เคยทดสอบใหม่, ดังนั้นรหัสที่เลิกใช้แล้ว วนไปเรื่อยๆ สอง: ฟีเจอร์ใหม่นำแฟล็กเก่าของ Power Peg กลับมาใช้ใหม่ ดังนั้น "ใช่" เดียวกันจึงมีความหมายสองอย่างบนเซิร์ฟเวอร์สองเครื่อง สาม: ไม่มีสวิตช์ปิด ไม่มีอะไรเปรียบเทียบคำสั่งขาออกกับคำสั่งขาเข้า; ไม่มีอะไรหยุด SMARS จอภาพความเสี่ยงเป็นหน้าจอที่มนุษย์เฝ้าดู; มันไม่แสดงขีดจำกัด git blame: แฟล็กที่ถูกนำกลับมาใช้ใหม่แทนที่จะเป็นแฟล็กใหม่, รหัสที่ไม่มีการใช้งานมาเก้าปี
2:00 ปี, และการปรับใช้ด้วยมือที่ไม่มีผู้ตรวจสอบคนที่สอง ไม่ใช่ช่างเทคนิค คำสั่งของ ก.ล.ต. ไม่เคยระบุชื่อเขา และฉันก็จะไม่ระบุเช่นกัน รัศมีการระเบิด: 460 ล้านดอลลาร์ ประมาณสิบล้านดอลลาร์ต่อนาที หุ้นลดลง 63 เปอร์เซ็นต์เหลือสองดอลลาร์ห้าสิบแปด, การช่วยเหลือ 400 ล้านดอลลาร์ ที่หนึ่งดอลลาร์ห้าสิบต่อหุ้น, การควบรวมกิจการกับ Getco ก่อนคริสต์มาส Hacker News, วันพฤหัสบดี: มันทำงาน 45 นาทีได้อย่างไรโดยไม่มีมนุษย์เข้ามาแทรกแซง? ไม่เลย มนุษย์ทำให้มันแย่ลง
2:25 คำตัดสิน, การวิเคราะห์หลังเกิดเหตุ: revert Knight ไม่เคยเขียนการวิเคราะห์หลังเกิดเหตุของตัวเอง; ผู้ควบคุมทำ สิบสี่เดือนต่อมา และการแก้ไขคือค่าปรับและการควบรวมกิจการ วันจันทร์: ฟีเจอร์ใหม่, แฟล็กใหม่; รหัสที่ไม่มีการใช้งานจะถูกลบ ไม่ถูกปิดใช้งาน; อะไรก็ตามที่ส่งคำสั่งจะได้รับสวิตช์ปิด ส่งเหตุการณ์ที่คุณยังไม่ได้รับอนุญาตให้พูดถึงมาให้ฉัน ในความคิดเห็น หรือที่ the daily diff dot dev และนั่นคือความแตกต่างสำหรับวันนี้
2:48 ฉันคือนิโกะจาก Axrisi Merge responsibly
แหล่งที่มา
- 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



