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

* Данный материал не несет никаких инвестиционных и финансовых рекомендаций. Он создан исключительно в образовательных целях.

Вместо введения

Наверное в наши дни уже каждый слышал про криптобиржи. Такие гиганты как Binance, OKX, Coinbase часто на слуху. Все примерно знают, что криптобиржи (в целом, как и другие биржи) предназначены для обмена чего-то на что-то, или, точнее сказать, продажи чего-то за что-то (в целом, сути не меняет) в мире криптовалют.

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

Цена покупки и продажи: bid и ask

Давайте для начала для простоты поговорим о бирже, где покупают и продают яблоки. Предположим, вы хотите купить одно яблоко за рубли. Вы приходите на биржу и первое, что вы увидите будет две цены: цена, по которой на бирже покупают яблоки, и цена по которой на бирже яблоки продают. Цена, по которой Вы можете купить (а Вам могут продать), называется ask или offer, а цена, по которой вы можете продать (а у Вас купить) — bid. Легко догадаться, что цена покупки на бирже всегда выше цены продажи (bid < ask) (почему?).

Предположим, что вы видите такие котировки: bid = 20р, ask = 25р. Это значит, что купить яблоко вы можете по 25р, а продать по 20р. Первое, о чем вы скорее всего задумаетесь — хороша ли эта цена? Если цена Вас устраивает, то вопросы отпадают сами собой: Вы покупаете яблоко у одного из продавцов за 25р и уходите домой. Если же цена Вас не устраивает — читайте дальше!

Продавцы и покупатели: кто стоит за bid и ask ценами?

В предыдущей секции мы затронули один важный момент, который, возможно, остался без внимания, а именно: "Вы покупаете яблоко у одного из продавцов за 25р и уходите домой". То есть, вы покупаете яблоко ни у абстрактной субстанции, а у такого же участника рынка, только с другой стороны. Это означает, что какой-то энтузиаст так же как и Вы пришел на биржу и выставил на продажу свое кровно-выращенное яблоко за 25р. Однако, возможно, есть и другие продавцы, которые не хотят продавать по 25р, а хотят продавать по 26р, 27р, 30р. Они тоже могут прийти на биржу и выставить свои яблоки на продажу по интересующей их цене. Так почему же ask — это именно цена в 25р? Легко догадаться: потому что она лучшая из всех доступных (не хотите же Вы покупать яблоки подороже?!). Таким образом уточним:

Лучшая цена, по которой Вы можете купить, называется ask или offer, а лучшая цена, по которой вы можете продать — bid.

Вернемся теперь к разговору об удовлетворенности ценой покупки. Вас не устраивает цена в 25р, она кажется Вам слишком высокой. Что же тогда делать? Ответ простой: так же как продавцы размещают свои яблоки на продажу, Вы можете разместить заявку (или ордер) на покупку по интересующей Вас цене, а там, глядишь, прибежит какой-нибудь торопыга, которому нужно будет продать два воза яблок, и Вы сможете купить у него по сниженной цене за срочность. Таким образом, вы размещаете лимитный ордер на покупку одного яблока по цене в 20р.

Лимитный ордер (лимитная заявка) — это ордер (заявка) с определенной ценой покупки или продажи.

Рыночный ордер (рыночная заявка)  — ордер (заявка) для покупки или продажи актива по текущей рыночной цене (то есть bid или ask в зависимости от стороны).

Все вместе лимитные ордера попадают в и создают биржевой стакан:

Биржевой стакан (он же «стакан котировок», «стакан заявок» или Order Book) — это таблица лимитных ордеров от покупателей и продавцов на покупку или продажу актива (акций, криптовалюты, валюты) в реальном времени с указанными объемами.

Биржевой стакан на бирже яблок
Биржевой стакан на бирже яблок

Объемы на уровнях и приоритет в очереди

