Алготрейдинг — это цирк

Алготрейдинг — это цирк

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

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

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

Биржа

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

Условный план цирка, на котором мы и будем моделировать биржу и стратегию
Условный план цирка, на котором мы и будем моделировать биржу и стратегию

Взяв архитектуру в принципе любой биржи и выкинув из неё то, что новичкам не нужно, получаем следующую схему:

Очень упрощенная схема биржи. Видя эту простоту не стоит пытаться написать биржу самим.
Очень упрощенная схема биржи. Видя эту простоту не стоит пытаться написать биржу самим.

Pay in и Pay out – это собирательный образ, это могут быть криптокошельки, брокеры, казначейства и что угодно из реального и виртуального мира. Собственно, главным механизмом внутри любой биржи является matching engine, мэтчинг. Это механизм, который позволяет выполнять заявки на покупку или продажу по выбранному инструменту, в момент когда цена спроса и предложения пересекаются. Нет, даже это сложное объяснение, давайте еще проще: как только цена продажи у продавца и цена покупки у покупателя сравнялись, сделка автоматически выполняется. Есть нюанс, что может быть выполнена только часть сделки для каждого из них, но это сейчас пока ненужные детали.

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

Так как тут появилось слово инструмент, следует пояснить его суть.

Инструмент

В нашем примере это один из 5 видов мест в зале, доступных для продажи, а также валюта, за которую мы эти билеты продаем. В общем виде для цирка инструмент выглядит так: [зона цирка] / RUB.

Еще инструменты называют парой. Таким образом мы можем выделить 5 инструментов на нашей импровизированной бирже:

1. Первые ряды партера / RUB

2. Вторые ряды партера / RUB

3. Боковые ряды / RUB

4. Амфитеатр / RUB

5. Царская ложа / RUB

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

Биржевой стакан(orderbook)

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

Импровизированный биржевой стакан
Импровизированный биржевой стакан

Основные сущности и термины стакана

bid(предложение), массив предложений на продажу.

ask(спрос), массив предложений на покупку.

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

volume(объем), то количество билетов, которые можно купить или продать по указанной цене.

1000 раз в секунду
и чаще может изменяться биржевой стакан на волатильных рынках

Ликвидность

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

Типы заявок(order)

Разбираясь во всех этих сущностях первый раз мы не будем лезть во все дебри видов заявок, тем более, что это еще сильно зависит от рынка и конкретной площадки(биржи), поэтому рассмотрим два глобальных типа ордеров:

Maker(мейкер)

Тип заявки, которая ставится в спред или глубину стакана и не исполняется автоматически.

Например: покупатель Геннадий ставит заявку в стакан с инструментом Задняя часть партера / Руб заявку на покупку 2 билетов по цене 600 рублей при текущей цене в 1000 руб.

Taker(тейкер)

Тип заявки, которая забирает ликвидность с рынка, т.е закрывается об рынок моментально.

Например: Кассир №3 ставит в стакан с инструментом Первые ряды партера / Руб заявку продать 1 билет по цене 1000 руб при текущей цене в 1010 руб.

Для тех, кто не сталкивался с этим всем - пока не ясно, для чего выделять разные типы заявок(ордеров). Но это категорически важно для самой биржи. Те, кто ставят заявки типа мейкер – поддерживают наличие объема по инструменту, повышают его ликвидность, а как следствие повышают привлекательность самой биржи.

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

Волатильность

Тут все просто, это просто термин, который объясняет насколько сильно «колбасит» цену того или иного инструмента или даже всего рынка. Если билеты в первые ряды партера торгуются за короткий промежуток в диапазоне 500 – 2000руб, значит инструмент Первые ряды партера / RUB высоковолатилен.

Итак, перейдем к самому главному. К стратегиям!

Алгоритмическая стратегия

Наблюдательный человек, глядя на весь этот цирк заметит:

“Так ведь можно купить билет, потом его продать дороже. И в цирк вовсе не ходить, но получить прибыль».

наблюдатель

И будет абсолютно прав, в этом и заключается суть алгоритмчиеских стратегий!

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

Как резюме этой статьи рассмотрим супер-простой пример алгоритмической стратегии, которую можно за один вечер реализовать например на python. Я приведу лишь ее алгоритм:

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

2. Купить актив по самой верхней строчке стакана ask.

3. Выставить сразу же на продажу этот актив по правилу = цена покупки + 100руб. (тут надо учесть нет ли у биржи комиссии за сделку, а то можно и уйти в минус)

4. Профит.

Алготрейдинг — это цирк

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

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

И напоследок важный нюанс - высокочастотный алготрейдинг – это спорт для сильных, т.к.

менее 1% игроков
умудряются строить долговременные механизмы высокочастотных алнг

Рекламы телеграм-канала тут не будет, просто делюсь знаниями.

1010
Начать дискуссию