Некоторое время назад меня попросили написать про начальные параметры моих торговых роботов, которых я запускаю в терминале от Альфа-банка и которые доступны абсолютно бесплатно. И хотя про параметры я же писала, я решила, что сделаю отдельную статью, но просто она будет немного с другого ракурса. Да и в целом, поскольку с торговыми роботами я работаю давно, мое представление немного меняется.
Про самих роботов, алгоритм Step by Step и сеточную торговлю
Своих роботов я запускаю в терминале для ПК от Альфа-Инвестиций. Скачать его можно у них на официальном сайте. Я выбрала себе робота, реализующего алгоритм Step By Step. Сама Альфа его в какое-то время активно пиарила. Суть робота в том, что я запускаю его в какой-то момент времени и он сразу покупает определенное число лотов актива - Start_Q, если котировки упадут на delta_percent, робот докупит Q лотов, если вырастут - продаст Q лотов, а потом снова будет смотреть на изменение цены. Причем может получиться любая последовательность действий, например купил-купил-купил-продал-купил-купил-продал-купил и так далее.
С точки зрения алгоритма, он всегда продает дороже, чем была стоимость последней купленной позиции, поэтому он приносит профит. С точки зрения налогового учета или отображения FIFO - робот может зафиксировать убыток, если цена упала, он докупил и продал. ФНС говорит о том, что первым был продан первый лот, ей не важно, что потом цена упала. И в этом есть определенная нестыковка. Об этом писала отдельную статью.
Про настройку
У базового алгоритма Step by Step минимальный набор параметров, которые можно поменять, их всего 3 штуки.
Start_Q - число лотов, которые купит робот в начале. На растущем рынке лучше дать купить побольше, но этот параметр часто ограничен нашими ресурсами. Я вот счет с роботами систематически не пополняю, поэтому часто выбор Start_Q зависит не от понимания процессов, а от возможности. Если поставить Start_Q небольшим, то есть риск, что после небольшого роста котировок робот все продаст и больше никогда не купит. Лучше, что бы Start_Q хотя бы в 2 раза было больше Q, тогда есть шанс, что робот поработает какое-то время. А лучше в 3-4-5. А если вам нравится актив, то можно разрешить купить роботу и 100Q лотов. Хотя с другой стороны, плохо покупать 100Q, ведь робот будет докупать и продавать, будет у него большой постоянный остаток по позиции, но через 3 года по ним не получишь льготу долгосрочного владения. То есть тут нужна золотая середина и покупать слишком много на старте однозначно не стоит.
В терминале А-Инвестиции можно прогнать оптимизацию параметров для любого тикера и станет понятно, что при каких-то Start_Q доходность будет выше, чем при других. Я к таким цифрам отношусь с разумной долей критики. Покажу 2 результата оптимизации, одна была сделана на датах 04.06.25-20.09.2025, а вторая на 05.06.25-20.09.2025, то есть с разницей в один день. Я смотрю на одну конкретную точку: DeltaPercent 0.5, Q - 10. Первая оптимизация показала доходность 0.76, а вторая 0.21. В одном случае DeltaPercent 0.5 и Q - 10 - это самый лучший набор параметров для робота, а в другом нет.
То есть эта доходность очень чувствительна к моменту входа. И тут каждый для себя просто должен решить, что он, например, будет запускать роботов только на просадке или он запускает тогда, когда ему удобно потому, что появилось время/деньги/желание и т.д. и т.п. И именно поэтому я не смотрю на оптимизацию когда выбираю Start_Q. Это число я определяю исходя из своих ресурсов на текущий момент времен , а не тестов стратегий на исторических данных.
Q - число лотов, которое докупает или продает робот.Исходя из общей логики оно не должно быть больше Start_Q. Но опять же, если есть ограничения по деньгам, то Q надо определять исходя из него. Я вот сейчас запустила роботов на облигации, прикинула, что мне не хватит денег на 40-50 лотов, но я хочу поэксперементировать ни с одним роботом, а с целым набором. Я решила, что запущу 4 роботов и поставлю по каждому из них Q=10. Число 10 я взяла просто для ровного счета. Я сделала оптимизацию по Q, но только потому, что я могу ее сделать исключительно для двух параметров, а у меня их всего 3. Делать оптимизацию для Start_Q бесполезно, делаю для Q. И обычно чем выше Q, тем больше доходность, но иногда бывают артефакты. Поэтому я смотрю на результаты оптимизации и если меня не чего не смущает, выбираю параметр исходя из того, что вот докупать условно на 5к я готова дать, на 10к - нет. Ниже поясню почему!
Delta_percent - процент при изменении которого робот совершает сделки. Я вот люблю, когда процент маленький, чтобы теоретически сделок было больше. Но тут беда в том, что я могу протестировать как будет себя вести робот при delta_percent 0.5% и 5%, но это будет результат для старых данных. Но никто не гарантирует, что дальше будет такая же волатильность, как она была вчера. И я могу точно сказать, что если рынок будет сильно колбасить в диапазоне +/-5%, то лучше ставить шаг 4.5%, а если будут мелкие колебания, то 0,45%. Но кто же знает, что будет завтра. И вот с теми же роботами на облигации. Я их запустила, потом многие облигации отросли в цене на фоне новостей о ключевой ставке, роботы распродали все, что могли. Я уже в мыслях простилась с ними, решила, что сделок ждать от них не приходится. Но роботы я не остановила. А потом бах, ЦБ понизил ключевую ставку всего на 1%, когда многие ждали большего шага. Облигации резко просели в цене, два робота из 4 ожили. Один правда пока только купил, второй начал активно торговать.
Если я вижу, что оптимизация показывает хорошую доходность при очень маленьком и очень большом delta_percent, я могу запустить 2 робота. Но я тяготею все же к маленьким значения delta_percent. Поэтому роботы с высоким delta_percent - это для меня скорее исключение из правил. Недавно я запустила робота на AQUA с большим и маленьким значением изменения цены потому, что оба теста мне очень понравились. Ну и пока я вижу, что активно трудится только робот с delta_percent 0,45, но выводы еще рано делать.
Если я запускаю робот на фонды от Альфа, то брокер не берет комиссию за их покупку и продажу, а значит я могу поставить еще меньшее delta_percent чем обычно. Обычно я считаю, что профит должен быть не меньше 0.3% на пару сделок, а лучше 0.35%. В случае с БПИФ от брокера я готова упасть до 0.2%. И вот тут я смотрю на результаты теста! Смотрю, что они мне подскажут.
Про ожившего робота
С роботами на облигации есть одна проблема, терминал не корректно считает их доходность, поэтому я могу показать его скрин, но от него толку мало. Я писала о том, что буду разбираться как автоматизировать правильный расчет и я придумала как это сделать. Рассказываю.
Я выгрузила с сайта Альфа-Банка "Детальный отчет" за 2025 год. Его я скопировала в Excel и вуаля. В нем брокер за меня уже посчитала доход с учетом купли-продажи и даже НКД учел. К сожалению таблица очень большая, поэтому ее скриншот не поместился на весь экран, а уменьшать масштаб сайт почему-то не дал.
Поэтому покажу только финансовый результат и скажу, что в экселе я его перепроверила. Альфа честно учел НКД при покупке и при продаже, и даже обе комиссии. Одно плохо, поскольку мы работаем в Т+1, последние сделки по покупке не попали в отчет.
Я просуммировала финансовый результат и поняла, что робот принес мне 343 рубля за 2 месяца, в процентах от вложенных сумм - это хороший результат, особенно учитывая, что робот не постоянно задействует деньги и какое-то время они лежат в фондах денежного рынка или используются другими роботами. Доход на НКД маленький потому, что много пар сделок было совершено в один день. То есть робот условно с утра купил, вечером продал.
Кто давно следит за моими роботами знают, что у меня постоянно идет спор с автором канала Записки биржевого робота о том как считать доходность по методу FIFO или LIFO. Выше я оставляла ссылочку на статью где подробнее писала об этом. Я за то, чтобы считать так, как это делает ФНС по методу FIFO.
И вот сейчас у меня появился еще один аргумент в защиту моего мнения. Вот по роботам на облигации я могу посчитать доходность исключительно по методу FIFO и мне кажется не корректным для одних активов считать LIFO, а для других FIFO, ведь в этом случае полученные результаты нельзя сравнивать между собой. Ну и сейчас когда я смотрю на результаты, я вижу что робот на ПСБ Лизинг 19 сентября сначала купил 3 раза по 10 лотов, а потом продал столько же. Брокер показывает, что по 2 из 3 сделок у меня минус, зато по третьей большой плюс. Если считать LIFO, минуса быть не может, но на скрине он есть. И вот чтобы не удивляться такому минусу, надо понимать алгоритм работы. А самое главное, что когда мыслишь категориями LIFO, отчеты брокера не удивляют.
Но что-то я отошла от темы. Возвращаюсь к параметрам.
Какие еще есть параметры
Когда вы создаете роботов самостоятельно надо задать не так уж и много параметров.
Размер максимальной позиции long и short. Я не даю роботам открывать короткие позиции, чтобы не платить комиссию брокеру, поэтому размер максимальной позиции шорт - 0. Я не хочу застрять на месяц в режиме платного ожидания. И тут я могу показать как давно у меня нет сделок по отдельным роботам, чтобы стало ясно, что застрять реально. И этим роботам надо бы докупить, но они уперлись в мои ограничения. Но меня это устраивает, сейчас поясню почему.
Размер максимальной позиции лонг я определяю исходя из наличия денег. И тут дилемма. Если актив начнет дешеветь, то логично дать роботу покупать, но где деньги, Зин? Я в этом плане думаю, что лучше я ограничу робот, чтобы он не накупил актива на лям. А если что, я лучше потом второй робот запущу, если что-то просядет, а я буду видеть в этой позиции потенциал. Да, у меня не будет бесшовной связки двух роботов, но зато я обезопашу себя от самого страшного. А самое страшное - это margin call и я понимаю, что это маловероятно, но вполне возможно: резкий обвал всего рынка, роботы кинулись покупать, они ничем не ограничены и здравствуй margin call.
Выданные ограничения по максимальной позиции можно поправить после запуска робота. Но это может привести к появлению других проблем, каких - расскажу в отдельной статье, если это кому-то интересно и кто-то планирует пользоваться данным инструментом.
Таймфрейм - это тот самый таймфрейм в котором отрисовывается график. Можно смотреть часовой таймфрейм и тогда одна свеча будет соответствовать одному торговому часу, можно минутный, тогда соответственно одна свеча рассказывает о том, что произошло за минуту. Если посмотреть в конструктор роботов, то становится понятно, что можно взять цену закрытия свечи или открытия. Я делаю так, что бы робот чаще проверял выполнено условие или нет. Если он будет проверять редко, то может получиться так, что нужный момент будет упущен потому, что цена нырнет вверх, но свеча закроется снова внизу, то есть формальное условие проверки цены закрытия не будет выполнено, хотя цена и дорастет до нужного времени в какой-то момент.
И опять же покажу 2 теста: первый с таймфреймом одной минутой, второй с часовым. Доходность второго меньше и именно за счет того, что он совершил меньше модельных сделок.
А на этом собственно все параметры и заканчиваются. Больше настраивать нечего. Можно конечно самостоятельно пытаться переписать робота, что-то усовершенствовать, но тут каждый для себя решает есть ли в этом смысл.
Если у вас еще нет брокерского счета в Альфа-Инвестициях, вот тут можно найти ссылку, открыть его и получить за это бонус.
И на этой неделе Альфа-банк в рамках маркетинговой программы Альфа-Пятница начисляет акции в подарок, но чтобы ее получить надо иметь брокерский счет и выполнить определенное условие. Какое можно почитать вот тут. Безусловно банк не дарит дорогие акции, но делает это периодически. В прошлый раз подобная акция была приурочена к пятнице 22 августа.