Если в Форекс Клубе Вас кинули, то сообщите об этом нам [email protected] - возврат средств от forex-мошенника, пишите …

Тестирование и улучшение трендовой системы

Тестирование трендовой системы на лонгах и шортах

По эквити заметно, что в случае полностью реверсивной системы прибыль увеличивается более равномерно

трендовая система
трендовая система

Если ваша любимая система показывает на тестируемом периоде устраивающие вас 50% не спешите радоваться. Если за это же время рынок вырос на 100%, поводов для радости у вас может и не быть. Что показала бы ваша система если бы рынок за то же время упал процентов на 30%?

Поэтому показатели риска и доходности на тестируемом периоде для лучшей оценки "надежности" системы нужно сравнивать с теми же показателями для системы B&H (buy and hold, купил и держи). Если соотношение риск/доходность у вашей системы выше чем у B&H, все идет замечательно, если нет, смысл торговли такой системой становится неочевидным.

Все становится еще более запутаным если учесть что система может торговать не только лонги, но и шорты. Если лонговую часть системы можно оценить сравнивая ее с B&H системой, то шортовую часть можно сравнивать по доходности с некой обратной системой, чью доходность можно полагать равной доходности B&H с обратным знаком. Конечно, странно думать о доходностях в -100% или -200% однако в данном случае речь идет всего лишь о "накопленной" сумме убытков, которая в реальной жизни при торговле с реинвестированием (убытков, в данном случае) превратится в полне разумные, хоть и неприятные -50% и -67% соответственно. Для рассчета обратной доходности с учетом реинвестирования можно пользоваться формулой short_profit=100*(1-exp(-ln(1+long_profit/100))), где long_profit - положительная доходность в процентах.

Так, если рынок вырос на 40% а шортовая часть вашей системы показала 0% не спешите выкидывать ее и переходить к торговле только лонгами. На самом деле эта часть системы была на 40% лучше рынка и лишь тот факт что рынок все время двигался против шортов не позволил ей проявить себя с лучшей стороны.

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

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

падающий и растущий рынок
падающий и растущий рынок

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

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

В качестве примера протестируем эффективность трендовой системы на пробое канала. Покупка происходит на пробое верхней границе ценового канала, продажа происходит на пробое нижней границы канала. Тестируем на 5-минутках РАО ЕЭС за период с 1 января 2002 по 13 января 2004. Цена транзакции 0.1%. За это время рынок вырос на 81%, максисмальное падение составило 57%.

Зависимость доходности системы
Зависимость доходности системы
 

Зависимость доходности системы (только лонги) от длины канала.

Зависимость максимальной просадки системы
Зависимость максимальной просадки системы

Зависимость максимальной просадки системы (только лонги) от длины канала.

Как видно, средняя по параметру (длина канала от 50 до 500) доходность системы на лонгах составила около 160%, однако по отношению к общему росту рынка эта величина составляет 80% и именно эту оценку доходности следует рассматривать как реальную характеристику системы.

Зависимость доходности системы (шорты)
Зависимость доходности системы (шорты)
 

Зависимость доходности системы (только шорты) от длины канала.

Зависимость максимальной просадки системы (шорты)
Зависимость максимальной просадки системы (шорты)

Зависимость максимальной просадки системы (только шорты) от длины канала.

Несмотря на то что средняя доходность системы на шортах составила всего 25%, это связано с общим ростом рынка на рассматриваемом периоде, делающим игру на понижение не слишком эффективным занятием. Однако если сравнивать эту доходность с инвертированной доходностью B&H системы -81% (что с реинвестированием убытков дает -45%), то система на шортах показывает себя на 70% выше рынка.

Таким образом имеем систему на лонгах на 80% (34% годовых) лучше рынка и систему на шортах 70% (30% годовых) лучше рынка. Поэтому вполне разумным будет предполагать доходность полностью реверсивной системы в 64% годовых (170% за два года с реинвестированием) годовых вне зависимости от направления движения рынка.

Доходность системы (лонги и шорты)
Доходность системы (лонги и шорты)
 

Доходность системы (лонги и шорты) в зависимости от длины канала.

Максисмальная просадка системы (лонги и шорты)
Максисмальная просадка системы (лонги и шорты)

Максисмальная просадка системы (лонги и шорты) в зависимости от длины канала.

Доходность риск системы (лонги и шорты)
Доходность риск системы (лонги и шорты)
Доходность/риск системы (лонги и шорты) в зависимости от длины канала.
 

Однако ценой за такую универсальность станет некоторое увеличение максимальной просадки, которая составит в среднем 40% против 30%-35% у лонгов.

Пробуем добавить фильтра, который исключит одновременную работу лонгов и шортов. Вводим параметр trend, который определяется как LinRegSlope(close,3*bars). Если общая тенденция положительна, лонги разрешены, если отрицательна, разрешены шорты.

Система с фильтром (лонги и шорты)
Система с фильтром (лонги и шорты)

Система с фильтром (лонги и шорты). Доходность от длины канала.

Максимальная просадка от длины канала
Максимальная просадка от длины канала

Система с фильтром (лонги и шорты). Максимальная просадка от длины канала.

Доходность риск от длины канала
Доходность риск от длины канала

Система с фильтром (лонги и шорты). Доходность/риск от длины канала.

Как видно, фильтр снизил максимальную просадку системы, при этом отношение риск/доходность для более длинных систем значительно улучшилось.

Эквити системы (только лонги)
Эквити системы (только лонги)
 

Эквити системы (только лонги), длина канала 200 баров.

Эквити системы (лонги и шорты)
Эквити системы (лонги и шорты)

Эквити системы (лонги и шорты), длина канала 200 баров.

Эквити системы с фильтром (лонги и шорты)
Эквити системы с фильтром (лонги и шорты)

Эквити системы с фильтром (лонги и шорты), длина канала 200 баров.

По эквити заметно, что в случае полностью реверсивной системы прибыль увеличивается более равномерно.

Для интересующихся привожу текст системы (AmiBroker):

Тестирование трендовой системы на лонгах и шортах
Тестирование трендовой системы на лонгах и шортах

bars=Optimize("bars",200,10,500,10);

HS=Ref(HHV(H,bars),-1);

LS=Ref(LLV(L,bars),-1);

Buy=Cross(H,HS);

BuyPrice=Max(HS,O);

Sell=Cross(LS,L);

SellPrice=Min(LS,O);

Short=Sell;

ShortPrice=SellPrice;

Cover=Buy;

CoverPrice=BuyPrice;

Система с фильтром:

bars=Optimize("bars",200,10,500,10);

HS=Ref(HHV(H,bars),-1);

LS=Ref(LLV(L,bars),-1);

trend=IIf(Ref(LinRegSlope(C,3*bars),-1)>0,1,0);

Buy=trend AND Cross(H,HS);

BuyPrice=Max(HS,O);

Sell=Cross(LS,L);

SellPrice=Min(LS,O);

Short=NOT(trend) AND Sell;

ShortPrice=SellPrice;

Cover=Cross(H,HS);

CoverPrice=BuyPrice;