Знания | Статьи | Софт / Программирование / https://habrahabr.ru/company/itinvest/

Как на самом деле устроена торговля на бирже: Простой алгоритм

15 августа 2016
Высокочастотные трейдеры – особая каста биржевых игроков. Мало, кто из них, снисходит до описания смысла своей профессии простым человеческим языком. Мы нашли блог Марко Стуккио, бывшего кванта, который решил написать краткую апологию HFT.

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

Механика HFT

Любую серьезную дискуссию по поводу высокочастотного трейдинга приходится начинать с азов. Объяснять механизмы и практики, лежащие в основании HFT. Главный объект в нем, как и в случае с любыми операциями по ценным бумагам, — регистр ордеров (order book). Предположим, некий трейдер Мэл выходит на биржу с желанием купить некоторое количество акций компании Blue Sun. Он примерно представляет, сколько он готов купить и по какой максимальной цене. Далее он осваивает процесс сведения заявок и обработки сделок (matching engine). Это может быть площадки BATS, ARCA или любая другая, где он размещает ордер:
BUY(owner=Mal, max_price=20.00, quantity=100)

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

SELL(owner=Inara, min_price=20.10, quantity=200)
------
BUY(owner=Mal, max_price=20.00, quantity=100)


В этой точке еще никакой сделки не случилось. Мэл хочет купить по 20 долларов или меньше, Инара хочет продать за 20,10 или больше. Рынок сформировал разницу между аском и бидом в $0,10.

Усложним задачу. Пока первые двое чешут макушку, на рынок заходят Кайли и Ривер. Допустим, появилась новая позиция на продажу 200 акций по $20,21 и еще одна на 100 акций по 20,10.

Наконец, на бирже появляется Саймон, который размещает ордер на покупку 250 акций по цене $20,21. Он с радостью заключит сделку с Инарой, Кайли и Ривером. Все они запросили меньше его цены. Система использует два базовых правила, определяющих, кто кому сколько продаст:

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

Итак, на момент появления последнего покупателя регистр ордеров выглядел так:

SELL(owner=Kaylee, min_price=20.21, quantity=200) <- Trades third
SELL(owner=River, min_price=20.10, quantity=100) <- Trades second
SELL(owner=Inara, min_price=20.10, quantity=200) <- Trades first
------
BUY(owner=Mal, max_price=20.00, quantity=100)


После того, как Саймон разместил свой ордер на покупку 250 акций, механизм распределит его следующим образом:

200 акций ему продаст Инара по цене $20,10. Просто потому, что она была первой с такой ценой.
50 акций ему скинет Ривер, потому что его ценовое предложение было лучше, чем у Кайли.

Все, покупатель получил тот объем акций, который и хотел. Регистр теперь будет выглядеть так:

SELL(owner=Kaylee, min_price=20.21, quantity=200)
SELL(owner=River, min_price=20.10, quantity=50)
------
BUY(owner=Mal, max_price=20.00, quantity=100)


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

Маркет-мейкинг

В высокочастотной алгоритмической торговле, в основном используется стратегия маркет-мейкинг. В самом простом понимании, это означает, что трейдер играет с той и с другой стороны стола одновременно. Он не открывает и не закрывает позиции, ориентируясь на тренд рынка. Вместо этого он выставляет активы и на покупку и на продажу в одно и то же время. Если вы хотите купить акции, он продаст вам их по цене $20,10. Если вы хотите продать, он купит их у вас по цене $20 за штуку. Пока он покупает и продает, ценовая разница колеблется незначительно. Его цель и профит – это те самые $0,10.

Разумеется, даже в этом случае трейдер несет определенные риски. Никто не гарантирует, что после покупки акций по 20 долларов, рынок не зафиксируется на этом уровне. Если он купил по 20, а активы упали до 15 до того, как он успел их скинуть, он потеряет $5 с акции. Поэтому такой трейдер должен сбалансировать риски с учетом прибыли. Если он будет держать разницу аск/бид слишком низко, он потеряет деньги, если высоко – никто не станет торговать с ним.

Нужно понимать, что в стратегии маркет-мейкинг нет ничего нового или революционного. Вспомните, фильмы про фондовую биржу, где трейдеры открывали и закрывали позиции криками и жестами. Это называлось «торговать в яме». Такая практика была распространена с давних времен по начало 2000-х годов, когда шаг был 1/8 и 1/16 доллара.

