Блог им. gift

Ценная подборка №18. Скользящие стопы. Сравнительный анализ 8-ми способов закрыть позицию.

Есть много разных версий, насчет того, какого размера должен быть предельный убыток, но большинство предпочитают использовать 2% стоп. То есть выходить из убыточной позиции, как только цена опустилась на 2% ниже цены покупки. Строго говоря, это не самый эффективный метод расчета стоп-лосса, но он может спасти от разорения большинство трейдеров. говоря «трейдеров», я не имею в виду людей, обожающих увеличивать убыточные позиции. Их не спасет ничто, и их разорение это всего лишь вопрос времени. 

Но речь сегодня пойдет не об управлении капиталом, а о не менее интересной и важной вещи. Если с первой частью «золотого правила» все более-менее ясно, то вторая часть вызывает гораздо больше вопросов. «Тренд — твой друг» — вторая по популярности трейдерская теорема. Мы все хотим поймать долгую тенденцию, которая может принести наибольшую прибыль. Но как часто мы ошибались, выходя из тренда слишком рано… Обидно наблюдать, как растет цена акции, из которой ты только что вышел. Снова войти становится боязно, а смотреть на упущенную прибыль — просто не выносимо. Или бывает ситуация, когда сидишь в тренде до последнего. Сидишь так долго, что ситуация на рынке уже изменилась и трендовый поезд мчится в другую сторону. Прибыль от сделки, только что казавшаяся такой приятной и осязаемой, стремительно уменьшается. Трудно закрыть позицию, которая только что могла дать в два раза больше прибыли. Но еще хуже, если прокараулив нужный момент, нам приходится закрывать потенциально хорошую сделку с убытком. Знакомые ситуации, не правда ли?

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

— тестирование будет проводиться на склеенном фьючерсе на индекс РТС, 15-минутные интервалы;
— открытие длинной позиции при обновлении 15-барного максимального значения по стоп-приказу;
— выход из убыточной позиции при достижении обычного 2% стоп-лосса;
— тестируется торговля одним контрактом, комиссия и проскальзывание не учитывается;
— делаю допущение, что инструмент «фьючерсРТС» является обычной акцией с ценой, равной значению фьючерса в пунктах. То есть все расчеты ведутся в рублях, гарантийное обеспечение и «плечо» не используются.

Итак, получен сигнал о том, что впереди нас ждет хорошее трендовое движение. Цена обновила локальный максимум, позиция открыта и выставлен защитный приказ на 2% ниже цены покупки. Если цена не оправдает наши ожидания и пойдет вниз, то мы примем небольшой убыток и будем терпеливо ждать следующий сигнал на покупку от своей торговой системы. А если цена пошла вверх, то мы начинаем считать прибыль и раздумывать, как бы выжать из тренда побольше и не передержать открытую позицию. 
Самый простой способ выхода из тренда — это дождаться, пока цена закрытия бара не окажется ниже определенной средней. Очень удобный и понятный в расчетах метод. Поскольку тренд по своей сути подразумевает восходящее движение цены, то последующие цены закрытия баров будут находиться выше предыдущих. Таким образом, среднее значение цен закрытия всегда будет ниже, чем цена закрытия последнего бара. Если же цена снижается ниже своего среднего значения, то нарушается основной принцип тренда и можно констатировать его окончание. Протестируем первую стратегию. 

№1 Выход из длинной позиции, если цена закрытия оказалась ниже своей скользящей средней. 


Поскольку, при открытии позиции мы использовали максимальное значение за последние 15 периодов, то и для закрытия позиции будем использовать тот же временной интервал. Значит, в качестве параметра усреднения для своей скользящей средней будем использовать цены закрытия последних 15 баров. Смотрим статистику:

 

