+− THE DAILY DIFFdev & AI news
REVERT

פריסה לשבעה מתוך שמונה שרתים איבדה 460 מיליון דולר. 45 דקות.

1 באוגוסט 2012, 9:30 בבוקר שעון החוף המזרחי: Knight Capital, עושת השוק שאחראית לכעשירית מכל מסחר המניות בארה"ב, פרסה זה עתה קוד ניתוב פקודות חדש לשבעה מתוך שמונת שרתי ה-SMARS שלה.

1 באוגוסט 2012, 9:30 בבוקר שעון החוף המזרחי: Knight Capital, עושת השוק שאחראית לכעשירית מכל מסחר המניות בארה"ב, פרסה זה עתה קוד ניתוב פקודות חדש לשבעה מתוך שמונת שרתי ה-SMARS שלה. השמיני עדיין מריץ את "Power Peg", קוד שפרש בשנת 2003, מאחורי אותו דגל שהפיצ'ר החדש משתמש בו שוב. במשך 45 דקות הוא שולח פקודות בנות שלעולם אינן עוצרות: 4 מיליון ביצועים, 397 מיליון מניות, כ-7 מיליארד דולר של פוזיציות, הפסד של 460 מיליון דולר. 97 מיילים עם אזהרות הגיעו לפני הפתיחה. פוסטמורטם, מהצו של ה-SEC עצמו: הפריסה הידנית שאף אחד לא סקר, הדגל בעל שתי המשמעויות, מונה העצירה שהוזז ב-2005 ומעולם לא נבדק מחדש, מתג ההריגה שלא היה קיים, וה"תיקון" בשוק חי שהחמיר את המצב. פסיקת התיקון: REVERT.

קראו את המהדורה הכתובה (אנגלית) ↗

מה מכסה הסרטון הזה

  • 27–31 ביולי 2012: קוד RLP הועתק ידנית ל-7 מתוך 8 שרתי SMARS; ללא בודק שני, ללא נוהל כתוב
  • 1 באוגוסט, 8:01 בבוקר: 97 מיילים "Power Peg disabled" לפני הפתיחה; לא עוצבו כהתראות, לא נקראו
  • 1 באוגוסט, 9:30–10:15: 212 פקודות הופכות ל-4 מיליון ביצועים ב-154 מניות; 3.5 מיליארד דולר לונג, 3.15 מיליארד דולר שורט; 460 מיליון דולר אבדו; הסרת הקוד החדש מחמירה את המצב
  • 2 באוגוסט – 19 בדצמבר: מניות −63% ל-2.58 דולר, חילוץ בסך 400 מיליון דולר במחיר 1.50 דולר למניה, מיזוג עם GETCO; אוקטובר 2013: קנס של 12 מיליון דולר מה-SEC, המקרה הראשון של כלל גישה לשוק

תמליל מתורגם

תורגם מהקריינות המקורית באנגלית. זמינות אודיו וכתוביות נשלטת על ידי YouTube.

0:00 חברת מסחר פורסת קוד חדש לשבעה מתוך שמונה שרתים, והשמיני קונה ומוכר כמעט שבעה מיליארד דולר של מניות ב- ארבעים וחמש דקות, שזה הרבה, אפילו ליום רביעי. הראשון באוגוסט 2012. Knight Capital, עשירית מכל המסחר במניות בארה"ב, מדווחת על הפסד של 440 מיליון דולר. ה-SEC סופר מאוחר יותר יותר מ-460, קונס את Knight ב-12 מיליון, וכותב את הפוסטמורטם בעצמו: עשרה עמודים, אפס תארים.

0:25 איך זה קורה, למה זה אפשרי, ומי בעצם אשם. זהו The Daily Diff, פוסטמורטם. 27 ביולי. הבורסה לניירות ערך של ניו יורק משיקה תוכנית נזילות קמעונאית ב- הראשון באוגוסט, אז Knight מעתיקה קוד חדש ל-SMARS, נתב ההזמנות שלה, מספר שרתים ביום, ביד. טכנאי אחד, שמונה שרתים, שבעה עותקים. אף אחד לא בודק; אין חוק שאומר שמישהו צריך. 8:01 בבוקר. מערכת פנימית מתחילה לשלוח דוא"ל לצוות על שגיאה שכתובה: Power

0:51 Peg disabled. תשעים ושבעה מיילים לפני הפתיחה. הם לא עוצבו כהתראות, אז אף אחד לא קורא אותם, שזו החלטת עיצוב עם תג מחיר. 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 שנים, ופריסה ידנית ללא זוג עיניים שני. לא הטכנאי. הצו של ה-SEC מעולם לא מזכיר את שמו, וגם אני לא. רדיוס פיצוץ: 460 מיליון דולר, בערך עשרה מיליון לדקה. מניות ירדו ב-63 אחוזים לשני דולר וחמישים ושמונה סנט, חילוץ של 400 מיליון דולר בדולר וחמישים סנט למניה, מיזוג עם Getco עד חג המולד. Hacker News, יום חמישי: איך זה רץ 45 דקות בלי שבני אדם התערבו? זה לא קרה. בני האדם החמירו את המצב.

2:25 פסק דין, פוסטמורטם: REVERT. Knight מעולם לא כותבת פוסטמורטם משלה; הרגולטור עושה זאת, ארבעה עשר חודשים לאחר מכן, והתיקון הוא קנס ומיזוג. יום שני: תכונה חדשה, דגל חדש; קוד מת נמחק, לא מושבת; כל מה ששולח פקודות מקבל מתג כיבוי. שלחו לי את האירוע שעדיין אסור לכם לדבר עליו, בתגובות, או ב-daily diff dot dev. וזה ה-diff להיום.

2:48 אני ניקו מ-Axrisi. Merge responsibly.

מקורות

  1. SEC Administrative Order, Release No. 34-70694 (Oct 16, 2013), In the Matter of Knight Capital Americas LLCwww.sec.gov
  2. SEC press release 2013-222, "SEC Charges Knight Capital With Violations of Market Access Rule"www.sec.gov
  3. Knight Capital Group 8-K, Aug 2, 2012 (the $440M statement)www.sec.gov
  4. Knight Capital Group 8-K, Aug 6, 2012 (the $400M convertible preferred)www.sec.gov
  5. Knight / GETCO merger announcement, Dec 19, 2012www.sec.gov
  6. NYT DealBook, "Knight Capital Says Trading Glitch Cost It $440 Million" (Aug 2, 2012)archive.nytimes.com
  7. Hacker News, Aug 2, 2012 (73 points)news.ycombinator.com
  8. Hacker News, "The $440M software error at Knight Capital" (294 points)news.ycombinator.com

סרטונים קשורים