Утро, которое начиналось идеально
1 августа 2012 года. Нью-Йорк. Манхэттен.
В офисе Knight Capital Group — одной из крупнейших торговых компаний мира — ничто не предвещало катастрофы. Кофе в бумажных стаканчиках, гудение серверов, привычная предторговая суета.
Knight Capital — не какой-нибудь стартап из гаража. Это гигант. Компания обрабатывала примерно 10% всех сделок на американском фондовом рынке. Каждый день. Миллиарды долларов проходили через её системы, как вода через турбину ГЭС.
Сегодня был особенный день. Нью-Йоркская биржа запускала новую программу — Retail Liquidity Program. Для участия Knight обновила своё торговое программное обеспечение. Обновление прошло накануне вечером. Всё протестировано. Всё проверено.
Ну, почти всё.
09:30. Биржа открывается
Звонок. Начало торгов. Системы Knight оживают и начинают обрабатывать заявки.
Первые секунды — тишина. Потом — первые сигналы. Что-то идёт не так. Но ещё никто этого не понимает.
Система начинает покупать акции. Много акций. Очень много акций. По ценам, по которым ни один здравомыслящий трейдер никогда бы не купил.
09:31. Начинается хаос
На мониторах трейдеров — безумие. Графики 150 различных акций одновременно дёргаются в разные стороны. Бумаги, которые обычно колеблются на доли процента — летят вверх или обрушиваются вниз.
Рынок сходит с ума. И в центре этого урагана — Knight Capital.
Их торговая система, словно сорвавшийся с цепи безумец, скупает всё подряд. Она шлёт на биржу тысячи заявок в секунду. Покупает дорого. Продаёт дёшево. Снова покупает. Ещё дороже. И не останавливается.
Призрак из 2005 года
Чтобы понять, что произошло, нужно перемотать время на 8 лет назад.
В 2003–2005 годах программисты Knight написали кусок тестового кода под названием «Power Peg». Это была внутренняя функция для проверки системы — она покупала и продавала акции, не обращая внимания на цену. Для тестов — идеальный инструмент. Для реальной торговли — бомба замедленного действия.
Представьте себе: вы строите дом. Во время стройки вы ставите временную подпорку. Дом готов, подпорка больше не нужна. Но вы забываете её убрать. Она стоит внутри стены. Семь лет. Восемь. И в один прекрасный день кто-то случайно задевает её — и стена рушится.
Именно это произошло с Power Peg. Код давно потерял смысл, но никто его не удалил. Он тихо лежал внутри системы, как мина, ожидающая детонации.
Роковое обновление
Вечером 31 июля техники Knight начали накатывать обновление на серверы. Система компании работала на восьми серверах — и каждый нужно было обновить вручную.
Семь серверов обновили успешно. На восьмом — забыли.
Это звучит невероятно. Компания, через которую проходило 10% всего американского фондового рынка, не имела автоматической системы обновления. Не было красной лампочки, которая сказала бы: «Эй, ты забыл один сервер».
Старый сервер. Старый код. Код «Power Peg».
Когда утром 1 августа Knight запустила торговлю, новое обновление на семи серверах отправило специальный сигнал-флаг. На обновлённых серверах этот флаг запускал новую программу. Но на восьмом, необновлённом сервере, тот же самый флаг разбудил Power Peg.
И Power Peg начал делать то, для чего был создан: покупать и продавать. Без контроля. Без лимитов. Без остановки.
09:32 – 09:45. Паника
В торговом зале Knight Capital наступает ад.
На экранах — непрерывный поток сделок, которые никто не выставлял. Система блюёт заявками, как сломанный фонтан. Трейдеры кричат. Менеджеры звонят инженерам.
«Что происходит?!»
Инженерам нечего ответить. Они не понимают. Логи захлёбываются данными. Новый код работает штатно — все семь серверов в порядке. Ошибки нет. Проблема — на восьмом сервере, про который все давно забыли.
Представьте: у вас в квартире прорвало трубу. Вы перекрываете воду на кухне — льёт. Перекрываете в ванной — льёт. Перекрываете везде — а вода продолжает хлестать. Потому что источник — в стене, о которой вы не знаете.
09:45 – 10:00. Отчаяние
Каждая секунда стоит денег. Буквально.
Knight Capital теряет около 10 миллионов долларов в минуту. Это не метафора. Это математика. Power Peg отправил на биржу миллионы заявок, накупил гигантские объёмы акций по завышенным ценам и продал по заниженным.
Руководство звонит на Нью-Йоркскую биржу. Просит отменить сделки. Биржа отвечает: мы разберёмся. Но каждую минуту ожидания — десять миллионов в минус.
Инженеры лихорадочно перебирают строки кода. Кто-то предлагает просто выключить всё — но никто не уверен, что это не сделает хуже. Что, если при перезагрузке система сгенерирует ещё одну волну заявок?
Паника парализует решения.
10:15. Тишина
Спустя 45 минут после начала катастрофы инженерам наконец удаётся идентифицировать проблему и остановить систему.
Тишина в торговом зале. Люди смотрят на экраны.
На экранах — приговор.
440 миллионов долларов убытков.
Не за год. Не за квартал. За 45 минут.
Для понимания масштаба: годовая выручка Knight Capital составляла около 1,3 миллиарда. Компания только что потеряла треть годового дохода за время, которое вы потратили бы на обед.
После: Два дня до смерти
Акции Knight Capital обрушились на 75% в тот же день. Инвесторы бежали, как крысы с тонущего корабля.
У компании было 48 часов, чтобы найти деньги и закрыть дыру — иначе приговор вынесут регуляторы. Два дня переговоров. Два дня унижения.
В итоге Knight Capital спас консорциум инвесторов, вложивший 400 миллионов долларов в обмен на 73% компании. Основатели и руководство потеряли контроль. Годы работы, репутация, рыночные позиции — всё сгорело.
Через полтора года Knight Capital перестала существовать как самостоятельная компания. Её поглотил конкурент.
Эпилог: Цена одного «забыл»
Вот весь масштаб катастрофы в нескольких строчках:
- Один техник не обновил один сервер из восьми.
- Забытый тестовый код восьмилетней давности ожил.
- 45 минут хаоса.
- 440 000 000 долларов убытков.
- Акции упали на 75%.
- Компания с тысячами сотрудников прекратила существование.
И всё из-за чего? Из-за того, что кто-то забыл удалить кусок кода, который больше не нужен.
Не вирус. Не хакерская атака. Не злой умысел. Обычная человеческая невнимательность. «Потом удалю». «Это не горит». «Оно же никому не мешает».
Оно не мешало. Восемь лет. А потом уничтожило всё.
🔴 Подпишитесь на «Сбой Системы»
Это была первая история. Впереди — десятки расследований о том, как один код, одно решение, одна ошибка меняли историю целых индустрий. Взломы, крахи, аферы века — в мире технологий драмы больше, чем в любом сериале.
Подпишитесь, чтобы не пропустить следующую историю.
💬 А теперь вопрос к вам: какую самую дорогую ошибку совершали вы — или видели, как её совершает кто-то на работе? Может, не на 440 миллионов… но вспомнить наверняка есть что. Пишите в комментариях — самые безумные истории могут стать темой будущих выпусков!
#программирование #финансы #трейдинг #it #технологии #баги #разработка #фондовый_рынок #инвестиции #сбой_системы