Стабильно зарабатываем на бирже: сеанс черной магии с последующим разоблачением

Операции на бирже почти всегда сопряжены с определенным риском — иногда он больше, иногда меньше, но всегда есть шанс получить «на выходе» денег меньше, чем внесли.

Причины могут быть различные: падение стоимости акций, дефолт эмитента облигаций, снижение синтетических индексов, … — а итог один…

Биржа как она есть

Биржа как она есть

Disclaimer #1:

Большинство хабрачитателей знает меня по рассказам про возможности PostgreSQL и разный энтерпрайзный хайлоад, но сегодня речь пойдет не об этом. Более того, в статье нет ни единой строчки кода. 😱

Disclaimer #2:

Основная часть текста была написана еще летом, поэтому часть цифр может быть уже немного неактуальна. 😁

Disclaimer #3:

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

И есть лишь единственное исключение — фонды денежного рынка (LQDT, SBMM, AKMM, PSMM,…), которые, по сути, сдают вложенные вами деньги «Центробанку в аренду на ночь» под ключевую ставку (напомню, сегодня это пока еще 16.5% годовых, а недавно она доходила и до 21%), а себе берут за это «долю малую» в 0.3-1.2% годовых. Этакий аналог банковского накопительного счета, только на бирже.

Изменение ключевой ставки

Изменение ключевой ставки

Каждую следующую торговую сессию лот такого фонда стоит чуть дороже — сейчас примерно на (16% годовых / 365 дней = ) +0.044%. С учетом выходных дней бывают небольшие аномалии типа «перед пятницей растет за выходные», но, в целом, график будет монотонно растущий за ключевой ставкой:

LQDT - самый крупный ФДР Мосбиржи от ВТБ

LQDT — самый крупный ФДР Мосбиржи от ВТБ

Практически каждый крупный брокер имеет подобный фонд в собственной УК (ФДР на MOEX), за операции с которым он или не взымает комиссию совсем, или взымает лишь небольшую ее часть.

ФДР на MOEX

ФДР на MOEX

Поэтому ФДР — это удобный и выгодный способ временно «припарковать» деньги на бирже с пользой, пока вы ждете удачного момента для приобретения активов. Не в смысле «заработать», а «хотя бы не терять на инфляции».

Нельзя сказать, что ФДР — это абсолютно безрисковый актив. Нет, там есть свои риски, но в целом — их надежность на уровне всей банковской системы.

Котировки ФДР

Как правило, маркетмейкер каждую торговую сессию выставляет две огромные «котлеты» на покупку и продажу с минимальным спредом:

Котировки LQDT (ФДР от ВТБ)

Котировки LQDT (ФДР от ВТБ)

Например, LQDT (ВТБ) всегда торгуется на соседних позициях, SBMM (Сбер) — через одну, PSMM (ПСБ) — через 5-7, зато с комиссией 0.25% на продажу.

При покупке лота такого фонда «в рынок» мы получим цену из верхней «котлеты», а лимитная заявка покупки по цене нижней просто никогда не исполнится, поскольку на MOEX заявки выполняются по FIFO (п.1.9 правил).

Можно, конечно дождаться следующего дня и продать «в рынок» уже чуть дороже, но это — не наш метод!

Когда нельзя, но очень хочется

Один символ все меняет

Один символ все меняет

Как в известном мультике, в продолжении этой истории все будет зависеть от единственного символа. Только символ этот — не запятая, а «собака» (@).

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

Но не Москвой единой!.. Ведь у нас есть еще SPbEX (осторожно — Питер! 😁), которая работает по несколько другим правилам. Из всего немалого их объема нас интересует конкретно пункт 15.26, посвященный порядку исполнения лимитных заявок. Весь его смысл сводится примерно к «заявки одной цены выполняются пропорционально указанному количеству лотов„.“»

Осталось найти ФДР, торгующийся на SPbEX — и таки он есть! ЭтоTMON@ — не путать с его двойником TMON (вот она разница всего в один символ!), торгующимся на MOEX.

TMON@

Что писали T-Инвестиции о TMON@

