megatrade

Как потерять 440 млн долларов на бирже за 40 минут.

Для того чтобы стать «монстром рынка», компании Knight Capital потребовалось 17 лет. Ежедневный оборот торгов с ее участием к моменту «компьютерного инцидента» превышал $20 млрд в сутки, за это же время проводилось 3,3 млрд операций с ценными бумагами. Таким образом, в 2012 году Knight Capital считалась крупнейшим трейдером в США с долей 17—20% на Нью-Йоркской фондовой бирже (NYSE) и бирже NASDAQ.

Все изменилось 1 августа, когда NYSE запланировала запуск Retail Liquidity Program.

Новая система позволяла компаниям уровня Knight Capital предлагать своим клиентам цены на акции чуть интереснее, чем другим инвесторам. То есть RLP имитировала закрытые площадки для торговли крупными объемами ценных бумаг — так называемые дарк-пулы. Их иногда называют конкурентами официальных бирж, так как они уводят клиентов, желающих сэкономить на комиссии.

Упомянутая Knight Capital, как и положено продвинутой во всех отношениях компании, была готова к нововведению и владела подходящим инструментом (а также армией разработчиков из 100 человек) — SMARS. Это был «роутер» для подключения других модулей для торговли ценными бумагами.

Суть разработки заключалась в том, что большой заказ от торговой площадки (компонента компьютерной системы Knight Capital) разбивался на маленькие для поиска продавцов и покупателей, чьи условия отвечают желаемым. Чем больше «родительский» заказ, тем больше «дочерних» генерировала система. Одним из основных достоинств SMARS считалась чрезвычайно высокая скорость обработки заказов — до нескольких тысяч в секунду.

Планируемое обновление должно было заменить алгоритм Power Peg, которым в компании не пользовались к 2012 году как минимум восемь лет. При этом коды его вызова по-прежнему оставались в основной системе. Почему и зачем — никто не знал.

Еще один важный момент заключался в специфике Power Peg. Разработка представляла собой тестовую систему, которая действовала по алгоритму «покупай по самой высокой цене, продавай по самой низкой». На бирже принято действовать с точностью до наоборот.

 

Такая особенность Power Peg продиктована необходимостью проверки работы других программных алгоритмов в полностью контролируемой среде. На самом деле никто никогда не планировал, что это решение появится на продакшене.

Сыграла свою роль и спешка, в которой действовала Knight Capital, — регулятор предоставил всего месяц на развертывание и настройку системы, не давая до июня 2012 года разрешения на работу RLP. Ответственные за IT топ-менеджеры компании, в свою очередь, озвучили команду: «Надо успеть!»

Считается, что «мертвый код» не должен находиться в системе, однако подобная практика все же встречается в крупных программных продуктах, работающих на протяжении длительного времени. То есть как бы «все как у всех».

Стечением (вероятно) обстоятельств стало то, что для запуска нового алгоритма, «заточенного» под RLP, использовался тот же флаг, что и для запуска тестового Power Peg (а он, напомним, работал «задом наперед» с точки зрения торгов на бирже). Такой подход считают браком — особой выгоды он не несет, но может привести к появлению серьезных ошибок.
Инженеры Knight Capital не предусмотрели «аварийный выключатель» системы (хотя такая рекомендация со стороны бирж имеется). Не было и инструкции, которая описывала бы действия в подобной ситуации. К тому же работать им приходилось «по живому», на функционирующей биржевой платформе.

Специалисты решили действовать наверняка и приступили к откату кода на серверах. Поэтому спустя короткий промежуток времени вместо одного «зомби»-сервера появилось два. А потом три — удаляли-то «здоровый» код, освобождая дорогу Power Peg.

За 45 минут, которые потребовались на вывод системы из торгов, 212 «родительских» заказов из-за отсутствия ограничений превратились в тысячи «дочерних», было произведено 4 млн операций с 397 млн акций 154 компаний. Движение средств превышало $6,5 млрд, поэтому итоговая потеря $440—460 млн выглядит не так страшно, хотя и очень внушительно.
