В предыдущей секции мы затронули два важный вопроса. Сначала вспомним того самого, "...которому нужно будет продать два воза яблок...". Два воза — это много, это не одно яблоко. Продавая два воза, необходимо найти покупателей на всю эту кучу яблок. Нетрудно предположить, что люди, приходящие на биржу, будут выставлять разные заявки на покупку: кому-то нужно одно яблоко, кому-то два, а кому-то тысяча, и каждый это будет делать по своей (чем-то мотивируемой) цене. Так вот, чтобы продать два воза яблок нужна целая толпа покупателей. Сначала купят те, кто предложил лучшую цену (то есть 20р), потом те, кто чуть хуже (скажем, 19р), и так далее, пока оба воза продавца не опустеют. Логично предположить, что средняя цена продажи яблок в этих двух возах будет ниже, чем текущий bid. Таким образом, большие рыночные ордера двигают рынок, это называется price slippage.

Теперь посмотрим на ситуацию с другой стороны: Вы все еще хотите купить себе яблоко, Вы выставили заявку по 20р и ждете того самого продавца, который захочет срочно (то есть по рынку) продать свое яблоко. Однако таких хитрецов, кто не хочет покупать по 25р, уже стоит целая очередь. Все они пришли до Вас и уже разместили заявки на покупку по 20р. Продавцы приходят, однако у них по 1-2 яблокам на продажу, очередь перед Вами двигается, однако очень медленно — купить сегодня яблоки по 20р вряд ли получится... Таким образом, Вам стоило оценить свой приоритет в очереди (и, как следствие, шансы купить по заветной цене), прежде чем размещать заявку.

Покупатель пришел на биржу купить яблоки по рыночной цене — продавец с лучшей ценой и с первым приоритетом будет продаст ему товар
Покупатель пришел на биржу купить яблоки по рыночной цене — продавец с лучшей ценой и с первым приоритетом будет продаст ему товар

Неблагоприятный отбор или adverse selection

Вы все так же стоите в очереди по 20р и ждете, когда же придет наконец продавец, который продаст и Вам яблоко. От скуки вы читаете новости в телефоне и Ваше внимание цепляет одна свежая новость: "В Мадагаскаре невиданный урожай яблок, их везут поездами, паромами, самолетами и теплоходами". Что бы это могло значить... ну ладно, думаете Вы и продолжаете томиться в очереди. Как вдруг неожиданно забегает толпа людей с авоськами, мешками и даже телегами яблок и начинает их продавать. Вы и глазом не успели моргнуть, как ��чередь перед Вами исчезла. Вам всучивают яблоко за 20р и продолжают продавать уже людям позади Вас, да уже и желающие купить по 19р и по 18р пропали, стоят только по 17р и то пару десятков человек, а продавцы все прибывают... Вы, немного опомнившись, идете домой, потирая яблоко: "20р! Это ж каков я молодец, думаете Вы, не зря стоял!". Яблоко хорошее, спору нет, но ради интереса Вы решаете зайти на биржу и на следующий день, проверить, как там дела, и каково же будет Ваше изумление, когда вы увидите: bid = 12р ask = 15р... Даже если сейчас купить по рынку, не стоя ни в какой очереди и не рискуя здоровьем, вы уже бы купили на 5р дешевле. Что же произошло?

На бирже началась паника — яблоки пытаются продать как можно быстрее
На бирже началась паника — яблоки пытаются продать как можно быстрее

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

Adverse Selection (неблагоприятный отбор) — это ситуация, когда одна сторона сделки обладает важной информацией, которой нет у другой стороны, и использует это преимущество для совершения выгодной для себя (и потенциально убыточной для другой стороны) операции.

В данном варианте информация была симметрична, просто Вы, не имея еще серьезного опыта, ее недооценили.

Что же дальше?

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

Спасибо и до новых встреч!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Как Вам материал?
0%Непонятно и сложно0
66.67%Понятно и просто2
0%Не очень интересно и скучно0
0%Забавно, но бесполезно0
33.33%Нужно и занятно1
Проголосовали 3 пользователя. Воздержавшихся нет.