Всего совершено 1200 сделок, из которых 57% оказались убыточными. Это вполне сносный показатель для трендследящей системы. Главным свойством таких систем является ловля больших, но редких трендов и страдание от множества мелких убытков. Так и есть: средняя прибыльная сделка приносит почти в два раза больше денег, чем мы теряем при фиксации убыточной сделки. Примечательно, что до стоп-лосса цена доходит очень редко, раньше пересекая свою скользящую среднюю. В среднем мы получим 0,23% прибыли на сделку. Маловато, конечно, но при торговле маленьким депозитом и это может принести хорошую итоговую прибыль. Единственным серьезным минусом является длительная серия убыточных сделок. В нашем случае тесты показали 14 убыточных сделок подряд. 

Основным недостатком при использовании рассмотренного выхода является сильная зависимость от случайного «шума». Поскольку условие выхода зависит от цены закрытия последнего бара, то рыночные колебания могут выбросить нас из тренда, случайно заскочив в область, где будет подан сигнал закрытия позиции. При этом тренд вполне может продолжиться после локальной приостановки. Чтобы избежать этого, можно учитывать среднюю цену нескольких периодов вместо одной. Вероятность случайного выхода при этом уменьшится, но и немного замедлится реакция системы на рыночные изменения. Если раньше было достаточно, чтобы всего один бар пересек свою скользящую среднюю, то теперь необходимо дождаться нескольких закрытий подряд. Таким образом, приходится жертвовать накопленной прибылью ради возможности просидеть в тренде подольше и получить еще большую прибыль. Протестируем вторую стратегию.

№2 Выход из длинной позиции, если быстрая средняя пересекла медленную сверху вниз.

Под медленной скользящей средней мы имеем в виду среднее значение цен закрытия за последние 15 баров, по которым мы идентифицируем наличие трендового движения. Под быстрой — усредненное значение последних трех закрытий, для фильтрации случайного рыночного шума. Смотрим статистику:




Сразу бросается в глаза, что максимальная последовательная серия убыточных сделок сократилась с 14 до 9. Это означает, что в предыдущем испытании нас несколько раз выбрасывало из тренда на самом старте, когда цена случайно оказывалась ниже своего 15-периодного значения. Из-за того, что мы теперь фильтруем рыночный «шум», средняя продолжительность сделки немного выросла. Как следствие, сократилось общее число сделок на том же тестовом интервале. Средняя прибыльная сделка немного возросла с 1,53% до 1,64%. Но и средний убыток пропорционально вырос, поэтому итоговый показатель прибыли на сделку практически не изменился. 

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

№3 Выход из длинной позиции, если цена достигает нового локального минимума.

Напомню, что мы тестируем стратегии, в которых длинная позиция открывается во время достижения ценой максимального значения за 15 временных периодов. Поэтому и закрывать позицию будем при обновлении ценой своих минимальных значений в 15-барном интервале. Обе предыдущие стратегии показали средний убыток значительно лучше установленного 2% лимита потерь. Это происходило потому, что сигнал на выход из позиции поступал раньше и вполне возможно душил тренд, не оставляя ему простора для старта. Поэтому в третьей стратегии введем дополнительное условие, что позиция будет закрываться или выше цены покупки, или по стоп-лоссу. Смотрим статистику:




Сразу бросается в глаза, что система кардинально от двух предыдущих. Благодаря дополнительному параметру значительно выросло число прибыльных сделок с 44% до 52%, сократилась максимальная продолжительность убыточных сделок, выросла прибыльная серия и заметно выросла средняя прибыль на сделку с 0,23% до 0,34%. Это стало возможно благодаря более длительному удержанию тренда. Позиция держится теперь почти в два раза дольше, но вот предельная отдача от такой длительности, к сожалению, сильно упала. Если в первой стратегии мы получали 19 рублей прибыли за каждый удержанный бар, то теперь мы имеем всего лишь 10 рублей. Малоприятный, но не критичный факт, ведь конечная цель трендследящих стратегий — выжать максимум прибыли из каждой сделки. А вот на что действительно стоит обратить внимание, так это на глубину просадки. Если раньше мы могли получить 9 убытков подряд по 0,8% каждый, то теперь средний убыток вырос почти в 2 раза. Наш введенный дополнительный параметр практически исключил закрытие убыточной сделки до достижения уровня стоп-лосса. Из-за этого также заметно упал фактор восстановления этой торговой системы. 

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

