Начиная с 80-х годов широкое распространение в финансовой сфере получила алгоритмическая, или автоматическая, торговля (black-box trading), позволяющая выставлять торговые заявки без непосредственного участия человека. Алгоритмическая торговля помогает не только извлекать прибыль из собственно процесса торгов, но и проводить большие сделки, не нарушая баланса рынка, принимая решения в автоматизированном режиме.

Высокочастотной торговлей (High-Frequency Trading, HFT), часто являющейся наиболее прибыльной, называют работу алгоритмических систем, автоматически принимающих решение на основе информации, получаемой в электронном виде, до того как она может быть обработана человеком. Начало активного развития HFT связывают с черным понедельником 19 октября 1987 года, когда промышленный индекс Доу — Джонса в течение дня упал на 22,6%. Быстрое обрушение рынка подтолкнуло Давида Уиткома, профессора Ратгерского университета, задуматься об автоматизации работы маркетмейкеров, совершавших сделки в интересах клиентов. Он выступил инициатором создания компании Automated Trading Desk, решения которой позволяют быстро рассчитывать направление движения рынка и торговать намного эффективнее человека-брокера. В 2007 году ATD вошла в состав Citigroup.

В июне 1997 года Нью-Йоркская фондовая биржа сделала очередной шаг к переходу на десятичную систему исчисления при выставлении заявок — шаг изменения цены составил 6,25 цента, что сделало более удобным использование различных алгоритмов расчета средней цены для выставления заявок. Вероятно, это подтолкнуло Дэна Тирни и Стивена Шулера, торговавших фьючерсами и опционами на Чикагской бирже, на создание компании алгоритмической торговли Getco (с 2013 года KCG Holdings). Сегодня это один из ведущих торговых операторов в мире — сделки Getco составляют от 10 до 20% дневного объема торгов высоколиквидных акций таких компаний, как General Electric, Oracle и Google. Эффективность алгоритмических систем значительно выше работы трейдеров, и по некоторым оценкам [1, 2] на долю HFT приходится около 80% от общего объема торгов акциями в США.

Большие Данные на бирже и не только

При анализе рынков используется множество разнообразных источников данных: официальные документы, средства массовой информации, социальные сети, а также биржевые сводки — что все вместе представляет значительный объем сырых данных. Биржевые площадки распространяют данные по подписке в зависимости от выбранного уровня глубины, однако нет общего стандарта их предоставления, поэтому детализация данных может отличаться от поставщика к поставщику. Крупнейшие биржи, такие как NYSE и NASDAQ, предоставляют возможность получать обезличенные котировки каждого отдельного участника рынка в реальном времени. Заявки на покупку и продажу распределяются в широком интервале, требуя применения различных методов для оценки стоимости активов в произвольный момент времени. Как следствие, объем информации только от одной биржи (например, NYSE или NASDAQ) в среднем составляет 100 Гбайт в сутки, не считая других данных и не учитывая ежегодного прироста, а в периоды высокой активности данные поступают со скоростью в несколько сот мегабит в секунду. Нужно учесть, что в этом потоке многие заявки не отражают цену и имеются внутренние колебания, затрудняющие определение общего тренда. Кроме того, данные очень разнообразны: много участников, много площадок — что усложняет определение влияния одного актива на цену другого.

Цена акций на разных площадках хорошо синхронизирована, и невозможно получить прибыль из простой разницы в цене активов на разных рынках, однако торги проходят независимо и отличаются составом участников, а значит, обработка данных каждой дополнительной торговой площадки, такой как BATS или ARCA, позволяет извлечь новую информацию и улучшить точность предсказания цены. Анализ большого количества данных может дать незначительное улучшение точности (0,5–3%), что в ряде случаев считается оправданным. В частности, использование данных ARCA и BATS в дополнение к NYSE и NASDAQ дает улучшение именно такого порядка, которое с учетом объема заявок может сделать прибыльной работу автоматической торговой системы в целом. Иначе говоря, выставление заявок по случайному алгоритму приводит к торговле с нулевой прибылью, а в случае комиссии — и к убыткам. Даже небольшое дополнительное увеличение количества заявок, выставленных с учетом правильно предсказанного направления преимущественного движения показателей, может позволить приподняться над уровнем рентабельности. Анализ исторических данных позволяет выявлять скрытые зависимости, фильтровать недостаточно точную информацию и строить математическую модель, учитывающую степень влияния различных факторов и прогнозирующую изменение цен на рынках. Найденные закономерности используются в процессе торгов для определения трендов и увеличения прибыли инвестора, торгующего активами на бирже.

