karapuz
karapuz личный блог
03 января 2012, 04:21

Flash-crash: как это было. Кишки наружу - тёмная сторона силы

Долго я читал исследования о флешкреш спецов из Nanex. Эти ребята распотрошили рынок и разложили всё, что происходило 6 мая 2010 г. по миллисекундам. Детали перессказывать не буду — желающие углубиться в этот вопрос могут рассмотреть все подробности непосредственно на их сайте с любым приближением — как в электронный микроскоп. Основные события и выводы такие:
  • 14:42:43.600 — резко увеличился поток заявок. Через 1 миллисекунду — в 14:42:43.700 «плотность» потока заявок возросла с примерно 45 000 до примерно 300 000 в секунду (суммарно по NYSE, Nyse Arca и Nasdaq) Произошло так называемое «насыщение» — quote saturation — предел, выше которого биржевые системы физически не могут обработать поток заявок без задержек. Одновременно с резким ростом потока заявок произошло исчезновение ликвидности в «ближайшей окрестности» текущих цен — ушли крупные биды и офера. Таким образом, резко увеличившийся поток заявок был обусловлен ростом так называемых
    stub quotes — «краевых заявок» — заявок, которые ставятся очень далеко от текущих — на «планки». 
  • 14:42:44.075 — от фирмы Waddell&Reed пришли первые офера на продажу общего объема 75,000 фьючерсов e-mini S&P 500. Первая продажа была на объем 125 млн долл. — сразу же в биды. Через 25 миллисекунд новую информацию «проанализировали»  арбитражные высокочастотные роботы на NYSE и Nasdaq и начали немедленно продавать ETF - SPY, DIA, QQQQ, IVV, IWM, SDS, XLE, и EEM. В 14:42:44.1 было продано на 100 млн. долл (за 1 миллисекунду). Следом за ними другая группа высокочастотных арбитражных роботов начала пытаться продавать входящие в эти ETF акции. Поскольку в систему поступал и без того почти предельный поток транзакций, случилось то, что должно было произойти, а именно, через 16 секунд, в:
  • 14:43:00.000 объединенная котировочная система (CQS) NYSE перестала справляться с обработкой потока транзакций и начала работать с задержками. Запаздывание по некоторым акциям доходило до 24 секунд. Соответственно, летевшие в систему заявки на продажу исполнялись по ценам, сильно отличавшимся от тех, которые предполагались трейдерами, отправлявшими заявку (так как система работает с задержкой, пока ваша заявка обрабатывается, рынок уже ушел). Примерно через минуту начал сильно запаздывать расчет индексов Dow Jones, соответственно, сбился еще один класс роботов — основанных на этих индексах.
  • В итоге, индексы упали за 5 минут примерно на 6% и цены дошли до тех самых stub quotes — выставленных (и выставлявшихся по ходу событий) кем-то «краевых» заявок на планках. В эти заявки, которые уже были в системе, летели запоздавшие на десятки секунд офера «по рынку», по этим безумным с точки зрения разума ценам совершались реальные трейды. Когда таких сделок произошло достаточно много — флешкреш закончился.
Необходимо пояснить 2 момента: во-первых, несмотря на то, что со стороны Waddell&Reed действительно приходили огромные объемы на продажу фьючерса, повлияли на рынок не они (как это следует из тщательного анализа проведенных трейдов и их влияния), а те, кто у них покупал. Скорей всего это были арбитражные роботы, которые уже через пару секунд после начала событий пытались закрывать арбитраж продавая базовый актив против купленного e-mini, а потом, вероятно, столкнулись с запаздывающими котировками и стали пытаться срочно ликвидировать позиции уже в самом e-mini — лупить прямо в биды (которые чудесным образом исчезали).

Во-вторых, и это не было доказано раньше , а теперь доказано, резкое увеличение потока не приводящих к сделкам заявок произошло ДО начала продажи большого объема фьючерсов на S&P. Фактически, к моменту продажи система была уже в предкоматозном состоянии и достаточно было только спускового крючка, чтобы вызвать фатальную последовательность событий. 

На мой взгляд, исследование Nanex не оставляет сомнений, что flash-crash был не просто рукотворным событием, но и вполне тщательно спланированным. Причем, идея очень простая — засрать систему потоком транзакций, предварительно расставив свои заявки на планках, потом спровоцировать по-сути сквиз несколькими сделками, и, поскольку зная технические параметры системы, задержку можно было заранее рассчитать, то поддерживать сквиз продолжая сносить оставшиеся биды. На стороне манипулятора преимущество — он мог отправлять заявки заранее (на несколько десятков миллисекунд, а может быть даже и на секунды), соответственно, его сделки проходили раньше. Ну и, разумеется, роботы и «стопы» всей биржевой толпы только помогают. 

Вы ещё верите в то, что flash-crash был «случайностью»? Я — нет.

P. S. желающие освоить сию, на самом деле, не особо хитрую технологию, могут невозбранно тренироваться на кошечках — то есть на ФОРТС. Там за это никогда, никому и ничего не бывает. Даже и разбираться-то не будет никто. Скажут — забейте, пацаны, просто «технический сбой».

 
13 Комментариев
  • Roman Resner
    03 января 2012, 04:36
    Плюс. Интересно. Это как DDoS атака на сервак — отказ в обслуживании. Как всё хрупко.
  • Alex Wong
    03 января 2012, 04:46
    Была бы плата за заявку, хрен бы кто 300 тыщ заявок смог послать :)
    • Spekyl
      03 января 2012, 04:52
      absolut, общий выхлоп от операции покроет платы за транзакции с большим запасом
  • Тимофей Мартынов
    03 января 2012, 06:04
    +4
    поставлю ссылку на эту статью из статьи финансового словаря:
    smart-lab.ru/finansoviy-slovar/Flash%20Crash%206.05.2010
  • jtrade
    03 января 2012, 08:29
    Отличный пост!
  • Александр
    03 января 2012, 12:34
    очень интересно читать, спасибо!
  • Santiago
    03 января 2012, 13:14
    У вас в последнее время самый интересный журнал на смартлабе.
  • Олег Сергеевич
    03 января 2012, 15:23
    Круто! Я стану кукловодом спасибо за инфу!
  • wavelet
    03 января 2012, 17:59
    странно что у них такой малый запас прочности оказался, всего лишь в 7 раз вырос поток заявок и система начала «тупить»
  • кухонный аналитик
    04 января 2012, 00:36
    респект автору, очень познавательно

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

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