Перейти к части 2Colocation обеспечивает лучшее решение для высокоскоростных приложенийМы показали, что механизм центрального компьютера может быть заменен на функционально идентичный механизм с использованием группы компьютеров, размещенных с серверами биржи. Парадоксально, но в целях достижения эквивалентного результата мы должны были использовать абсурдные на первый взгляд генераторы искусственных задержек, что тормозило передачу информации от каждого сервера к компьютеру на задержку равную задержке полного круга между сервером и центральным компьютером – d (плюс дополнительная задержка сервера в общем механизме, совмещенных групп). Для большинства алгоритмов "центрального компьютера" удаление генераторов задержки в похожем сценарии позволит дизайнерам разработать алгоритм распределения, который не только соответствует, но гораздо лучше, чем алгоритм "центрального компьютера". Природа и значение улучшения будет зависеть от алгоритма и его функции. В большинстве случаев, алгоритм "центрального компьютера" придется переписать с нуля, чтобы воспользоваться преимуществом предвидения на местном рынке. (Однако, в некоторых случаях, улучшение невозможно. Рассмотрим это на примере неких ежечасных "слепых" аукционов. В таком случае, использование одного центрального компьютера будет оптимальным. То есть более экономичным, чем в группе совмещенных компьютеров.).
Вспомним наш пример "Нью-Йорк-Лондон" из предыдущего раздела. Что было бы, если бы замедлили передачу информации в дата-центре Нью-Йоркской биржи с коэффициентом 10 000 (с типичных двух микросекунд до 20 миллисекунд). Ни один уважающий себя высокочастотный трейдер не станет мириться с таким положением вещей. Удаление генератора задержки позволило бы размещенным компьютерам "заглянуть в будущее на локальных рынках" по сравнению с тем, что видит центральный компьютер. Это позволило бы развить значительное превосходство торговой стратегии. Фирмы, занимающиеся высокочастотной торговлей готовы платить миллионы долларов в месяц, чтобы увидеть 20 мс. в будущем. Другими словами, если компьютер находится в середине между финансовыми биржами, то это лучший способ приблизиться к скорости света, а с помощью компьютеров, размещенным в дата-центрах разных бирж можно "преодолеть скорость света" - откуда и название этой статьи.
Но даже и без каких-либо дополнительных усовершенствований, стратегии на механизме совмещенных групп должны быть развернуты только в N финансовых центрах по всему миру, а не n⋅ (N-1) / 2 "серединных торговых точек", показанные в статье Nature. Наконец, самая хорошая новость: нам никогда не понадобятся страшные "корабли для высокоскоростной торговли"!
Вариант полноценного Colocation решения может эмулировать любое другое решениеМы показали, что механизм "центрального компьютера" может быть всегда заменен на функционально эквивалентный механизм или более эффективный, при использовании группы компьютеров, размещенных в дата-центрах бирж. Один вопрос, который остается: может ли быть улучшено данное решение? Можем ли мы, добавив несколько дополнительных компьютеров в середине и/или удалив некоторые из размещенных компьютеров, получить любое лучшее решение, чем то, которое может быть реализовано с помощью механизма "совмещенных групп"? Ответ: - нет. Полная группа N компьютеров совместного размещения с серверами N обеспечивает оптимальную конфигурацию, которая не может быть улучшена.
Для того, чтобы заявить об этом официально, мы определяем новый термин: "агрегирующая конструкция". Агрегирующая конструкция - это группа компьютеров, работающих под распределенным алгоритмом, включая каналы коммуникации между членами группы и все входные и выходные каналы связи с внешним миром (состоящая из "серверов"). В отличие от одного компьютера под управлением алгоритма, спецификация агрегирующей конструкции должна включать сведения, касающиеся пространственных расположений входов и выходов, а также компьютеров-членов, и задержки ограничений на связи между этими местами. Агрегирующая конструкция более официальный термин для того, что мы называли "черный ящик" в предыдущих разделах.
Данные N серверов, полноценного colocation решения агрегирующей конструкции – это объединение N компьютеров, совмещенных с соответствующими им серверами.
В заключении, чтобы продолжить наше доказательство, нам нужно будет провести операцию по "объединению" компьютеров. Если C1 и C2 два отдельных, совмещенных компьютера под управлением алгоритма A1 и A2, соответственно, то C1^C2 обозначает компьютер, на котором запущены те же алгоритмы и используются в сочетании входящих/исходящих каналов обоих компьютеров как входящих / исходящих каналов одного объединенного компьютера, соответственно (см. рисунок - "Операция по созданию объединенного компьютера C1 ^ C2"). Операция соединения является чисто косметической. Два алгоритма работают независимо друг от друга на объединённом компьютере и сохраняют все их свойства (например, смещение времени, входные задержки и т.д.). Сообщения, полученные и отправленные от двух алгоритмов, также остаются прежними. Операция по объединению позволяет рассматривать два размещенных компьютера, как один компьютер, который функционально эквивалентен обоим, будучи объединенными. От перестановки компьютеров суть операционного объединяющего компьютера не изменится. (В соответствии с правилами
commutative и
associative.).
Теперь мы готовы сформулировать и доказать основной результат.
Следствие 1. Любое объединение компьютеров, подключенных к нескольким серверам, может быть повторно реализовано с использованием полноценного colocation решения агрегирующей конструкции таким образом, что поведение агрегирующей конструкции (как зафиксировано серверами) неотличимо от исходной совокупности.
Для доказательства используем метод математической индукции (mathematical induction ) по числу K компьютеров совокупности, которые не совмещены ни с одним из серверов.
Очевидно, что вывод верен для К = 0. Здесь каждый компьютер агрегирующей конструкции находится в colocation связке с одним из серверов. Для того, чтобы сформировать эквивалент полноценного colocation решения агрегирующей конструкции, мы добавляем компьютеры, не совершающие никаких действий, к серверам, у которых нет подключенных компьютеров, и мы заменяем все компьютеры, находящиеся в colocation связке с данным сервером на их Joined версию (см. рисунок выше), чтобы обеспечить единый объединенный объект на каждый сервер.
Предположим теперь, что следствие верно для некоторого K ≥ 0.
Рассмотрим агрегирующую конструкцию D* подключённую к N-серверам (X1, ..., Xn), так чтобы K+1 компьютеров, которые не находятся в colocation связке ни с одним из серверов.
Мы начинаем с нормализации D*: добавляем компьютеры, не совершающие никаких действий, к серверам, у которых не было подключенных компьютеров D*, и мы заменяем все агрегирующие конструкции, находящиеся в colocation связке с данным сервером на Joined версию (см. рисунок выше), чтобы обеспечить единый объединенный объект на каждый сервер. Это не меняет количество, не находящихся в colocation связке компьютеров D* или поведение агрегирующей конструкции.
Отныне, мы предполагаем, что Di является одним из компьютеров D*, находящийся в colocation связи с сервером Xi для i = 1, ..., N. и что компьютеры DN+1, ..., DN+K+1, не находятся в colocation связи ни с одним из серверов.
Таким образом, мы предполагаем, что объект DN+K+1 не связан напрямую с любым сервером Xi. Если он был подключен непосредственно к Xi, мы всегда можем поручить компьютерам, находящимся в Colocation связке c Di стать сквозным посредником между Xi и DN+K+1.
Рассмотрим теперь все D1, …, DN+K компьютеры, как "серверы" в теореме 1. Пусть C = DN+K+1 будет центральным компьютером связующим с "серверами" D1, …, DN+K. По теореме 1, мы можем построить функционально идентичную систему, которая заменяет C на N+K компьютеров Xi, размещенным с соответствующими компьютерами Di.
Наконец, определим новую агрегирующую конструкцию E* работающую на компьютерах E1, …, EN+K, где мы устанавливаем Ei = Ci ^ Di..
Очевидно, что агрегирующую конструкции E* - это эквивалент D* (когда под присмотром серверов Xi), но имеет только К участников, которые не находятся в colocation связи ни с одним из серверов. Таким образом, по методу индукции, E* является эквивалентом полноценного colocation решения агрегирующей конструкции. Это завершает (предыдущий) шаг и доказывает следствие.
Примечание: Доказательство данного следствия может рассматриваться как предоставление метода, который позволяет удалить один за одним в любой последовательности не связанные colocation связью участников совокупности D* без изменения функциональности агрегирующей конструкции (как это зафиксировано серверами).
Colocation предоставляет оптимальное решениеРассуждая об "оптимальности" мы можем только предположить, что пользователь имеет в виду измеримую меру полезности, которую можно будет применить к любой совокупности агрегирующих конструкций с определенным набором серверов. Мы предполагаем, что функция "полезности" может базироваться только на данных, полученных с серверов. (Например, можно было бы оценить торговую стратегию по ее средним дневным результатам на основе некоторого эталона, используя исторические исходные данные, собранные серверами). Теперь мы можем перефразировать Следствие 1 и констатировать, что:
Следствие 2. Полноценное colocation решение агрегирующей конструкции является оптимальным вариантом для HFT арбитражеров. Другими словами, нераспределенный алгоритм может обойти другие алгоритмы, используя агрегирующую конструкцию и colocation связку с серверами бирж.
Примечание: в итоге, в высшей степени важно учитывать нашу ненавязчивую позицию в определение того, что является "лучшими" средствами. Независимо от того, как вы оцениваете работу вашего алгоритма (например, желаете ли вы заработать или потерять больше денег), вы не можете обогнать распределённый вариант описанный выше. В качестве примера: Не начинайте интервенцию йены, если не находитесь в Токио (а также если не находитесь в Лондоне, если на то пошло)!
Реверсивные роли – распределенные биржи преодолевают скорость светаДо сих пор мы рассматривали теорему 1 в сценариях, состоящих из торгового компьютера, подключенного к серверам нескольких бирж, потому что это схема укладывается в сценарий "серединной точки" из статьи журнала Nature. Теперь мы переформулируем теорему 1, поменяв местами роли бирж и финансовых центров.
Традиционные биржи располагают центральным matching (мэтчинг/матчинг) движком для компьютеров клиентов HFT, размещенным в одном центре обработки данных. Удаленные клиенты могут находиться по всему миру, используя компьютеры, расположенные в точке доступа дата-центров (либо самой биржи, либо сторонних компаний), которые предлагают безопасное, надежное и естественно с малой задержкой подключение к центральной системе (ядру биржи).
Рассмотрим теперь мэтчинговый движкок бирж как “центральный компьютер” и точку доступа в дата-центры, как "серверы", приведенные в теореме 1. Используя эту хитрость, теорема 1 может быть сформулирована следующим образом:
Следствие 3. Любой центральный мэтчинговый движок биржи подключенный к N ≥ 1 точки доступа дата центров может быть воспроизведен с использованием группы N соединенных между собой мэтчинговых движков, которые находятся в соответствующих дата-центрах таким образом, что поведение новой реализации (как зафиксировано в дата-центрах) ничем не отличается от оригинального решения на одном мэтчинговом движке.
В результате, следствия 1 и 2, могут быть преобразованы таким же образом. В частности архитектура биржи, которая использует полноценное colocation решение агрегирующей конструкции мэтчинговых движков (один мэтчинговый движок на каждую точку доступа дата центра) является оптимальной!
Кейс для распределенных биржОчевидно, что участники, торгующие HFT алгоритмы, давно выяснили преимущества colocation, когда торгуют арбитраж AAPL между различными серверами бирж Нью-Джерси, или когда торгуют арбитраж E-Mini на CME в Aurora, IL versus SPY, Arca в Secaucus NJ. Так почему же биржи упорно используют центральные мэтчинговые движки?
Основной причиной является производительность и прибыль биржи. По сравнению с одним центральным биржевым компьютером, распределенная биржевая архитектура добавляет проблем с точки зрения дизайна и сложности устройства, увеличивает задержки сделки, а также дополнительные затраты на инфраструктуру. Эти эффекты могут ощутить на своем опыте все клиенты биржи, даже те, которые не участвуют в арбитражных операциях и рады торговать в одном месте совместного размещения с простым, быстрым и относительно недорогим центральным мэтчинговым движком. Распределенная архитектура биржи также будет способствовать снижению (или сведет на нет) необходимость арбитража, что в результате снизит огромные объемы торговли арбитражеров, которые приносят пользу бирже.
На фондовом рынке США, торговля географически сосредоточена в одном месте. Начиная с NYSE и Nasdaq, практически все фондовые торги в США осуществляются на серверах в Нью-Джерси, которые находятся в нескольких десятках километров друг от друга. Несмотря на то что (благодаря 1998 SEC Regulation ATS) одна и та же акция может торговаться на нескольких биржах, каждая биржа, как правило, имеет только один мэтчинговый движок для данного эмитента. Несмотря на все это еще можно было утверждать, что, в целом, американский рынок акций использует распределенную мэтчинговую архитектуру:
1. Акции биржи и ATS (альтернативные торговые системы) требуют отправки заявок на разные площадки, чтобы получить лучшую цену (благодаря 2007 SEC регулирования NMS).
2. Распределители для умных заявок расположенные в точках доступа отправляют заявку на ту биржу, где заявка имеет наибольшие шансы пройти по лучшей цене.
3. Брокер/банк, выполняющие внутренние внебиржевые сделки и "дарк пулы" можно рассматривать как расширение основного мэтчингового механизма биржи.
Конечно, дьявол кроется в деталях и если посмотреть внимательно, то существующая биржевая архитектура Фондового рынка США (если рассматривать в совокупности как единый механизм) является чудовищно сложной и неэффективной. Компьютеры HFT трейдеров, имеющие colocation связку с несколькими ближайшими биржами процветают, торгуя арбитраж и другие интеллектуальные методы, эксплуатирования неэффективностей.
На рынках акций, опционов и фьючерсов, в силу исторических причин, восходящих к торговле фьючерсами на кукурузу или пшеницу, большинство американских фондовых фьючерсов и опционов торгуются в Чикаго (на CME и CBOE, соответственно). Здесь логично было бы просто переместить мэтчинговые движки CME и CBOE в Нью-Джерси. Но это вряд ли произойдет, учитывая, что пока еще нет конкурентного давления на биржи Чикаго, которое мотивировало бы их на этот шаг. Высокочастотные трейдеры этому только рады и конкурируют друг с другом, чтобы построить лучше дешевле, быстрее, распределенные арбитражные стратегии (используя
Spread Networks tunnel и
its true-speed-of-light successors[9]).
Поистине распределенная архитектура биржиНаконец, давайте зададим обратный вопрос: почему и где были бы полезны распределенные биржевые серверы мэтчинга заявок для конкретного инструмента в отдалении от самих бирж? Первый ответ в том, что распределение биржевых серверов в пространстве было бы полезно, если клиенты были бы географически "рассредоточены" и не желали заказывать colocation своих торговых компьютеров с центральным мэтчинговым движком биржи.
До сих пор, единственная область, где распределенная биржевая архитектура нашла свое применение - это торговля на рынке Forex. Например, когда вы торгуете USD (доллар США) против JPY (Японская иены), необходима локальная информация о состоянии экономики каждой из двух далеко расположенных стран. Кроме того, есть политические аргументы против торговли своей валютой с помощью мэтчинговых движков далеко за рубежом.
Когда впервые была представлена электронная заявка на спот рынке Forex, что впервые произошло в 1990-х годах, были первоначально две USD/JPY биржи: Reuters (в Лондоне) и Майнекс (в Токио). Лондон - Токио задержки в те дни были порядка 300 мс, которые легко заметны невооруженным глазом. Также, были политические причины против торговли свей валютой на зарубежных площадках.
Когда мне была поставлена задача разработки новой глобальной биржи
EBS Forex exchange, я выбрал распределенную архитектуру с тремя синхронизированными мэтчинговыми движками - в Лондоне, Нью-Йорке и Токио[10]. Это при условии отличной производительности во всех трех регионах и удовлетворении требований мировых банков. В 1996, EBS вошла в состав Minex, став доминирующей мировой USD/JPY площадкой на межбанковском электронном рынке - позиция, которую она занимает и по сей день. (Хотелось бы мне в то время обладать информацией из этой статьи, иметь представление о данной работе, когда пытался убедить своих коллег поверить в распределенную архитектуру бирж... но, в конце концов, мы использовали наше шестое чувство -, - и оказались правы)
Другой пример распределенной Forex площадки является
Fastmatch, которая также имеет три мэтчинговых движка: в Лондоне, Нью-Йорке и Токио. Ее архитектура значительно отличается от EBS, однако, заявки распространяются не прозрачным способом и мэтчинг осуществляется по трем регионам.
Литература по данной тематикеЧтобы узнать больше о чудесах распределенных торговых систем, исследуйте ссылки [11] и [12] .
Благодарности автораЯ благодарю Michael Merold, Schalk Steyn, Alec Schmidt, Mark Reece, Wlodek Stankiewicz, Ewa Howorka, и всех, кто предоставили полезные комментарии по первоначальному проекту этого документа.
Ссылки1. Mark Buchanan,
Physics in finance: Trading at the speed of light, Nature, Feb 11, 2015.
2. A. D. Wissner-Gross and C. E. Freer,
Relativistic statistical arbitrage, Physical Review E 82, Nov 5, 2010.
3. World Federation of Exchanges,
WFE 2009 Annual report and statistics, Dec 2009.
4.
Stock Trades at the Speed of Light, PhysicsCentral, Nov 11, 2010.
5. Eric Garcia,
Physicist says it is possible to use ships to facilitate high-frequency trading, MarketWatch, Feb 19, 2015.
6. M. Rohan,
Dark pool and HFT: It is possible to use ships for high-frequency trading, International Business Times, Feb 19, 2015.
7. Timothy B. Murray, HFT’s Oceanic Moment, WatersTechnology, Mar 11, 2015.
8. M. Rohan,
Dark pool and HFT: BoE says high-speed trading helps markets, International Business Times, Feb 24, 2015.
9. Scott Patterson,
High-Speed Stock Traders Turn to Laser Beams, Wall Street Journal, Feb 11, 2014.
10. Michael Togher, Michael F. Dunne, Richard Hartheimer,
Credit management for electronic brokerage system, U.S. Patent No. 5,375,055, issued Dec 20, 1994, assigned to
EBS.
11. Edward R. Howorka, Andrew P. Foray,
Architecture for anonymous trading system, U.S. Patent No. 7,184,982, issued Feb 27, 2007, assigned to
EBS.
12. Edward R. Howorka,
Method and apparatus for enhancing market data feed using proprietary order flow, U.S. Patent No. 8,296,217, issued Oct 23, 2012, assigned to
MarketFactory.
13. Edward Howorka,
In brief, colocation beats the speed of light, The Trading Mesh, Apr 9, 2015.
Ссылка на первоисточник данной статьиПеревод:
Николай Флёров