Автоматизированные трейдерские системы пришли на смену таким маркет-мейкерам по очень простой причине: снижение издержек. Во-первых, такая стратегия работает только с несколькими активами одновременно, ни один человек не сможет удержать в голове позиции по сотням акций. Во-вторых, вы экономите время. Система способна генерировать от десятки и сотни тысяч долларов прибыли ежегодно. То есть, если поставить на ее место человека, он, будучи достаточно умным, чтобы правильно оценивать рынок, будет работать как минимум за пару десятков тысяч долларов годового дохода. Средненький сервер в дата-центре способен управляться с сотнями стратегий с выгодой до $50 тысяч в год. Делать это намного быстрее и аккуратнее, чем человек.

Другими словами, мы имеем дело с частным случаем общего процесса по замене людей роботами.

Время и поток ордеров

Для маркет-мэйкера суть игры состоит в движении ордеров (order flow). Пока ваши покупки и продажи скоординированы, ваша прибыль будет пропорциональна вот этому:

(# of shares traded) x (ASK PRICE - BID PRICE)


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

Ответ банален: нужно держаться в топе регистра ордеров. Самый прямой путь к этому – предлагать лучшую цену. Вернемся к нашему примеру с трейдерами. Допустим, есть еще и Джейн, который желает встать во главе очереди из покупателей. Ему нужно предложить лучшую цену, чем у Мэла.

SELL(owner=Kaylee, min_price=20.21, quantity=200)
SELL(owner=River, min_price=20.10, quantity=50)
------
BUY(owner=Jayne, max_price=20.05, quantity=100) <-   Джейн предлагает цену лучше
BUY(owner=Mal, max_price=20.00, quantity=100)        чем Мэл, следовательно, она торгует первой.


Теперь настает время задуматься о балансе. Поскольку Джейн имеет лишь $0,05 с проданной акции, ей нужно быть уверенной в том, что прибыль перевесит риски. Предположим, что граница между ожидаемой прибылью и потерей установлена на уровне $20,05. Другими словами, на рынке не найдется ни одного участника, кто верит в то, что получит прибыль, предложив больше этой суммы. При таком раскладе Джейн всегда будет первым, просто потому что первой зашел.

Этот пример показывает, почему так важна скорость реакции. Допустим, ровно в 10:31 часов и 30 секунд утра приходит новая информация, которая позволяет поднять цену до 20,07, чтобы получить прибыль. Возможно, вышел пресс-релиз, где есть намек на то, что акции компании пойдут вверх. В этом случае и Мэл и Джейн захотят поднять цену до 20,07. У кого получится это сделать быстрее, тот и возглавит список покупателей.

SELL(owner=Kaylee, min_price=20.21, quantity=200)
SELL(owner=River, min_price=20.10, quantity=50)
------
BUY(owner=Mal, max_price=20.07, quantity=100) <- получено в 10:31:30:427
BUY(owner=Jayne, max_price=20.07, quantity=100) <- получено в 10:31:30:639, на 212 мс позднее.


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

Вторая причина заключается в том, что есть движение рынка. Нередко трейдеры хотят отменить свои ордера. В 10:31 произошло событие, которое говорит о движении цены вверх. Риверу нужно успеть отменить свой ордер на продажу по $20.10, чтобы поднять цену до $20,20. Допустим, есть еще некто, кому будет, наоборот, выгодно после этого события атаковать ордер Ривера на цене 20,10. Ривер останется в игре, если сможет оперативно убрать этот ордер. Если пойдет атака на ордер, Ривер будет вынужден поднять цену лишь до $20,15, чтобы рисковать только 0,05 за акцию.

Почему все сваливаются на одну цену?

Проницательный читатель уже, наверное, задался вопросом: почему Мэл и Джейн согласны, что лучшая цена предложения 20,07? Может быть, расчеты Джейн показывают, что это будет 20,075, а расчеты Мэла – 20,071? Да, вероятней всего, оба игрока расходятся во мнении, что же будет являться лучшей ценой. Нет ни одной причины, почему программы или трейдинговые стратегии Мэла и Джейн выдадут им идентичную цену до тысячных долей.

Вне зависимости от того, что им подсказывает стратегия, они не могут размещать ордера на свои лучшие цены. Правило минимального ценового приращения SEC Rule 612 недвусмысленно запрещает им выставлять цену продажи или покупки в долях цента. То есть покупка 100 акций за 20,07 годится, а покупка 100 акций по 20,075 – уже нелегально. Кстати, до 2001 года лимит был 1/16 доллара или $0,0625 (аналогичный шаг цены для разных финансовых инструментов есть и над других биржевых площадках, например на Московской бирже).

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

Как HFT-трейдеры делают деньги

В прошлый раз речь шла о том, что в высокочастотном трейдинге всем «рулят» стратегии маркет-мэйкинга. Автор пояснял «кухню» HFT на примере нескольких вымышленных персонажей – участников рынка. Проделаем еще один мысленный эксперимент. У нас есть два «маркет-мэйкера» (Лила и Бендер) и два спекулянта (Фрай и Зойдберг). Предположим, Фрай год назад приобрел акции компании MomCorp по цене $5 за штуку и теперь хочет их обналичить. Зойдберг полагает, что MomCorp – удачное вложение денег и хочет войти на рынок, чтобы их приобрести.

12:00:00.000 - MomCorp issues an earnings release

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

12:00:00.032 BUY(Leela, $10.00, 100 shares) <- Leela trades first
12:00:00.042 SELL(Leela, $10.05, 100 shares)
12:00:00.045 BUY(Bender, $10.00, 100 shares)


В нашем примере Лиле удалось опередить Бендера и заработать $0,05 с акции. Просто потому, что она разместила свой ордер раньше. Опоздай они оба на 100 мс, никто из них не оказал бы на ситуацию влияния.

Теперь Фрай уверен, что сможет удвоить свои первоначальные инвестиции и готов к продаже.

12:01:00.000 SELL(Fry, $10.00, 100 shares)


Система обработки и сведения заявок (matching engine) выводит сделку между Фраем и Лилой с показателями 100 акций по 10 долларов. Стоит заметить, что для Фрая соревнование между двумя покупателями не имеет значения. Все, что знает Фрай – это то, что он продает свои 100 акций некоему анонимному контрагенту. Лила получила свои 100 акций и находится в ожидании нового игрока на рынке. В этой ситуации возможны два варианта:

В 12:05:00 проявляется Зойдберг и забирает все 100 акций по $10,05. Профит Лилы составляет 0,5 за акцию.
В 12:05:00 акции MomCorp падают до 9,50 за штуку, из-за опасений о качестве продукта компании. Зойдберг готов забрать 100 акций по текущей цене. Лила теряет 0,5 долларов с акции.

На практике второй вариант встречается реже. Но его вероятность всегда существует. Поэтому продавец, типа Фрая, всегда готов пожертвовать $0,5 за акцию в качестве платы за риск. Он не хочет переживать по поводу движения цены, переложив этот риск на кого-то типа Лилы.

Раскрытие цены

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

Трейдеры не участвуют в процессе раскрытия цены напрямую. Никто из игроков не имеет своего мнения или сведений о ценности той или иной компании. Что же в таком случае они производят? В теории цена акции – это результат общей договоренности или консенсуса. В реальном мире всегда присутствует фактор ошибки, значение которой пропорционально транзакционным издержкам. Если они, к примеру, составляют $1 со сделки, то корректировка цены на 0,5 или 0,99 не даст вам возможности заработать. То есть рыночная цена будет отличаться от «истинной цены» примерно на 1 доллар. При этом, если принимать в расчет риски, то и предполагаемая наценка на акцию должна быть выше. Если вы осознаете, что можете не продать акции, нет смысла начинать с покупки.

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

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

Взглянем на регистр ордеров:

SELL($10.10, 100 shares)
----------- A ---------
BUY($10.00, 100 shares)


Данный регистр обладает меньшей ликвидностью, чем следующий:

SELL($10.08, 100 shares)
----------- B --------
BUY($10.03, 100 shares)


Просто потому, что у регистра B, в отличие от A, распределение более компактно, уже ($0,5 вместо $0,10).

SELL($10.10, 100 shares)
SELL($10.10, 100 shares)
----------- C ---------
BUY($10.00, 100 shares)
BUY($10.00, 250 shares)


В регистре C ликвидность выше, чем в регистре A, поскольку в нем доступно больше акций по цене $10 и $10,10. При сопоставлении B и C ответ уже будет субъективным и не таким однозначным. По мнению автора статьи, в случае с ликвидностью речь идет о частичном исполнении ордеров, а не о полном. Некоторые люди предпочитают измерять ликвидность количественно. Для этого есть масса способов.

Почему для игроков так важна ликвидность?

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

Допустим, текущая цена акций MomCorp составляет $9/9,05. То есть покупка прямо сейчас будет стоить ему 9,05 долларов, а продать прямо сейчас он может за 9 долларов. Если Фрай уверен, что за год MomCorp вырастет до $10, он должен произвести следующие действия:

Купить сегодня 100 акций по цене 9,05. Это поднимет акции до $9,15, переведя информацию Фрая на язык цены для всего рынка.
Продать через год по $10, учитывая, что бид/аск к тому моменту будет на позиции $10/10,05.

Прибыль составит 95 долларов.

У Фрая довольно легко получилось передать информацию, свое убеждение рынку, потому что он хотел спекулировать на рынке с высокой ликвидностью. На ценовом шаге в 1 доллар он заработал 0,95 с акции, заплатив $0,05 в качестве транзакционных издержек.

Что было бы, будь MomCorp менее ликвидной? Если бы никто не пожелал продать Фраю 100 акций, он бы застрял на шаге первом. Рынок бы не получил новую информацию. Но даже, если бы продавец нашелся, у него могли возникнуть сомнения, удастся ли ему через год найти покупателя.

Невозможность торговать, когда ты этого хочешь, называется риском ликвидности. Если Фрай этот риск принимает, вероятно, он рассчитывает на большую разницу между текущей ценой и ценой через год.
Теперь предположим, что акции компании доступны, но распределение бид/аск у них шире – $8,50/9,50. При таком раскладе трейдинговая стратегия может выглядеть следующим образом:

Купить сегодня 100 акций MomCorp по 9,50, и мы получим распределение $8,65/9,65. Рынок переварил эту информацию.
Через год цена поменялась до 9,50/10,50, и Фрай может продать свои 100 акций по $9,50.

Прибыль составит $0. Весь возможный профит от движения цены ушел на оплату распределения.

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

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

При этом нужно понимать, что в стратегиях высокочастотного трейдинга ликвидность может быть мимолетна. Здесь вы предлагаете ликвидность на несколько секунд на значении $10/10,05, проводите ордер (поднимая распределение до 9,99/10,05) на несколько секунд в ответ на некое событие на рынке, возвращаете его на несколько секунд и так далее. Для Фрая все это не имеет значения. Он вообще не в курсе, кто ответит на его ордер в момент размещения. Для него, скорее всего, распределение бид/аск будет быстро колебаться между 9,98/10,07 и 10/10,05, потом будет замедляться и зафиксируется на значении 9,90/10,10.

HFT как сетевая инфраструктура рынка

Если издержки транзакции составляют, по крайней мере, $X, сообщения со значением <$X не будут отправляться. Автор отправляет тысячи писем ежегодно, цена каждого email здесь равна клику мыши. Дважды в год ему приходится отправлять ровно два обычных бумажных письма. Оба касаются штрафов за просроченную декларацию о доходах. Оба обходятся довольно дорого: поход в почтовое отделение и общение с не очень приветливыми почтовыми служащими.

Разработчики Gmail радикально снизили издержки на отправку одного сообщения. Стоимость коммуникаций существенно ниже, меньше проблем, больше писем. По большому счету, игроки на бирже (в особенности трейдеры HFT) осуществляют те же функции на финансовых рынках. Когда кто-то решается торговать, он передает свою информацию рынку. «Маркет-мейкеры» снижают транзакционные издержки для спекулянтов, позволяя последним делать более точные корректировки цены.
Автор убежден, что автоматизированные «маркет-мейкеры» просто быстрее и умнее своих человеческих прототипов. В этом, собственно, и есть апология или слово в защиту высокочастотного трейдинга.

Есть две причины, по которой роботы делают свою работу лучше. Они более аккуратны, быстрее производят точные расчеты. Удачное распределение может быть $10/10,10. Но человек готов выбрать 9,98/10,12, чтобы избежать возможных арифметических ошибок. Машина готова предложить более узкое распределение, не боясь промахнуться.

Автоматы дешевле. На свете не так много людей, способных всегда придерживаться выигрышной стратегии на рынке. Вероятно, такой работник будет «стоить» финансовой компании не меньше 50-200 тысяч долларов в год. Но, каким бы гениальным ни был человек, он одновременно может управляться с ограниченным числом активов. Стратегия, управляемая человеком, в идеале способна давать по 200-300 тысяч долларов дохода в год. Машина может управлять сотней активов. Если сервер в добротном дата-центре обойдется, предположим, в 50-200 тысяч в год (цифра взята, чтобы привязать машину к человеку), достаточно получать с каждого из 100 активов доход в 2-3 тысячи долларов, чтобы перекрыть возможности человека.

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

Скорость реакции

Проницательный читатель может задать вопрос: обязательно, чтобы операции на рынке укладывались в 4 миллисекунды? Ответ: нет. Взглянем еще раз на пример из статьи. Фраю неважно, во сколько Лила разместила свой ордер. С его позиции, он торгует с анонимным контрагентом. Для спекулянта фактически без разницы, в какой промежуток уложится HFT-сделка: в 12, 24 мс или даже в 24 секунды. Для него значение имеет лишь факт, что кто-то готов продать или купить акции в узком распределении бид/аск.

Для Лилы скорость имеет значение, потому что это позволяет ей торговать перед Бендером. Окажись она медленнее, преимущество переходит ко второму игроку. Для Фрая важно то, что они вступили в соревнование по цене. То есть для конечного потребителя момент скорости не принципиален. Тем не менее, все трейдеры HFT вынуждены играть в эту игру. Иначе более быстрый трейдер вытеснит их с рынка.

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

Зачем HFT-трейдеры соревнуются в скорости

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

SELL(owner=Whiskey , min_price=10.02, quantity=200, time=9:45:00.000) <- Trades third
SELL(owner=Echo, min_price=10.01, quantity=100, time=9:45:00.003) <- Trades second
SELL(owner=Topher, min_price=10.01, quantity=200, time=9:45:00.001) <- Trades first
------
BUY(owner=Sierra, max_price=10.00, quantity=100)


В этом примере Тофер будет торговать первым, поскольку его ордер пришел первым по минимальной цене. Виски сделала заявку первой, но будет последней в очереди, поскольку предложила цену выше. Действует общее правило: чем больше торгуешь, тем теоретически выше прибыль. Нельзя исключать, что в нашем случае Эхо хотела предложить более привлекательную цену. Скажем, $10,008. Однако действующая норма минимального ценового приращения SEC Rule 612 запрещает ей выставлять цену продажи или покупки в долях цента. Поэтому, можно утверждать, что Тофер стала первой, просто потому была быстрее, а не из-за лучшей цены.

Правило Sub-Penny

На американских биржах существует правило минимального ценового приращения (Sub-Penny rule — аналогичные правила есть и на других биржевых площадках), которое действует как ценовая нижней границы для ликвидности. Оно запрещает продавать ликвидность по цене ниже 0,01 доллара. Допустим, Эхо хочет предложить лучшую сделку, но данная норма не позволяет ей обставить Тофера. Сетевой эффект от этой штуки заключается в следующем: любой, кто желает приобретать ликвидность, должен переплачивать $0,02 за акцию. И весь этот доход идет в карман Тоферу.

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

На цене выше $0,01 движения цены становятся скачкообразными. Например, на распределение бид/аск на $0,05 вы не можете зайти на рынок с ценой $0,049 или 0,045. Поэтому игроки вынуждены больше внимание уделять скорости реакции, а не цене. Ценовое соревнование возможно, когда кто-то из них готов предложить цену, по меньшей мере, на 0,01 доллар лучше, чем у другого. В реальной ситуации рынка это исключительный случай.

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

HFT-трейдеры стремятся «сесть на ренту»

Термин экономическая рента определяет разницу между сырьевыми издержками (любыми факторами производства) на производство любого товара или услуги и ценой этого товара. На конкурентном рынке рента обычно стремится к нулю.

В качестве классического примера экономической ренты автор приводит только что возведенный город на американском Западе. Землевладелец (пусть ее зовут Адель) – тот, кто, как правило, прибывает на место первым. Когда Адель вместе со всем своим скарбом появляется на новом месте, она строит гостиницу. Все, кто прибыл позже нее, вынуждены платить ей ренту за проживание или жить на улице. Таким образом, Адель вольна устанавливать любую цену. Предположим, 100 долларов в сутки.

По мере развития городка строятся новые гостиницы, и Адель со временем вынуждена снизить цену до 50 долларов. Разница между монопольной ценой Адель за проживание и ее новой ценой на конкурентном рынке ($50) – это извлеченная ею экономическая рента или «альтернативный доход».

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

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

В случае высокочастотного трейдинга правило минимального приращения отдает ренту тому, кто быстрее других. В нашем примере Тофер собирает ренту в 0,002 доллара за акцию. Его система трейдинга, алгоритм, который сокращает время получения ответа на запрос с сервера, — это пример рентооринтированного поведения. Он тратит все свои ресурсы, чтобы выбить себе право на эту долю, вместо того, чтобы создавать нечто новое.

Нетрудно догадаться, что, на самом деле, рента составляет все $0,005 с акции. Мы получаем такой результат, если рассмотрим лучшую цену на рынке как переменную случайного распределения на интервале [n x $0.01, (n+1) x $0.01]. Тофер может вкладывать в улучшение своей стратегии получения ренты инвестиции от $0,0049 за акцию. Для него это выгодно, даже если никто из его клиентов не получает от этого доход.

Отмена правила минимального приращения

На протяжении всего XX века на рынках действовали нормы приращения в 1/16 доллара (0,0625). В 2001 Комиссия по ценным бумагам и биржам приказала финансовым рынкам свести шаг приращения до 0,01, а все цены до десятых долей. Поначалу такой шаг показался весьма удачным, это позволило существенно снизить торговые издержки для игроков, поскольку теперь распределение бид/аск стало много меньше 0,0625. Например, на момент написания статьи, распределение на акции Bank of America было $7,93/7,94. В системе 1/16 лучшее распределение могло быть $7.875/7.9375 (или $7.9375/8.00).

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

В итоге автор предлагает сделать минимальное приращение еще более дробным. Скажем, добавить долей до $0,001. Это поубавит у трейдеров HFT желания сесть на получение ренты, и снизит стоимость медленной реакции для других до 0,001 доллара за акцию. В этом случае у Тофера может появиться потребность сфокусироваться на других вещах. В итоге ИТ-специалисты, работающие на Тофера и других подобных финансистов могут уйти, чтобы поработать над улучшением инфраструктуры и скорости работы Facebook или Amazon.

Недостатки

В любом случае, подобные глобальные изменения структуры финансовых рынков должны принимать в расчет возможные риски. По счастью, изменения минимального приращения – вещь не новая. Мы можем увидеть ее последствия. Мы уже понижали однажды приращение с 0,0625 до 0,01 без всякой очевидной пользы и видимого вреда.

На валютных рынках обычное минимальное приращение составляет $0,0001. На момент написания материала распределения бид/аск для пары евро/доллар было $1.3027/1.3030. Для рынка ценных бумаг есть пример Бомбейской фондовой биржи и Индийской национальной биржи, где в переводе на доллар, шаг приращения составляет $0,001.

Есть еще парочка возражений, кроме страха глобальных потрясений, которые стоит упомянуть. Кто-то считает, что может вырасти неустойчивость рынков. По мнению автора, об этом не стоит переживать. Сейчас, когда действует правило $0,01, у трейдера нет стимула поднимать цену на 1/1000 цента. Без него такой стимул появляется. Сетевой эффект приведет к росту числа изменений цены, волатильность в целом увеличится, но не настолько серьезно, как предполагают скептики. Несколько мелких прыжков – это еще не один большой прыжок. Неустойчивость выросла и в 2001 году, но тогда цена введения новых правил считалась ничем по сравнению с недостатками правила 1/16.

Другое возражение основано на том, что трейдеру будет труднее оценивать рынки. Вместо того чтобы просто взглянуть на список акций на уровне $10,00, ему нужно будет добавлять позиции акций по цене 10,000, 10,003, 10,0015 и так далее. Для этого потребуется привычка и набор существующих инструментов. Например, программа может отображать цены «не хуже, чем 10,0029». Участнику рынка достаточно видеть кумулятивный ценовой обзор, а не обзор дерева цен.

Преимущества

Первое преимущество отмены правила состоит в том, что распределение бид/аск сузится (в США, возможно, на половину цента). Это облегчит и удешевит для игроков открытие сделок. Хотя, если быть реалистами, это не такое уж большое преимущество.

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

В контексте изменения ситуации было еще предложение о введении налога на финансовые транзакции. Но это чересчур крайняя мера.

В 2012 году много писали о провале трейдерской компании с Уолл-Стрит Knight Capital (KCG). Фирма начала практиковаться в высокочастотной торговле и потерпела сокрушительную неудачу, потеряв $440 млн. и пошатнув веру инвесторов в HFT. Более подробно об этом можно почитать здесь, здесь и здесь. Журналистам обычно некогда вникать в технические детали подобных историй. Но, как утверждает автор блога о HFT, причин для паники не было. Трейдерские системы надежны, если выстроены с умом.

Существует два основных правила, как построить прочную и надежную HFT-систему. Они только на первый взгляд противоречат друг другу. Первое называется методом Агентства транспортной безопасности (Transportation Security Agency). Суть его в том, чтобы создать пару идеальных систем, «рентгеновских сканеров», через которые не проскочит даже мышь. Затем на их основе уже делать всю остальную конструкцию. Если ваш аппарат защиты сделан правильно, и вы можете ему доверять, тогда все остальное должно заработать, как следует. Девиз этого метода: любая ошибка исключена.

Второй подход можно назвать методом Netflix. В его основе лежит идея о том, что любая система когда-нибудь начинает сбоить. Сеть Netflix имеет у себя программу, которая называется «обезьяний хаос». Когда кто-нибудь из разработчиков начинает работу с софтом компании (а речь идет о десятках тысяч отдельных серверов), программа запускается и начинает отключать в случайном порядке некоторые из серверов. Если система не может с этим справиться, она отбрасывается как ненадежная. Девиз Netflix можно обозначить так: «дерьмо случается» — будь готов к этому.

На рынке акций можно хорошо проиллюстрировать принцип второго подхода. Дерьмо случается здесь постоянно. Но совместные действия рынка и регуляторов гарантируют, что всяческие технические пертурбации (например, всплески активности HFT-торговцев) не наносят особого вреда. На графике представлены позиции индекса S&P 500 по времени, по одной точке в день.

Как на самом деле устроена торговля на бирже: Простой алгоритм


Это тот тип диаграммы, привлекающий таких людей, которые торгуют медленнее, чем любой дневной трейдер. Типа Уоррена Баффета, Джорджа Сороса и тому подобных. Он демонстрирует влияние на рынок Flash Crash (обвал на Нью-Йоркской фондовой бирже, случившийся в 2010 году).

Если не прописать подробные значения на оси X, из него невозможно понять, где и когда случился обвал рынка. Автор рассказывает историю приятеля-трейдера, который как раз в момент обвала отлучился в уборную. В течение 20 минут пока он был там, рынок успел просесть и восстановиться. Да, остались вещи, которые нужно было подчистить. Но в целом, восстановление не заняло много времени.

Вот еще один график, который иллюстрирует историю с компанией Knight Capital в 2012 году:

Как на самом деле устроена торговля на бирже: Простой алгоритм


Здесь два варианта, говорит автор: или провала из этой диаграммы реально не видно, или он просто не умеет обращаться с Matplotlib для правильного отображения данных.

Настало время для следующего грандиозного разоблачения. Единственная линия, которая указывает на неприятности от деятельности Knight Capital, это цена акций самой компании.

Как на самом деле устроена торговля на бирже: Простой алгоритм


Подведем итог, что же случилось, когда лопнул Knight Capital? Мы можем заметить некоторые неравномерности в процессе торгов в момент неприятностей с компанией, пока все остальные пытались выяснить, что произошло. На самом деле, всего лишь пошла в разнос одна компьютерная программа Knight Capital, которая стала покупать высоко, а продавать низко. В итоге она обогатила на 400 млн. долларов неких других трейдеров. Сам рынок немного просел во вторник, но к пятнице полностью восстановился.

Кажется, что единственной жертвой этого «коллапса» стала компания Knight Capital. То есть финансовый рынок действовал по принципу Netflix: если кто-то просел – выброси его за борт, и рынок быстро придет в себя.
При полном или частичном использовании материалов ссылка http://elitetrader.ru/index.php?newsid=301815 обязательна. Подробнее об использовании информации. Редакция не несет ответственности за достоверность информации, опубликованной в рекламных материалах.
Я