Мы выражаем благодарность команде TSLab.pro и лично Андрею Артышко, за отличный торговый терминал с возможностью тестирования и оптимизации торговых стратегий!
Мы разработали Конструктор стратегий, в котором изменением настроек будем тестировать одну из классических торговых стратегий. Рассмотрим влияние математических и статистических моделей на доходность этой стратегии.
Исходные данные
Для примера мы возьмем:
— Котировки на фьючерс РТС (RIZ1);
— Таймфрейм 1М;
— Классическую трендследящую торговую стратегию пересечения скользящих средних. Если быстрая скользящая пересекает медленную снизу вверх, то открываем лонг. В обратном случае, открываем шорт.
— Тейк-профит и стоп-лосс возьмем, например, по 1%. (Сейчас не принципиально 2, 3, 5 или 10 процентов брать. Переоптимизация нам не нужна. Главное, чтобы соотношения тейка и стопа были 1 к 1, без вероятностного перевеса исполнений выходов в одну из сторон.);
— Включена торговля и от лонга, и от шорта. До тех пор пока держим позицию сигналы на открытие противоположной позиции игнорируются.
Заметим сразу, что у нас сейчас нет задачи найти самые лучшие значения параметров стратегии, которые дали бы максимальную прибыль.
Задача понять как различный дополнительный функционал способен влиять на доходность стратегий.
Помимо доходности мы также будем отслеживать риск (просадки).
Важное замечание для начинающих, просадка, это далеко не всегда убыток от вашего депозита. Просадка, это снижение прибыли от максимальных значений прибыли. А максимальная просадка, это максимальное снижение прибыли от одной из вершин кривой доходности.
Незафиксированная просадка, это ещё не убыток! Это лишь бумажная (теоретическая) неприятность. Рынок может восстановиться и доходность может выйти на свои новые вершины. Это нужно понимать. Но и в голове всегда нужно держать тот факт, что чрезмерный риск (максимальная позиция и большие маржинальные плечи) вероятнее всего приведут к реальным убыткам.
Фьючерс RIZ1, на удивление, просто отлично должен подойти для тестов, так как он содержит в себе сразу 3 ярко выраженные фазы рынка: растущий тренд, снижающийся тренд и флет (боковое движение цены).
Итак,
возьмем индикаторы EMA(50) и EMA(200). Первый, это быстрая скользящая средняя, второй — медленная. Здесь тоже не принципиально какие периоды заданы. Важно чтобы первый период был в 2-4 раза меньше второго. В этом случае скользящие средние будут сильнее отличаться друг от друга на трендах. Если взять EMA(14) и EMA(50), то это более быстрая пара скользящих средних. Они будут быстрее подстраиваться под рынок. Будет больше сигналов на вход, а значит и больше сделок. Это не всегда хорошо, особенно на самом шумном таймфрейме 1М.
Совет: если поставлена задача торговать трендследящие стратегии, то желательно присмотреться к
ТФ 15М — 30М. На более мелкий ТФ много шума, а на более крупных ТФ будет запаздывание по сигналам, как на вход, так и на выход из позиции.
Выполним бэктест (тестирование на исторических данных) для RIZ1, ТФ 1М, EMA(50) и EMA(200).
Результаты:
Доходность в год: 24.81%
Доходность в месяц: 1.84%
Макс. просадка %: -6.99%
Профит фактор: 1.09
Фактор восстановления: 0.65
Коэф. выигрыша: 2.51
В правом нижнем углу мы видим растущую доходность выделенную зеленым цветом. На трендах доходность стабильно растет. В точке разворота тренда и на флете наблюдаются просадки. Это сильные и слабые стороны данной классической стратегии. Радует то, что по доходности мы уже обгоняем стратегию «купил и держи» (синий график).
Подключим усреднение
Шаг сетки усреднения тоже возьмем, без оптимизации, например, равный 1000 пунктов.
На каждом уровне в 1000 пунктов мы будем увеличивать нашу позицию ещё на 1 лот. То есть, для лонга, при снижении цены на 5000 пунктов текущая позиция будет равна 5.
Объемы и шаг сетки можно настраивать как угодно. Чем больше мы зададим объемы на дальних уровнях, тем выше будет потенциальная прибыль и тем глубже будут просадки, так как риск возрастет.
Мы не сторонники выкручивать агрессивность на максимум. Во всём нужно знать меру!
Результаты:
Доходность в год: 86.33%
Доходность в месяц: 5.25%
Макс. просадка %: -4.7%
Профит фактор: 1.27
Фактор восстановления: 2.64
Коэф. выигрыша: 2.63
Мы видим, что доходность стала выше, а максимальная просадка снизилась. Фактор восстановления значительно улучшился!
Подключим систему ставок
После убыточного трейда мы откроем новую позицию уже не предыдущим фиксированным объемом, а объемом немного больше. Это чтобы при очередном прибыльном трейде получить прибыль от позиции с максимальным объемом из тех на которые ранее были получены убытки. Это не Мартингейл. Риск здесь не возрастает в геометрической прогрессии, а увеличивается плавно и вполне можно выдерживать убыточные серии из 20-30 проигрышей подряд. Мартингейл же на 5-7 уровне уже не позволит продолжать основной массе игроков. Да и смысла в нем нет, так как он не имеет положительного матожидания. Итак, что по результатам?
Результаты:
Доходность в год: 420%
Доходность в месяц: 14.5%
Макс. просадка %: -26.7%
Профит фактор: 1.24
Фактор восстановления: 0.91
Коэф. выигрыша: 2.7
Мы видим, что доходность стала значительно выше, но и максимальная просадка увеличилась. Риск возрос, так как объемы торговли стали больше. Всё закономерно.
Подключим фильтр «Запрет на повторный вход после убыточного трейда»
То есть, если торговля от лонга идет в прибыль, то мы торгуем и дальше. А если сработал стоп-лосс, то вполне возможно, что рынок меняется и мы теперь будем пробовать зарабатывать от шорта. Как только коррекции на падающем рынке станут настолько большими, что снова сработает стоп-лосс, мы заканчиваем с шортовыми позициями и начинаем ждать сигнала на лонг. Довольно простой, но эффективный фильтр.
Результаты:
Доходность в год: 788%
Доходность в месяц: 19.67%
Макс. просадка %: -8.57%
Профит фактор: 2.1
Фактор восстановления: 5.67
Коэф. выигрыша: 3.15
Мы видим, что доходность стала гораздо больше, а максимальная просадка уменьшилась более, чем в 3 раза!
Можем ли мы ещё улучшить стратегию? Вполне вероятно, что на трендах бывают настолько сильные коррекции, что система начинает принимать их за разворот тренда и мы получаем сделки против тренда. Было бы не плохо отфильтровать их.
Подключим фильтр сделок против тренда
Сразу видим, что кривая доходности стала более плавная. То есть, более предсказуемая и более прогнозируемая! Это очень хорошо.
Результаты:
Доходность в год: 845%
Доходность в месяц: 20.277%
Макс. просадка %: -6.3%
Профит фактор: 2.21
Фактор восстановления: 5.87
Коэф. выигрыша: 3.57
Мы видим, что все параметры улучшились! Значит мы системно отсекли плохие входы и убыточные сделки.
Можно ли ещё как-то улучшить стратегию? Безусловно можно. Для этого есть модуль оптимизации. С помощью него можно найти более точные значения параметров стратегии, которые приведут к ещё лучшей доходности и ещё меньшей просадке. Также можно поискать счастье в подключении к закрытию позиции фиксированных тейк-профитов и тейк-профита по RSI, то есть, в момент кульминации движения. Обычно это позволяет брать максимальную прибыль, но кривая доходности при этом будет более ступенчатая, так как приходится дольше выжидать эти кульминации.
Можно ли изначально выбрать торговую стратегию с более точными входами и уже к ней добавить все эти улучшения? Конечно можно. Стратегия пересечения скользящих средних показана для примера. Более перспективные стратегии Вы сможете разработать самостоятельно на базе доступного функционала. Заметим, DeskBot развивается и впереди Вас ждет ещё много обновлений и улучшений. Мы будем рады любым конструктивным рекомендациям! Обращайтесь!
Конкурс! Если Ваш комментарий наберет больше всего плюсов/лайков, то Вы получите возможность целый месяц бесплатно тестировать свои идеи и торговые стратегии в Конструкторе DeskBot.net, а также сможете торговать по своим стратегиям!
И если при этом Вы поделитесь ссылками на нашу публикацию в своих соц.сетях, то срок действия лицензии будет 2 месяца!
Акция: если по вашей рекомендации кто-то приобретет у нас Конструктор DeskBot, то Вы вправе получить либо аналогичный продукт с подобной лицензией, либо денежное вознаграждение 5000 рублей.
Если публикация наберет более 100 лайков, мы сделаем сравнение стратегий по точкам входа в позицию и сравнение по сигналам на выход из позиции.
Не забудьте сохранить публикацию в избранное!
Мы оставляем за собой право удалять отзывы хейтеров без объяснения причин. Просим уважать друг друга и выражать свои мысли в спокойно и культурной манере.
Спасибо, что Вы с нами!
С уважением,
Команда проекта
DeskBot.net
Резюме: для трендовых систем наиболее актуальные методы улучшения стратегии это пирамидинг (докупка по пути) и запрет повторного входа в ту же сторону после убытка, наиболее худшие — увеличение контрактов после убытка.
думаю привязка к волатильности бы тоже помогла, например стоп не 1% а atr или stDev
DeskBot.net, кстати
Может все таки для шорта? Или я не понял идею…Да
Да
Спасибо, что вы с нами!
Результаты могут быть как лучше, так и хуже. Одно можно сказать с уверенностью, что именно такая же доходность точно не произойдет, так как рынок будет отличаться от текущего. И это вполне нормально.
Благодарим Вас за критическое мышление и за комментарии.
Спасибо, что Вы с нами!
Очень сложный был рынок. Постоянно его разворачивало. Много гэпов и в целом это волатильный флет (боковик).
Трендследящие стратегии на таком рынке будут стабильно сливать, если только не фильтровать сигналы и не применять модели управления капиталом. Настройки стратегии немного отличаются от настроек под RI, так как характер инструментов сильно разный.
Прикладываю результаты бэктеста за 2021 год для фьючерса Si:
Спасибо, что Вы с нами!
Стратегии с фиксированным объемом тоже имеют право на жизнь. Но отсутствие системы управления капиталом значительно снижает их эффективность. Все остальные фишки с фильтрами работают аналогично.
Если под «плоским» объемом Вы имели ввиду горизонтальные объемы, то на текущий момент в Конструкторе данный функционал отсутствует. При интересе к данному вопросу со стороны клиентов вполне можно будет добавить и его в Конструктор.
Спасибо, что Вы с нами!
Например, тот же фильтр не входить после убыточной сделки неплохо может спасти от жестких падений когда рынок валится. Только надо продумать, чтоб теор. сделки вычислялись, а иначе первая же убыточная прекращает торговлю)). Не это ли, кстати, так повысило PF?)) — Типа победная серия до первого убытка — всё, считаем PF.
Бог кроется в мелочах!
«Спасибо, что Вы с нами»
По мне так подобная официальщина ещё уместно в крупных компаниях — там где сотни людей контактируют с клиентами и их надо как-то контролировать. А в небольших по-моему более чем достаточно человеческого обычного языка, вежливости и позитивного настроя.
Руками действительно копать золото сложно. Не даром же умные люди придумали лопаты. Полезная штука. Рекомендуем обратить на них внимание!
Спасибо, что Вы с нами!
Кстати, предложите к продаже ваше золото! Или еще не нашли?
Возьмем к примеру QUIK. Вроде тоже отечественный разработчик, но бэктестов нет, оптимизации нет, удобного конструктора роботов нет, защиты кода нет и много ещё чего нет. А TSLab дает возможность бесплатно собирать и тестировать свои стратегии. Где же благодарность? Нет ни её, ни совести. Грустная история.
В любом случае, желаем Вам успехов!
Спасибо, что Вы с нами!
Спасибо, что Вы с нами!
Продажа опционов может привести к неограниченному убытку. Лучше рассматривать их покупку. Но в этом случае покупать придется Путы, а как мы знаем, это не просто сделать в виду их малой ликвидности. Как вариант, можно собрать на втором счете синтетическую позицию аналогичную покупке Пута, из покупки Кола и продажи двух фьючерсов. И использовать её в виде хеджа. И при этом спекулировать только от лонга. Такой вариант используют некоторые наши клиенты уже несколько лет, и довольно успешно. Так что, Ваши мысли работают в правильном направлении. На этом заработать можно. Желаем Вам успехов!
Спасибо, что Вы с нами!