№4 Выход из длинной позиции, если цена, достигнув нужного уровня прибыли, начинает ее терять.

При постановке трейлинг-стопа необходимо указать, как минимум, два параметра. Первое — это указать, на какую прибыль мы ориентируемся, и по достижении которой активируется второе дополнительное условие для фиксации прибыльной позиции. И второе — собственно доля прибыли, потеряв которую активируется приказ на закрытие позиции. Для примера рассмотрим следующие параметры: мы не хотим рисковать более чем одной пятой от прибыли свыше 4%. Эта логическая мысль означает очень простую и удобную вещь, а именно: открыв позицию в ожидании тренда, мы ждем роста. И как только рост составил 4%, включается скользящий стоп-приказ на закрытие позиции в районе 3,2% прибыли. Если цена идет вниз и касается нашего стоп-приказа, то происходит закрытие позиции с 3,2% прибыли. Но ведь мы пока не закрылись, потому что ждем продолжения банкета. Если прибыль составит 5%, то скользящий стоп автоматически сместится на уровень 4%. Теоретически, такой способ позволяет получать неограниченно большие прибыли, рискуя всего лишь малой долей этой самой прибыли. Единственно существенный недостаток, что трейлинг-стоп больше ориентирован на гладкие и размеренные тренды без существенных коррекций. И случайные шумовые или коррекционные колебания с легкостью могут выбить вас из позиции, оставив лишь часть накопленной прибыли. Смотрим статистику:



Сразу же замечаем, что средняя прибыль на сделку существенно выросла. Ведь с каждой прибыльной позиции мы забираем как минимум какую-то часть накопленной прибыли. Но вот количество прибыльных сделок упало до унылых 40%. Скользящий трейлинг-стоп не воспринимает позицию как прибыльную, если прибыль не достигла установленных ориентиров. И полтора, и два, и даже три процента накопленной прибыли по сделке в этом случае не защищаются никак вообще, и превращаются в гарантированный 2% убыток по стоп-лоссу. Конечно, можно попробовать установить параметр ожидаемой прибыли поменьше, тогда и трейлинг-стоп будет срабатывать чаще. Вырастет количество прибыльных сделок, но и средняя прибыль на сделку станет меньше. Более глубокий анализ, возможно, будет проведен в следующих статьях, а пока просто рассмотрим остальные показатели системы.

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

Из всего выше сказанного вытекает следующий интересный вывод, что почти вся эффективность трейлинг-стопов зависит от уровня ориентируемой прибыли, при достижении которой активируется приказ на фиксацию гарантированной части накопленной прибыли. Можно взять его поменьше, но тогда прибыль будет фиксироваться слишком быстро, что противоречит идее выжимать из тренда как можно больше. Чтобы решить эту проблему, можно привязать уровень ожидаемой прибыли к текущей волатильности. Если на рынке царит нервозность, то цены совершают очень большие амплитудные колебания. А если на рынке тишина и спокойствие, то колебания будут значительно меньше. Для измерения волатильности воспользуемся самой простой статистической величиной — стандартным отклонением. И протестируем пятую стратегию.

№5 Выход из длинной позиции, если величина трейлинг-стопа зависит от стандартного отклонения цены.

Чтобы рассчитать эффективность этой стратегии, слегка видоизменим ее. Теперь для расчета уровня цены будем использовать текущую рыночную волатильность. Для этого рассчитаем стандартное отклонение от цены за последние 15 баров. А для постановки приказа на закрытие позиции будем вычитать волатильность из максимального достигнутого значения. Это означает, что при достижении нового максимума цены прибыль будет фиксироваться только в том случае, если цена пройдет обратно весь путь, равный текущему значению волатильности. Смотрим статистику для пятой системы:

 

