megatrade
megatrade личный блог
25 января 2020, 15:46

Как потерять 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 млн выглядит не так страшно, хотя и очень внушительно.
















26 Комментариев
  • Сергей Коновалов
    25 января 2020, 15:58
    Любая контора превращается в кухню, когда колличество бабла переваливает определенную черту.
  • Евгений Великолепный
    25 января 2020, 16:01
    Че то цифры какие то заоблачные. В голове не укладывается. Надо расширять горизонты)
  • Igr
    25 января 2020, 16:02

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

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

      • Igr
        25 января 2020, 16:10
        megatrade, это понятно, я же про другое, в начале написано то что я привёл 
  • Олайвир Стокс
    25 января 2020, 16:26
    Хорошо что просто ошибочные финансовые сделки, а не очередной самолет
  • Ivan Gurov
    25 января 2020, 16:40
    Капец сколько мусора у вас в голове:)
  • Shadow
    25 января 2020, 16:42
    Сэкономили на технарях, за то и заплатили. Другим урок.
      • SAVRA
        25 января 2020, 17:47
        megatrade, да уже была тут на смарте эта история. там помоему они еще несколько часов тупили, и не могли понять что происходит, пока кто то не пришел кто знает и вырубил нах этот комп )))
  • Тимофей Мартынов
    25 января 2020, 16:43
    ООоо я помню это!
    Я как раз торговал американские акции в этот момент и не понимал че происходит)
      • Geist
        25 января 2020, 16:51
        megatrade, на отхваченное бабло Тима и основал смартлаб ;)
      • Тимофей Мартынов
        25 января 2020, 17:04
        megatrade, неа
      • Тимофей Мартынов
        25 января 2020, 17:04
        megatrade, слишком быстро все было
  • neophyte
    25 января 2020, 16:46
    Вот эти программы, о которых написано, и реализуют классический алготрейдинг. А не то, что называют алготрейдингом на смартлабе. 
    Как раз сегодня об этом написал.
  • Les Paul
    25 января 2020, 19:12
    Перевод крайне сумбурный, я бы сказал чудовищный. Про Knight Capital помним, скорбим. Стоит упомянуть, что их фонд раздавал гранты разработчикам открытого ПО и в целом много чем полезным занимался.
    Если мне не изменяет память, основная проблема возникла из-за того, что обновили 7 из 8 серверов, на последнем, действительно неправильно обрабатывались сообщения из-за повторного использования флага в сообщениях.
    Стоит еще отменить, что с тех пор индустрия придумала много нового в управлении и развертывании ПО, CI/CD патерны, blue-green, canary, etc
  • Foudroyant
    26 января 2020, 13:54
    Вывод: торгуйте руками. 
  • Антон Денисков (Fry)
    26 января 2020, 14:54
    Однажды ночью в полупустом стакане VX за день до экспиры увидел 40 секунд такую раздачу денег по аскам-бидам. Успел себе забрать 8 тиков. Потом алгоритм отключился.
    Знаете о чём тогда я подумал? Какая же это мелочь на фоне моих предыдущих сливов =(
    Это случилось в тяжкие для меня времена и я не мог радоваться ничему подобному. Наоборот, вдруг остро осознал всю четность усилий. Даже когда происходит редчайшее событие и система сломалась, даже когда деньги раздают за секунды, всё равно у меня нет шансов вернуть потерянное. А уж когда система эффективна и заточена на отжим моих денег… Остро осознал, что я донор этой системы =(
    Сейчас писать это легко. Боль потерь почти полностью забылась, остались только факты и опыт, на нём и выруливаю. =)

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн