Подтвердить что ты не робот

Высокочастотная торговля

За последние пару недель я столкнулся с множеством статей о высокочастотной торговле. Все они говорят о том, насколько важны компьютеры и программное обеспечение, но поскольку все они написаны с финансовой точки зрения, нет подробностей о том, что делает программное обеспечение?

Может ли кто-нибудь объяснить с точки зрения программистов, что такое высокочастотная торговля? и почему компьютер или программное обеспечение так важны в этой области?

4b9b3361

Ответ 1

Чтобы расширить то, что сказал Пол:

Сервер, выполняющий HFT или UHFT, почти всегда размещается в центре обмена данных. Это минимизирует задержку, а также позволяет альгосам использовать заказы Flash (которые могут быть скоро заблокированы), чтобы сначала просмотреть поток заказов до того, как заказ будет транслироваться на рынок. многие algo будут оценивать заказ всего за несколько миллисекунд, и это игра, в которой миллисекунды имеют значение. Известно, что торговые группы вытаскивают все остановки, включая найм разработчиков ядра, для создания пользовательских компонентов ОС, чтобы лучше оптимизировать время между тем, когда заказ попадает на сетевой адаптер и когда результирующее действие будет выполнено.

Есть несколько крупных ведер стратегий, которые сегодня широко используются:

Первый торгуется перед большими блочными заказами. Чтобы использовать пример Пола покупки миллиона акций IBM, HFT algo будет искать давление на покупку. Фирменные компьютеры на разных биржах и темные пулы должны будут обмениваться информацией, поскольку заказ будет разделен и обычно выполняется через несколько обменов и темные пулы. HFT-алгоритм будет использовать статистические/машинные модели для прогнозирования размера давления на покупку, и если он определит, что этого достаточно, он также будет накапливать акции со всех рынков и попытаться продать их по несколько более высокой цене.

Вторая - торговля рефинансированием ликвидности, где биржи будут платить участникам рынка за добавленную ликвидность. (См. "Прямая оценка границ" ). Акции, которые покупаются или продаются, могут храниться только в течение очень короткого периода времени. Цель состоит в том, чтобы собрать скидку и сломаться даже на все остальное.

В обоих этих типах стратегий идея состоит в том, чтобы делать пенни (или фракции) на торговле и делать это много раз в день.

Как вы, возможно, заметили, есть много доступных рабочих мест HFT, и, следовательно, торговля становится все более переполненной. Я рассматриваю это как нечто вроде stat arb с начала 2000-х годов, и в конечном итоге торговля не будет очень выгодной, так как многие игроки пытаются это сделать.

Что касается важности программного обеспечения: вопрос в миллисекундах. Задержка очень важна, и код должен быть жестким, быстрым и устойчивым к скале. Наличие краха алгота и попадание в акции, когда рынок движется против вас, не очень выгодно. Техника для этих требований обязательно различна и требует разных навыков. Хруст полной книги заказов в режиме реального времени требует определенной мощности и хороших алгоритмов. Это интересно и интересно.

Ответ 2

В любой системе HFT есть две части:

  • Торговля в режиме реального времени с низкой задержкой в ​​реальном времени - подписаться на книги и информацию о ценах в режиме реального времени из разных источников, выполнить откалиброванные алгоритмы, предназначенные либо для выполнения большого заказа с минимальным проскальзыванием (т.е. вы хотите купить 1 миллион долей IBM до конца дня, не слишком сильно перемещая рынок), или просто попытаться статистически заработать деньги на основе краткосрочного арбитража. Эта система также должна обеспечивать хорошие инструменты управления рисками и позициями, позволяющие одному или нескольким человеческим операторам эффективно контролировать и контролировать, что делает система.

  • Анализ данных о большом количестве "данных тика" (цена, время и информация о заказе и исторические данные о предыдущей торговой активности в системах), которые хотят оптимизировать и "искать" лучшие алгоритмы, выполняемые в реальном времени по части №1. то есть "откалибровать" и протестировать алгоритмы, которые будут выполняться в # 1.

Первый требует низкой латентности и чрезвычайно хорошего доступа к рынкам (т.е. прямого сетевого подключения к обмену с минимальными перелетами). Эта часть обычно должна быть написана на языке, отличном от GC, например C или С++ (задержка на половину секунды, в то время как сборщик мусора останавливает мир, может быть очень дорогостоящим). Второй, как правило, требует сетки и много хорошего программного обеспечения для моделирования и статистического анализа, алгоритмов ИИ и т.д.

Ответ 3

Я бы добавил, что наиболее распространенными приложениями в этом виде торговли, как правило, являются CEP (обработка сложных событий). Некоторые примеры - Streambase, Apama и Aleri. С другой стороны, для обработки огромного количества данных люди используют высокоскоростные базы данных, такие как KDB, OneTick и Vhayu.

Если вы хотите понять технические проблемы, я предлагаю сначала взглянуть на этих поставщиков. Их маркетинговые материалы дадут вам хорошее представление о бизнес-приложениях, а также о технических проблемах.

Ответ 4

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

Ответ 5

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

Лучше было бы часто обновлять данные, указывая на интересные тенденции таким образом, чтобы вы могли быстро реагировать на них, будучи легкими в использовании при выполнении часто требуемых операций.

Ответ 6

Почему компьютер или программное обеспечение так важны в этой области?

Самая высокая производительность и минимальная латентность желательны, поскольку чем быстрее вы сможете реагировать на вещи, тем больше денег вы можете сделать.