Полученные результаты более чем впечатляющи! Итоговая прибыль выросла почти в два раза с 206000 до 383000. Эффективность удержания каждого последующего бара в тренде выросла почти в 7 раз с 7 до 47 рублей. Максимальная просадка сократилась почти в 5 раз до 25000 рублей. Теперь посмотрим, за счет чего это произошло. Во-первых, заметно сократилось среднее время удержания позиции с 59 до 3,6 баров! Система не использует лишнего времени для удержания позиции, а закрывает ее, как только трендовое движение показывает первые признаки прекращения роста. Конечно, это не самый оптимальный вариант для выхода из тренда, но пока это самый быстрый выход, рассчитанный, скорее, на очень короткие движения. Поскольку теперь система постоянно анализирует текущую ситуацию, то и средний убыток заметно сократился. В среднем, убыточная позицию держится не более 2 баров и забирает у нас не более 0,33%. Именно поэтому получилась такая незначительная просадка и такой хороший фактор восстановления системы — более 15. Но и этот метод выхода из тренда имеет существенные недостатки. Во-первых, средняя прибыль на сделку составляет теперь всего 0,14%, что почти в 3 раза меньше, чем у предыдущей системы. Оно и понятно: прибыль теперь просто не успевает накопиться, потому что фиксируется при малейших признаках прекращения тренда. А во-вторых, появилась большая зависимость от случайных чрезмерно удачных сделок, которые могут и не повториться. Например, в этот раз прибыль по самой удачной сделке оказалась почти в 22 раза выше средних значений. 

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

№6 Выход из длинной позиции, если величина трейлинг-стопа зависит от среднего ценового диапазона.

Для расчета среднего ценового диапазона воспользуемся стандартным индикатором технического анализа — АТР. Он, помимо усреднения дневного диапазона колебаний, учитывает возможные гэпы на открытии дня. И применим предыдущий способ постановки приказа на закрытие позиции, вычитая текущую волатильность из максимального значения предыдущего бара. Используемый приказ трейлинг-стоп позволяет подтягивать точку выхода только в направлении тренда, что и нужно нам в этих случаях. Смотрим статистику:

 

Показатели системы практически не изменились. Позиция все также фиксируется слишком рано, не давая прибыли накапливаться, поэтому средняя отдача от сделки находится на уровне 0,15%. Все же следует признать, что пока эта методика выхода из тренда не отвечает самой сути ловли трендовых движений. Без более подробного анализа и доработки этот способ не позволяет захватывать длинные тенденции и выжимать максимум прибыли. 

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

№7 Выход из длинной позиции, если цена падает ниже средней линии на величину, равную волатильности.

Для расчета волатильности в седьмой стратегии оставим метод усреднения дневных колебаний. Теперь приказ на закрытие позиции ставится ниже средней линии, учитывая средний размах колебаний за последние 15 баров. Это позволяет избежать случайного закрытия позиции рыночным «шумом», от которой страдала первая система. А в восьмой стратегии будем рассчитывать волатильность при помощи стандартного отклонения цены за последние 15 периодов. В остальном обе стратегии идентичны. Сравним систему и рассмотрим статистику:

 

Системы позволяют удерживать более длинные тренды, накапливая немногим больше прибыли, чем первая система. Но предельная отдача от каждого дополнительно удержанного периода падает до 13 рублей вместо 19 ранее. Из-за почти двукратного увеличения времени удержания позиции значительно сократилось общее количество сделок. И при незначительном увеличении средней прибыли на сделку общая прибыль по этим системам упала с 300000 до 260000. И поскольку теперь для закрытия позиции приходится ждать дольше, то и средняя убыточная сделка забирает 1% вместо 0,75% ранее. Как следствие, максимальная просадка незначительно выросла.

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

№8 Выход из длинной позиции, если цена падает ниже линии регрессии на величину, равную волатильности.

Теперь для расчета рыночной волатильности будем использовать стандартное отклонение от цены для девятой системы и индикатор собственной разработки для десятой. Проверим, что будет, если учитывать в текущей волатильности интенсивность смены краткосрочных тенденций. Такой метод позволяет увеличивать значение волатильности при боковом движении и снижать — при наличии гладких размеренных трендов. В остальном принципы постановки приказа на выход из тренда идентичны двум предыдущим системам. Смотрим статистику и сравниваем:

 