Вместе с тем даже очень глубокий анализ различных данных еще не гарантирует достижения желаемых целей. Например, в рамках проекта SETI (Search for Extraterrestrial Intelligence), инициированного в 1959 году для поиска внеземных цивилизаций, миллионы компьютеров пользователей Сети анализируют сигналы, собираемые все новыми и новыми радиотелескопами, однако за все это время была зафиксирована всего пара событий, отдаленно напоминающих сигнал искусственного происхождения. Нельзя обнаружить послание там, где его нет, нельзя сделать биржевой прогноз на основе «грязных» данных, генерируемых в результате различных случайных и нерегулярных явлений. Перед началом проекта целесообразно провести предварительное исследование имеющихся данных, а также учесть особенности решения задач бизнес-аналитики в других областях, не обязательно связанных с финансовой сферой. Например, в здравоохранении можно выявить причины повторных госпитализаций, анализируя медицинские карты и изучая процессы адаптации патогенных микроорганизмов к лекарственным препаратам и вакцинам, одновременно сопоставляя полученные сведения с характерными для данного региона запросами к поисковым системам. В таблице приведены примеры областей, анализируя состояние дел в которых можно достигнуть того или иного целевого показателя.

 

Большие Данные в руках брокера
Большие Данные для бизнес-аналитики и прогнозирования

 

Архитектура системы алгоритмической торговли

Прежде всего алгоритмической торговой системе, как и любой другой системе, решающей задачи прогнозирования на основе Больших Данных, необходимо обеспечить сбор и накопление информации для анализа. Изучение данных ведется специалистами в области статистического и математического моделирования, которые определяют структуру данных, проводят их анализ и визуализацию, а также выдвигают и проверяют гипотезы для построения на их основе математической модели. Данные, которые накапливались годами, необходимо многократно пересчитывать в процессе построения прогнозирующей модели. Сокращение времени проверки одной гипотезы за счет повышения производительности системы управления данными часто является критически важным, и особенно для алгоритмической биржевой системы, где положительный результат может быть достигнут путем непрерывной подстройки модели под быстроменяющуюся микроструктуру рынка, а также за счет постоянного увеличения количества и состава анализируемых данных.

Построение математической модели ведется на исторических данных, доступных в любой момент времени и в любом порядке, однако при работе торговой системы в реальных условиях данные поступают последовательно и обработка поступившего блока должна происходить независимо от времени получения следующего блока данных (см. рисунок). Необходимо, чтобы математическая модель, построенная на исторических данных, была инвариантной к модулю прогнозирования, работающему с непрерывным потоком информации. Модуль сбора данных также должен обеспечивать не только запись данных в хранилище, но и их одновременную передачу в модуль прогнозирования, загружающий текущие данные в математическую модель для расчета вероятной цены активов через заданный промежуток времени.

 

Большие Данные в руках брокера
Пример архитектуры алгоритмической торговой системы

 

Одним из возможных наборов компонентов, позволяющих организовать взаимный обмен информацией для такого рода задач, являются продукты из стека решений компании IBM для работы с Большими Данными.

  • PureData Systems for Analytics — аппаратно-программное решение, позволяющее строить масштабируемые хранилища петабайтного уровня, что оказывается востребованным, когда приходится годами хранить данные по десяткам бирж. Высокая производительность, а также выполнение части задач на уровне СУБД позволяют выполнять процессы «скоринга» данных, например с помощью пакета IBM Statistical Package for the Social Sciences (SPSS).
  • SPSS Modeler — комплект средств построения математической модели для прогноза, а также функций визуализации данных, доступа к базам данных и файлам различных форматов, преобразования текста в свободной форме в набор атрибутов и т. д.
  • InfoSphere Streams — система для сбора и унификации большого потока данных и прогнозирования в реальном времени. Модели, построенные с помощью IBM SPSS, могут быть напрямую использованы инструментами IBM InfoSphere Streams ведения масштабируемого хранилища.

Понимание динамики изменения цены критически важно для извлечения прибыли инвестором из процесса торгов, однако этого еще недостаточно — необходима разработка специализированного модуля управления портфелем и рисками, обеспечивающего выставление заявок с учетом требований законодательства, текущего состояния портфеля, доступности кредитных средств, транзакционных издержек и статистики работы на различных торговых площадках, времени суток и т. д.

 

Стек для Больших Данных

IBM PureData System for Analytics. Специализированное решение для управления хранилищами данных, обеспечивающее интеграцию различных баз, серверов, систем хранения и средств расширенной аналитики. Высокая производительность достигается за счет асимметричной обработки данных с массовым параллелизмом (Asymmetric Massively Parallel Processing, AMPP), в которой серверы-лезвия и дисковые накопители интегрированы с фирменными инструментами фильтрации данных на основе программируемых логических матриц. Такое сочетание обеспечивает высокое быстродействие при выполнении запросов в условиях разнотипных рабочих нагрузок при поддержке тысяч пользователей. Разработчики моделей и специалисты по анализу могут работать с данными непосредственно в системе, не выгружая их в отдельную инфраструктуру.