Что писали T-Инвестиции о TMON@

То есть для клиентов брокера T-Банка все операции с этим фондом не облагаются никакой комиссией — ни брокерской, ни биржевой, ни при лимитной заявке, ни при рыночной.

Давайте посмотрим пристально, что у нас там с котировками…

Котировки TMON@

Котировки TMON@

Обычно пн-чт маркетмейкер держит спред 0.01 между своими заявками, а в пт-вс (или в длинные выходные, как было в мае) — «распускает» его, отодвигая верхнюю границу сразу сильно вверх.

Суточный объем торгов TMON@, в лотах

Суточный объем торгов TMON@, в лотах

Как правило, в рынке находится по 10-30M лотов на покупку/продажу, а среднесуточный оборот составляет 25M — то есть выставленный утром лот с вероятностью около 50% (что явно больше нуля на MOEX) будет куплен/продан к вечеру.

Набрасываем алгоритм

Представьте, что у вас есть кэш на 1M лотов. Сегодня цена на лимитную покупку составляет 134.48 (ага, совсем немного денег надо — всего 135M 😂), а суммарное предложение по этой цене сейчас — всего 25M. То есть каждый 1:25 продаваемый «в рынок» лот будет исполнять часть нашей заявки, и мы сразу можем его продавать — по 134.49.

Очень грубо мы можем оценить, что если у нас оборот 25M/день, то из них половина — покупки, а половина — продажи. То есть за первую половину дня будет продано 6.25M лотов, из которых (6.25M : 25 = ) 250K купили мы. Теперь мы начинаем их продавать «на копейку дороже», и за вторую половину дня сможем реализовать (250K x 0.25 = ) 62.5K лотов, что даст нам прибыль ( x 0.01 = ) 625 рублей! 😭

А если серьезно, то каждый купленный лот можно сразу выставлять на продажу, а выручку от проданного — направлять на покупку еще одного. Такая «карусель» позволяет в разы увеличить оборот.

Карусель лотов

Карусель лотов

Чем быстрее с момента покупки мы сможем запустить лот в продажу — тем выше шанс исполнения нашей лимитной заявки. В идеале, мы должны делать это сразу же — и в этом нам может помочь API T-Invest — «мы ж программисты!».

Че-то денег не хватает…

Понятно, что все мы работаем в IT-сфере, а, значит, по мнению обывателей купаемся в деньгах, но вряд ли у кого-то под подушкой заныканы полтораста миллионов…

Но таки тут нам поможет брокер с возможностью маржинальной торговли. Ага-ага…

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

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

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

Стоимость 1 лота TMON@... где-то в середине мая

Стоимость 1 лота TMON@… где-то в середине мая

Таким образом, собственных денег надо в 10 раз меньше, а если успеть избавиться от «лишних» лотов до закрытия торговой сессии, то и платить за использование кредитных средств не придется.

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

Примерно так:

  • у нас есть кэш на 10K лотов

  • с плечом x10 выставляем заявку на покупку — на 100K

  • покупаемое сразу отправляем на продажу, выручку с продажи — снова на покупку

  • если к концу торговли у нас оказалось больше 10K лотов «на руках» — продаем все лишние, если меньше — докупаем

«Не ИИР!»

… как обычно подписывают на одном ресурсе…

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

Ускоряем исполнение заявок на СПбБирже

Запускаем торги

Запускаем торги

У любой лимитной заявки с возможностью частичного исполнения есть два атрибута — запрашиваемое (Requested) количество лотов и уже исполненное (Executed, купленное/проданное) по заявке количество.

Предположим, у вас есть активная заявка (пусть, для определенности, на покупку) на R = 1000 лотов, из которых E = 100 уже исполнилось, и вам надо ее увеличить на объем только что проданных лотов (d). Как эффективно поступить в этом случае?

Есть два варианта:

  • создать новую, вторую, заявку на дополнительное количество

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

В первом случае мы получим две заявки — (R, E) + (d, 0), во втором — одну (R - E + d, 0).

Для входящей рыночной заявки исполняемые лимитные на СПбБирже подбираются по приоритету (price [ASC|DESC], rest DESC, timestamp).