★4
26 комментариев
и не нойте потом про ваши копеечные убытки на смартлабе!
avatar
Любая контора превращается в кухню, когда колличество бабла переваливает определенную черту.
Сергей Коновалов, в данном случае прогеры намудили по-страшному. А проконтролировать их никто не догадался…
avatar
megatrade, средств контроля нет.
Че то цифры какие то заоблачные. В голове не укладывается. Надо расширять горизонты)
Евгений Че, норд по аналогичной схеме слил вроде как 120 млн руб за 2 минуты
avatar

«превышал $20 млрд в сутки, за это же время проводилось 3,3 млрд операций с ценными бумагами.»

больше 6 млрд. за одну операцию в рынок вкидывали? 

avatar
Igr, не, при обороте 6 млрд долларов просрали 440 млн долларов
avatar
megatrade, это понятно, я же про другое, в начале написано то что я привёл 
avatar
Igr, 20 млрд — это обычный их дневной оборот по операциям на бирже
avatar
Хорошо что просто ошибочные финансовые сделки, а не очередной самолет
Капец сколько мусора у вас в голове:)
avatar
Сэкономили на технарях, за то и заплатили. Другим урок.
avatar
Shadow, ну да!  всю установку на серверы делал 1 человек.  Очень похоже на нашу рашу.  Один работает и над ним 8 начальников
avatar
megatrade, да уже была тут на смарте эта история. там помоему они еще несколько часов тупили, и не могли понять что происходит, пока кто то не пришел кто знает и вырубил нах этот комп )))
avatar
SAVRA, история 2012 года, тут суть в технических подробностях- что имеено заклинило!
avatar
ООоо я помню это!
Я как раз торговал американские акции в этот момент и не понимал че происходит)
Тимофей Мартынов, ну хоть бабла то смог у них отхватить ?  Они 440 млн нахаляву раздали!
avatar
megatrade, на отхваченное бабло Тима и основал смартлаб ;)
avatar
megatrade, неа
megatrade, слишком быстро все было
Тимофей Мартынов, да вроде аж 40 минут раздача длилась...  по 150 различным акциям
avatar
Вот эти программы, о которых написано, и реализуют классический алготрейдинг. А не то, что называют алготрейдингом на смартлабе. 
Как раз сегодня об этом написал.
Перевод крайне сумбурный, я бы сказал чудовищный. Про Knight Capital помним, скорбим. Стоит упомянуть, что их фонд раздавал гранты разработчикам открытого ПО и в целом много чем полезным занимался.
Если мне не изменяет память, основная проблема возникла из-за того, что обновили 7 из 8 серверов, на последнем, действительно неправильно обрабатывались сообщения из-за повторного использования флага в сообщениях.
Стоит еще отменить, что с тех пор индустрия придумала много нового в управлении и развертывании ПО, CI/CD патерны, blue-green, canary, etc
avatar
Вывод: торгуйте руками. 
avatar
Однажды ночью в полупустом стакане VX за день до экспиры увидел 40 секунд такую раздачу денег по аскам-бидам. Успел себе забрать 8 тиков. Потом алгоритм отключился.
Знаете о чём тогда я подумал? Какая же это мелочь на фоне моих предыдущих сливов =(
Это случилось в тяжкие для меня времена и я не мог радоваться ничему подобному. Наоборот, вдруг остро осознал всю четность усилий. Даже когда происходит редчайшее событие и система сломалась, даже когда деньги раздают за секунды, всё равно у меня нет шансов вернуть потерянное. А уж когда система эффективна и заточена на отжим моих денег… Остро осознал, что я донор этой системы =(
Сейчас писать это легко. Боль потерь почти полностью забылась, остались только факты и опыт, на нём и выруливаю. =)

теги блога megatrade

....все тэги



UPDONW
Новый дизайн