В трех предыдущих статьях были опубликованы блоки и полная версия модернизированного Робота. Вот ссылки на эти статьи.
Естественно многие читатели решили прежде чем запускать Робота в работу на реальном счете, провести тестирование. Тем более, что терминал Альфы предоставляет функцию тестирования стратегий. Но не все тут так просто с Роботом на стратегии StepByStep, выделить Робота и нажать кнопку тестировать не правильный подход. И сегодня я хочу рассказать почему при тестировании многие получили далеко не однозначный результат и в итоге побоялись использовать Робота.
И так приступим.
Дело в том, что в Терминале Альфы выложено несколько десятков различных Роботов на разных стратегиях. Более того, выложенный робот подвергся модификации и отличается от стандартного. В общем создать тестовую программу для всех возможных Роботов и их модификаций задача очень не простая и программисты Альфы пошли по простому пути. Тестирование происходит упрощенно. Берется сумма заработанная Роботом за тестовый период и просто делится на выделенную Роботу в параметрах теста сумму. Для Роботов в которых покупается некоторое количество акций и затем при наступлении заданных условий все купленное продается, такой подход к тестированию работает, но Робот на стратегии StepByStep распродает позицию частями еще и докупает в процессе работы и тоже частями, поэтому такое упрощенное тестирование работает не верно. Так какой же выход, давайте разберемся по порядку с картинками, как вы любите.
И так. Приступим к тестированию. выбираем робота во вкладке "Библиотека стратегий" и жмем кнопку "Тестирование". Попадаем на вкладку где нам нужно выставить параметры Робота которые мы собираемся использовать в реальной работе. Я это окно специально показываю полностью, что бы каждый читатель мог сам повторить ТЕСТ.
Жмем кнопку "Next". И переходим в окно параметров теста.
Тут нам важны несколько параметров. В первом выделении красной рамкой нам нужно выбрать длину периода тестирования. либо в барах (количество свечей) либо задать даты начала и конца теста. Так как я сейчас рассказываю как правильно тестировать Робота на стратегии StepByStep возьмем более короткий тест на 5000 свечей. Выставляем комиссию согласно нашему тарифному плану. А вот дальше нам по умалчиванию предлагают выделить на Робота 1 000 000 рублей, так как мы не знаем сколько акций Робот купит за выбранный нами период, соглашаемся на миллион. Обязательно выставляем "Метод формирования отчета и учетной цены" как LIFO. И в последнем прямоугольнике жмем кнопку "Установить" и у нас будет выставлен Предельные позиции ЛОНГ и ШОРТ.
Снова жмем кнопку "NEXT". В следующем окне жмем кнопку "Тестировать". И получаем следующий результат теста.
Как видим на скриншоте за период с 28.08.2024 по 10.10.2024 года у нас бы прошло 33 сделки покупка+продажа, и мы бы заработали 6791 рубль. Прекрасно, но тест нам показывает что наша доходность всего 0,68%. Ну и зачем нам такой Робот? Это лапша на уши разводилово и прочие нехорошие слова. Но не будем спешить.
Запускаем тест снова, на той же акции с теми же параметрами Робота и почти теми же параметрами тестирования.
Вот только в пункте "Начальный капитал" вместо 1 000 000 рублей, ставим 1 рубль. А предельную позицию лонг оставляем прежней. Снова тестируем и на выходе получаем следующую картину.
Мы видим тот же период с 28.08.2024 по 10.10.2024 года, те же 33 сделка купли продажи, тот же доход 6791,05 рублей. Но вот доходность у нас показывает совершенно другую, Вместо 0,68% мы видим аж 679 105,5%, почти 680 тысяч процентов за полтора месяца. Вот такой Робот нам нужен.
Шутки в сторону. Что делать.
Как видите, рассчитанная тестом доходность работы Робота полностью зависит от параметра в тестировании "Начальный капитал" и вот тут кроется главная проблема определения доходности Роботов на стратегии StepByStep. Так как Робот постоянно продает и покупает "уровни", Робот то потребляет КЭШ, то возвращает в КЭШ деньги, то есть задействованный капитал постоянно меняется и очень часто. За 44 дня на которых проводилось тестирование Робот сделал 33 пары покупка+продажа и еще у него осталось в наличии 7 купленных уровней. То есть за 44 дня наш Робот совершил 40 покупок и 33 продажи, всего 73 сделки, значит за 44 дня 73 раза изменился задействованный капитал, то есть 1,66 раза в сутки считая выходные когда биржа не работала. Именно поэтому определить задействованный капитал не самая простая задаче, тем более если взять промежуток год или несколько лет.
И какой же выход?
Во первых можно оценить доходность по косвенным признакам не углубляясь в серьезные расчеты. Для этого открываем закладку отчета Робота "Переменные".
Смотрим переменную xPosition это количество акций на не проданных уровнях Робота, этих акций у нас 70. Теперь смотрим переменные DochodAkc и DochodLot, так как у нас тестируется акция Северсталь, а у нее в ЛОТе 1 акция, эти переменные одинаковые, но по другим акциям могут отличаться. Мы видим, что в настоящий момент на заработанный Роботом доход, мы можем купить 5,53 акций Северстали. Теперь делим эти 5,53 акции на 70 еще не проданных Роботом акций и получаем 5,53 / 70 = 0,079 или 7,9%, то есть примерно 7,9 % акций на уровнях куплено уже на прибыль заработанную Роботом, это можно считать как окупаемость вложений. Но у нас Робот "проработал" 44 дня или 1,5 месяца. Поэтому если привести к году, то нам эти 7,9% нужно умножить на 8. В итоге получаем 7,9% * 8 = 63,2%. То есть за 2 года Робот заработает столько, что будет использовать свои заработанные средства не привлекая деньги из вне. Значит можно считать, что на тесте наш Робот показал доходность в 63,2% годовых, что просто отлично и оставляет доходность депозитов далеко позади. Конечно будущее не предсказуемо, до и основное время в тесте Робот "работал" во время бурного роста стоимости акций в сентябре. Поэтому я и написал, что это оценка по косвенным признакам, тем более аппроксимировать прошлое на будущее несколько рискованно. Но в общем мы можем сказать, что Робот в тесте показал хорошие результаты.
Во вторых можно пойти по более сложному но и более точному пути. Для этого открываем в результатах теста вкладку "Сигналы".
На этой вкладке мы видим все сделки Робота расположенные в хронологическом порядке с указанием времени сделок с точностью до секунд. Жмем на этой странице правой кнопкой мыши и кликаем на появившуюся кнопку "Экспорт" и в итоге получаем список сделок в Экселевском файле. Ну а из Экселевского файла со сделками мы можем произвести любые расчеты дохода и доходности.
Самое простое, мы можем просто посчитать среднесуточные затраты на покупку уровней за вычетом продажи уровней и разделив Прибыль заработанную Роботом 6 791,05 рублей на среднесуточные затраты получим доходность.
А можем пойти еще дальше и через функцию Эксель ЧИСТВНДОХ (или XIRR, это то же самое), рассчитать доходность. Это уже будут точные расчеты доходности работы Робота.
Заключение.
Как видите, расчет доходности Робота на стратегии StepByStep не самая простая задача, но при желании все решаемо. Главное понимать, с чем мы имеем дело. Ну и конечно если мы считаем годовую доходность, не забудьте к доходу Робота прибавить полученные по активу дивиденды. Ведь в очередной раз подчеркиваю, Робот на основе стратегии StepByStep это прежде всего инвестиционный робот. Правда доход именно от продажи уровней больше заработанных дивидендов.