Блог им. tradezen

Как устанавливать стоп-слосс в торговой стратегии

Стратегия очень простая. Дневной таймфрейм. Акции сбербанка. Ждём 4 закрытия подряд вниз (когда закрытие ниже открытия). На следующий день на открытии дня покупаем, а на закрытии продаём. Повторяем тоже самое для продаж, только наоборот. Ждём 4 закрытия подряд вверх. На следующий день продаём на открытии и откупаем на закрытии. Всё это делаем с 5 плечом. Комиссию я считал 0,06% за сделку.

Так выглядит график:
Как устанавливать стоп-слосс в торговой стратегии
График возврата при 4 одинаковых закрытиях подряд и 5 плече

Как видно до 1 октября 2020 (пунктирная линия) график выглядел отлично. Сегодня посчитал до 1 декабря и всё уже не так радужно. Но тем интереснее будет понять, как на стратегию повлияет стоп-лосс. Нужно найти такой стоп, который будет уменьшать максимальные потери, но при этом и не уменьшать возможные выигрыши. Ведь по стопу может выбить раньше, чем будет закрытие.

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

Как устанавливать стоп-слосс в торговой стратегии
Покупки и на сколько максимально цена движется вниз после открытия

Тут разумно установить стоп -3,5%. Так мы избежим потерь больше 5% и выигрышные сделки так же останутся. Если стоп поднять до -2,5%, то самая выигрышная сделка больше 10% тоже вылетит по стопу, так как движение цены вниз при этом было больше -2,5%.

Теперь посмотрим на сделки при продажах. Тут будем сравнивать с графиком, на сколько цена движется вверх после открытия.

Как устанавливать стоп-слосс в торговой стратегии
Продажи и на сколько максимально цена движется вверх после открытия

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

Теперь посмотрим на все сделки с плечом:

Как устанавливать стоп-слосс в торговой стратегии
Сделки в исходной стратегии. Видно что потери в одной сделке бывают больше 20%

Как устанавливать стоп-слосс в торговой стратегии
Сделки с учетом найденных стопов. Видно что потери не превышают 20% в одной сделке

А теперь посмотрим график возврата:

Как устанавливать стоп-слосс в торговой стратегии
Кажется, что общий возврат в итоге снизился

Но если посмотреть на статистику (без стопов, со стопами):
— Доходность стратегии на последний день 2300% и 2500%
— Процент прибыльных сделок 53% и 52%
— Максимальный доход в сделке 51%
— Максимальная потеря в сделке 28% и 18%
— Средний доход в сделке 9,6% и 10,3%
— Максимальная просадка 58,6% и 69,5%
— Профит фактор 1,2 и 1,3
— Коэффициент Шарпа 2 и 2,2

Что дали такие стопы?
— Уменьшение максимальной потери за день на 35%
— Увеличение максимальная просадки на 17%
— Увеличение среднего дохода в сделке на 7%

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

Как считал доходность, рисовал графики и считал статистику можно посмотреть в телеграме t.me/zenoftrading
★8
11 комментариев

Хочу поблагодарить за подобные статьи.

Я пока только собираюсь осваиваться в алготрейдинге и мне невероятно нравится подача и объяснения, кристально ясно что, как и зачем делается.

Надеюсь вы продолжите в таком же духе!

 

P.S. Пользуясь моментом хотел спросить может вы посоветуете какой-то цикл материалов/курс для пошагового освоения алгоритмической торговли без того чтобы сразу зарываться в глубоко теоретические книги. Меня интересует именно подход со стороны Python, он мне намного ближе по душе нежели другие ЯП)

avatar
Mykhaylo Kolesnik, спасибо! Да, буду продолжать. Планов много.

А на счёт курса. Я частично проходил вот этот курс www.udemy.com/course/python-for-finance-and-trading-algorithms/ Стоит что-то около 1000 рублей. Правда на английском. Я прошёл там часть, которая касается работы с dataframe. Мне сильно помогло. Остальное в интернетах искал.
avatar
zenoftrading, вопрос. А почему именно питон? Почему не Матлаб, R или какая нибудь готовая программа для разработки стратегий (tslab например)? Мне кажется, в питоне придётся слишком многое делать с нуля. Разве нет? 
avatar
Михаил К., потому что питон более универсальный и я его уже немного знал. Мне нравится синтаксис и философия питона. На нём можно посчитать тоже, что и в матлабе и R.

Тслаб совсем узкий и платный инструмент. Мне хочется гибкости. Чтобы стратегию можно было прикрутить потом не только на мосбирже, а в интерактивброкерс, например. Или на криптобиржах.
avatar
zenoftrading, ну, насчёт гибкости питона я согласен (двусмысленность получилась ). Я имею некоторое знакомство с этим языком, и его философия мне нравится очень!.. Но! Вот вы сейчас тестируете довольно базовые концепции. А что, если вам захочется поверить что нибудь более сложное — например пробой трендовых линий или каких-то графических паттернов? По сравнению с узкими программами, заточенными специально под это, вам придётся потратить на порядки (то есть именно так, в 10 и более раз) больше времени, чем, например в Tradestation.
А как насчёт портфельного тестирования и портфельной оптимизации? Walk forward testing? 
У меня есть некоторый опыт с Amibroker, и я не перестаю удивляться, насколько мощная эта программа как раз для решения такого рода задач. Я просто не представляю, как что-то подобное можно было повторить средствами алгоритмического языка общего назначения. 
avatar
Спасибо за статью, интересно. Но к самому алгоритму — вопросы. Много. Почему 4 дня а не 3 или 6? Вызывает сомнения.

Присоединяюсь к вопросы — можете какие-то книги / статьи посоветовать по теме?
avatar
Alex, https://smart-lab.ru/blog/660492.php вот тут есть ответ, почему 4 дня.

Курс пососветовал выше. Из книг могу посоветовать Долгосрочные секреты краткосрочной торговли Ларри Вильямса. Я планирую все идеи оттуда проверить.
avatar
Стратегию еще Твардовский с Паршиковым озвучивали.

«Акция крайне редко падает более четырех дней подряд. Поэтому на пятый день ее нужно покупать. Если падение продолжилось, значит покупать не следовало.» ©
avatar
bocha, в этом случае усредняются на 10й-11й свече )))
avatar
Интересное исследование, то есть если до стопа не дошло за день закрывать в 18:40 по текущей цене?
avatar
AlexGood, в реальности видимо да. Я считал прям по закрытию.
avatar

теги блога zenoftrading

....все тэги



UPDONW
Новый дизайн