Во-первых, среднее время удержания позиции сократилось почти в два раза. Немного уменьшилась средняя прибыль на сделку, но зато заметно выросла предельная отдача на каждый дополнительно удержанный бар с 13 до 20 рублей. Незначительно выросло число прибыльных сделок, но и максимальная серия убыточных сделок увеличилась с 9 до 14. Зато максимальная просадка заметно снизилась по сравнению с двумя предыдущими системами. Поскольку, продолжительность сделки теперь заметно ниже, то общее количество сделок выросло почти в полтора раза. А при примерно сопоставимой средней прибыли на сделку это позволило увеличить итоговую прибыль системы с 260000 до 318000. Так как эти две системы более эффективно используют время удержания позиции, то и фактор восстановления системы вырос почти в два раза.




Как видно из приведенного исследования, можно разработать множество различных методик выхода из тренда. Рассмотренные здесь методы — это далеко не полный список; изменяя параметры расчета и дополняя их разными фильтрами легко составить еще несколько новых и комбинировать старые методы. Главное — не забывать, что чем проще система, тем она надежнее. И введение каждого дополнительного параметра требует тщательного анализа и, возможно, оптимизации значений. 

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


Автор статьи: Тарас Правдюк 
★168
30 комментариев
спастюо классно
avatar
сохранил, изучу на досуге. сам торгую без стопов, т.к. считаю их не стоп-лосом, а тейк-лосом.
avatar
Марат Уфимский, вообще без стопов?
avatar
Я примерно так и оптимизировал свою стратегию
капирнул на рабочий стол…
спасибо!!! плюсы даю сюда, больше никуда недают
+++++++++++++++
avatar
Overlord, я те в профиль + поставил! пиши в персональный блог я те еще поставлю и выведу из минусов
Максим Власкин, Спасибо!!! История вас незабудет.)))
avatar
Куль… Тарас молодец.
Забыл правдо еще выход по профит таргету. Для системы на «пробое» ИМХО более правильная вещь
avatar
Отличный пример того, какими должны быть посты на смартлабе.
avatar
Интересно, спасибо!
avatar
Хорошая статья!
Автору советую код стратегий выложить, что бы каждый мог поиграться и пощупать их практике живьем.
avatar
Klado_ru, Зачем код стратегий, пусть лучше сразу деньги высылает :)
avatar
dsky, Денег на этих стратегиях не заработаешь.
Ценность в образовательной плоскости.
avatar
Спасибо! Добавил в избранное, изучу потом
Спасибо за крайне содержательную статью.
avatar
имхо фигня…
трейлинг стоп это иллюзия…
есть сигнал на вход(мтс1) и есть сигнал на выход(мтс2) и где место для скользящих стопов?
avatar
А это уже действительно ценная подборка)))! Плюсую))
и кстати пост говно, т.к. афтор не крыл позу в конце дня, то он торговал на открытии в утренних гэпах, а значит все расчеты неверны…
avatar
ves2010, кстати да.
avatar
если ты входишь по максимуму, зачем выходить по закрытию? тем более 15м. закрытие на внутридневных графиках — исключительно случайная величина. на дневных, недельных — да. а на внутридневных — нет. надо либо среднюю по медиальной цене использовать, либо линии хай-лой, либо средние по лоям (в случае аптренда).
avatar
отличный пост!!! очень много полезной информациии!
плюсую! полюсую только тут, т.к. не могу нигде больше
avatar
очень полезный пост, который в отличии от множества других постов развивает не бег за чужой тенью, а прежде всего внутренний потенциал
avatar
полезный пост, плюсанул бы)
avatar
Если есть возможность объясните что за линия регрессии или формулу захотелось протестировать последние системы?
avatar
churinga, ну если по простому, то это более сложная SMA
Присоединяюсь к высокой оценке этого труда. плюсанул
Тоже плюсанул. Человек что то делал, шевелил мозгами. Это здорово помогает в отличии от обычных бла-бла-бла.
avatar

теги блога Александр Дрозд

....все тэги



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