Найти тему
Дневник трейдера в юбке

Начинаем создавать торгового робота в А-Инвестициях

Оглавление

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

Начала с понедельника новую жизнь. Отчитываюсь по третьей неделе
Дневник трейдера в юбке26 ноября 2023

Приложение для ПК

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

  • Котировки компании оказались ниже уровня простой скользящей средней SMA с периодом 100;
  • Значение индикатора RSI менее 30.

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

Источник https://t.me/kandinsky21_bot
Источник https://t.me/kandinsky21_bot

Я знаю, что роботов можно писать в QUIK. Собственно есть большое сообщество людей которое этим занимается и даже вкладывает куски кода для общего доступа. Я впервые столкнулась с QUIK лет 9 назад, посмотрела на него, пришла в ужас и после этого больше не открывала. Такое вот впечатление он произвел.

Опять же исторически так сложилось, что я подружилась с роботами в Альфе. Много лет назад они разработали действующий терминал, который в те времена был просто ОГОНЬ! Ну или мне он таковым казался после предыдущей версии терминала от той же самой Альфы. Так что у меня на компе стоит приложение от А-Инвестиции, в нем и работаю.

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

Я понимаю, что с тех пор много воды утекло. Тот же QUIK стал намного приятнее, но я уже освоилась с другим инструментом и менять его сейчас не готова.

Готовые роботы

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

-2

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

Когда смотришь на огромный список, не сразу становится понятно с какой стороны к нему подойти и тут есть 2 принципиально разных подхода:

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

А лучше всего и разобраться, хотя бы чуть-чуть и протестировать.

Не совсем готовые роботы

Но знаете в чем основная беда роботов? У них очень много параметров, например:

  • Таймфрейм. Известно, что на маленькой таймфрейме индикаторы технического анализа дают много ложных сигналов, а на большом срабатывают с запаздыванием. Надо выбрать оптимальный для конкретного актива;
  • Параметры индикаторов, например, для скользящей средней - это период усреднения;
  • Возможность открывать короткие позиции - продавать активы, которых у инвестора нет на руках.
Источник https://t.me/kandinsky21_bot
Источник https://t.me/kandinsky21_bot

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

Тест роботов

Роботов можно прогнать на исторических данных и посмотреть как бы они отработали на них. С одной стороны можно сказать, что все, что было в прошлом уже никогда не повториться, поэтому нет смысла вспоминать было, а с другой у каждого актива есть свои особенности. Одни роботы лучше работают с одними активами, другие с другими. Вот у нас на бирже есть дико волатильный Мечел - это отдельная история. И то, что хорошо для него с вероятностью 99% не будет подходить для Транснефти только потому, что Мечел дешевый и нем много спекулянтов, а Транснефть дорогая и в ней куда меньше волатильности.

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

По результатам теста программа выдает достаточно много данных:

  • Ожидаемую доходность на заданном промежутке времени;
  • Максимальную просадку портфеля. Просадка в данном случае важна сама по себе, ведь если вы например выделили на роботов Х рублей, а просадка оказалась на 100 рублей больше, с этой злосчастной сотни взятой взаймы у брокера придется платить дикие комиссии;
  • График на котором можно посмотреть совершенные сделки.

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

  • Зеленая - от момента покупки до продажи;
  • Красная - от продажи до покупки.
-4

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

-5

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

-6

Но есть одно магическое средство - акции Сбербанка. Меняем тикер, если раньше я пыталась подобрать оптимальные параметры для акций Роснефти, то теперь беру Сбер. И вуаля! Убыточных сделок по-прежнему очень много! Максимальная просадка даже больше чем в прошлом случае! Но! Итоговая доходность намного выше! Вот, что значит смена тикера!

-7

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

-8

Видите, какая сила теста? Меняя то одни, то другие параметры робота и проверяя его на старых данных можно добиться изменения средней доходности от 0,23% до 0,54%. Но скажу честно, у меня нет ни одного робота, который работает исключительно на пересечении средних. Уж больно часто при их тестировании я вижу большую просадку, которая мне не нравится. Но с ними получаются очень красивые примеры, поменяла чуть-чуть, а результат другой, поэтому я их и взяла.

Как происходит тест и оптимизация

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

-9

Алгоритм работы робота такой:

  • Сигнал на открытие позиции ЛОНГ выдается, если быстрая сглаженная линия индикатора MOMENTUM больше медленной сглаженной линии индикатора MOMENTUM;
  • Сигнал на открытие позиции ШОРТ выдается, если быстрая сглаженная линия индикатора MOMENTUM меньше медленной сглаженной линии индикатора MOMENTUM.

При оптимизации я говорю роботу, что хочу, что бы он мне проверил диапазон значений для двух переменных: Pfast и Pslow. Робот считает доходность алгоритма для данного диапазона с шагом в 2 единицы. То есть он перепроверяет все варианты: Pfast=44, Pslow=44; Pfast=46, Pslow=44; Pfast=48, Pslow=44; и так далее.

-10

В итоге робот выдает вот такую картинку. Тут есть участки на которых робот принесет убыток, они окрашены синим цветом. А есть участники на которых будет доход.

-11

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

Вот какой график он выдает мне при тестировании. Картинку с доходностями я приводила выше.

-12

Но на этой картинке позвольте прервать мой рассказ. Что-то он и так получился длинный. Напоследок я бы хотела сказать вот что:

  • Не бывает трейдеров и роботов, у которых 100% сделок прибыльные. Точнее можно написать подобного робота, но тут надо быть готовым к тому, что на время длительной просадки активов в цене он будет превращаться в долгосрочного инвестора. Это возможно, но тут каждый сам для себя должен решить нужно ли оно ему;
  • В этом тексте я хотела донести мысль, что роботов можно и нужно тестировать. Делается это все очень легко, но на это надо иметь терпение и время;
  • Можно отдать все на откуп роботу и тесту, но иногда надо и вникать в происходящее. Например, если я запущу тест робота StepByStep и настрою в нем "% роста прибыли на продажу" на уровне 100%, а период теста с февраля 2022 года по декабрь 2023 года, то робот покажет мне прекрасную доходность 100%, но он совершит всего одну сделку: купит актив в момент своего запуска и продаст его когда прибыль составит 100%. И все хорошо, но это будет уже не трейдерский робот, а просто долгосрочный инвестор. Поэтому подбирая параметры надо еще немного понимать происходящее.

Жду ваших комментариев и приглашаю вас подписываться на мой телеграмм-канал.

Кстати, у Альфы можно открыть брокерский счет по акции и получить 10 акций в подарок. Оставляю ссылочку на нее.

-13