IBM SPSS Modeler. Универсальная графическая среда для интеллектуального анализа данных, ориентированная как на бизнес-пользователей, не обладающих серьезными математическими знаниями, так и на экспертов в этой области. В рамках одного продукта решаются задачи подготовки данных, построения прогнозных моделей, оценки качества моделей и их развертывания. Пользователю доступен набор автоматических средств по подготовке данных, выбора моделей или их ансамблей для решения конкретной бизнес-задачи. В состав IBM SPSS Modeler входит набор зарекомендовавших себя алгоритмов: различные виды регрессий, деревья решений, нейронные сети, машина опорных векторов, байесова сеть и т. д. Кроме того, представлен ряд методов для уменьшения размерности и выявления наиболее важных для построения модели переменных. Предусмотрен импорт/экспорт разнообразных форматов данных: ODBC, плоские файлы, Excel, IBM SPSS Statistics, IBM Cognos BI/TM, SAS.

IBM InfoSphere Streams. Платформа поддержки процессов принятия решений, анализа и сопоставления информации, поступающей в реальном времени из множества источников. Благодаря распределению программы по узлам кластера имеется возможность обрабатывать данные с высокой пропускной способностью (несколько миллионов событий или сообщений в секунду). InfoSphere Streams помогает анализировать данные «в движении», что позволяет: просматривать данные и события по мере их возникновения; упростить разработку потоковых приложений за счет средств разработки на основе Eclipse; интегрировать уже используемые системы обработки структурированных и неструктурированных данных. Платформа поддерживает повторное использование кода на языках Java и C++, а также моделей Predictive Model Markup Language (PMML). Имеются средства интеграции с СУБД DB2, Informix, Netezza, IBM solidDB, IBM InfoSphere Warehouse, IBM WebSphere Operational Decision Management, IBM InfoSphere DataStage, IBM Smart Analytics System, Oracle, Microsoft SQLServer и MySQL.

 

С определенным упрощением можно сказать, что обработка всех доступных данных в алгоритмической торговле дает возможность заранее покупать активы, которые будут дорожать, и продавать активы, которые будут дешеветь. Многие брокеры и некоторые биржи используют действия своих клиентов в качестве индикаторов в работе их собственных систем алгоритмической торговли. Имея возможность исполнять свои заявки в первую очередь, они используют наиболее выгодные предложения на рынке и не позволяют клиентам получать устойчивую прибыль. Такие манипуляции брокера могут быть выявлены инвестором, например, при статистическом анализе задержек в ходе обработки заявок. Точность определения временных интервалов в многосерверной системе обеспечивает модуль синхронизации времени. Необходимо использовать по-настоящему прямой доступ к рынку, когда заявки отправляются непосредственно в информационную систему биржи (биржевой шлюз), и крупные брокеры предоставляют такую возможность. Чтобы снизить финансовые риски, они требуют немалый гарантийный депозит и наличие интерфейса, позволяющего остановить систему клиента в случае необходимости. Также многие компании заботятся об уменьшении расстояния между их системой и биржевым шлюзом, так как иногда задержки в телекоммуникационных системах оказывают существенное влияние на результаты торговли.

***

Алгоритмическая торговля — лишь один пример прикладной области, где анализ Больших Данных позволяет заработать. Доход 300 компаний, специализирующихся в сфере алгоритмической торговли, превысил в прошлом году 20 млрд долл [3]. Преимущества использования глубокого анализа всей имеющейся информации уже оценили крупные торговые сети, которые хотят прогнозировать спрос на товары для сокращения своих издержек или формируют адресные программы продвижения товаров для конкретных групп покупателей, обобщая данные из социальных сетей. В таких далеких от финансов областях, как, например, служба исполнения наказания, разнообразные данные используются для оценки вероятности повторного совершения преступления осужденным при решении вопроса о его досрочном освобождении. В общем случае анализ Больших Данных позволяет вносить существенный вклад в достижение целевых показателей, определенных в стратегии организации и направленных на получение реального результата.

Литература

  1. Das R., Hanson J.E., Kephart J.O., Tesauro G. Agent-Human Interactions in the Continuous Double Auction. Institute for Advanced Commerce, IBM T.J. Watson Research Center, 2001. URL: http://spider.sci.brooklyn.cuny.edu/~parsons/courses/840-spring-2005/notes/das.pdf (дата обращения: 05.11.2013).
  2. Algorithmic Trading: Hype or Reality? // Aite Group. URL: http://www.aitegroup.com/Reports/ReportDetail.aspx?recordItemID=206 (дата обращения: 05.11.2013). 
  3. Bischoff K. High frequency trading under the microscope as US regulatory systems still count time in full seconds. URL: http://www.opalesque.com/53867/High%20frequency%20trading/frequency_under261.html, http://en.wikipedia.org/wiki/Algorithmic_trading#cite_note-7 (дата обращения: 05.11.2013).

Олег Болгарчук (oleg.bolgarchuk@ru.ibm.com) — ИТ-архитектор, IBM (Москва).