То есть сначала по максимальной (при продаже в рынок) или минимальной (при покупке с рынка) цене, затем по убыванию остатка, а среди равных остатков — чья раньше. При этом доля «исполняемых» лотов прямо пропорциональная тому самому остатку с округлением вниз (floor).

То есть если в ценовой позиции вместе с моей заявкой на 1K суммарно стоит предложение на 1M лотов, то хотя бы 1 лот для моей исполнится при рыночной заявке не менее чем на (1M : 1K = ) 1000 лотов. Причем что 1000, что 1001, что 1002, … — дадут один и тот же результат — всего один лот.

Поэтому перевыставлять заявку, когда у вас «в карусели» оказался 1 свободный лот не имеет большого смысла. Но когда все-таки имеет?..

Математика проста: ceil(lotsByPrice / (rest + d)) < ceil(lotsByPrice / rest).

Тут ceil(lotsByPrice / ...) — это ровно то количество входящих на рынок лотов по конкретной цене, с которого мы сможем получить хотя бы 1 при наличии в нашей заявке того или иного остатка. Если с «остаток + дельта» оно становится меньше — выгоднее заявку перевыставить.


«Недолго музыка играла…», или Почему это все больше не актуально

Фонд TMON@ был запущен в начале марта 2025, а уже 21 августа в чатах техподдержки начали рассылаться следующие уведомления:

С 22 августа нельзя будет покупать TMON и LQDT с плечом

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

Что это значит

Заявку на покупку TMON и LQDT можно будет выставить только на свои рубли. Если в портфеле уже есть рублевая задолженность, то купить TMON или LQDT не получится.

При этом, если в портфеле только TMON и/или LQDT и нет рублей, заявки на покупку или продажу других активов в шорт можно будет выставлять.

Также можно будет выставлять заявки по фьючерсам и выводить деньги с брокерского счета под обеспечение TMON и LQDT.

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

[Обоснование: п. 16.4-1 действующего регламента](https://www.tinkoff.ru/about/documents/disclosure/)

То есть основная идея увеличения объема своей заявки для ее более быстрого исполнения за счет заемных средств — перестала работать.

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


Но несколько дней назад по всей этой схеме был нанесен второй удар, что и послужило поводом для широкой публикации этого текста — СПбБиржа изменила правила отработки заявок по TMON@:

СПБ Биржа вводит матчинг time priority по двум биржевым фондам

СПБ Биржа расширяет применение матчинга встречных заявок по принципу временного приоритета (time priority matching) и вводит его дополнительно по двум биржевым паевым фондам рыночных финансовых инструментов.

С 16 декабря 2025 года принцип time priority начнёт применяться по фонду «Т-Капитал — Денежный рынок» (TMON@), а с 17 декабря — по фонду «Т-Капитал — Стратегия вечного портфеля в рублях» (TRUR@).

Матчинг по принципу временного приоритета предполагает, что среди заявок по одинаковой цене в первую очередь исполняется та, что была размещена раньше. С 15 декабря такой тип матчинга действует в отношении биржевого паевого инвестиционного фонда рыночных финансовых инструментов «Т-Капитал — Российские Технологии» (TITR@). По всем остальным российским ценным бумагам и фьючерсам на СПБ Бирже применяется матчинг по принципу пропорционального заключения сделок (pro-rata matching).

То есть теперь лимитные заявки по этому фонду исполняются ровно как на MOEX — то есть примерно никогда, если вы встали вместе с «плитой» маркетмейкера.


Третьим ударом по этой схеме стало начисление материальной выгоды на операции с TMON@, хоть каждая «копеечная», но их в этой схеме получается много:

Если в день покупки цена на MOEX была выше - вы попали на налоги

Если в день покупки цена на MOEX была выше — вы попали на налоги

Это начисление не фигурировало в налоговых отчетах вплоть до второй декады декабря и массово появилось «задним числом», что закономерно вызвало массовый бугурт среди клиентов брокера.

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

... или не попали

… или не попали

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

Автор: Kilor

Источник

Оставить комментарий